1、变量的概念
先看下面这个案例,我们要输出10,是不是可以这么输出:
public class Demo {
public static void main(String[] args) {
System.out.println(10);
System.out.println(10);
System.out.println(10);
System.out.println(10);
System.out.println(10);
System.out.println(10);
System.out.println(10);
System.out.println(10);
System.out.println(10);
}
}
如果我想让输出的10变成20,咋办呢?是不是也可以通过修改输出语句来实现,把它变成20就行了。看下面代码实现:
public class Demo {
public static void main(String[] args) {
System.out.println(20);
System.out.println(20);
System.out.println(20);
System.out.println(20);
System.out.println(20);
System.out.println(20);
System.out.println(20);
System.out.println(20);
System.out.println(20);
System.out.println(20);
System.out.println(20);
}
}
但是,如果数据量很多呢?比如一千条、一万条数据呢?也是要这样改吗?
这时就会想,有没有修改一个地方的值就能让所有要修改的地方发生改变呢?答案是有的,我们用一个暂存位置把它存起来即可,看下图:
然后,是不是可以输出该暂存位置就把值输出了?答案是对的,下面看代码实现:
public class Demo {
public static void main(String[] args) {
System.out.println(暂存位置);
System.out.println(暂存位置);
System.out.println(暂存位置);
System.out.println(暂存位置);
System.out.println(暂存位置);
System.out.println(暂存位置);
System.out.println(暂存位置);
System.out.println(暂存位置);
System.out.println(暂存位置);
}
}
这时,我们修改暂存位置的值,变成20,看下图:
通过修改暂存位置的值,是不是不用再去修改输出到控制台的语句,只需要修改暂存位置即可。所以也就实现了修改一个地方的值就能让所有要修改的地方发生改变。
public class Demo {
public static void main(String[] args) {
System.out.println(暂存位置);
System.out.println(暂存位置);
System.out.println(暂存位置);
System.out.println(暂存位置);
System.out.println(暂存位置);
System.out.println(暂存位置);
System.out.println(暂存位置);
System.out.println(暂存位置);
System.out.println(暂存位置);
}
}
那这个暂存位置是什么呢?答:这个暂存位置就是变量,而且通过前面分析可以知道,变量里面的内容是可以发生改变的。
也就推出了,变量是什么?变量就是在程序的运行过程中,其中可以发生改变的量。从本质上来说,变量是内存中的一小块区域。
下面简单分析:
变量在电脑上总得有地方存储它吧,那它存在哪呢?答案就是存储在电脑内存中(具体怎么存储的本文不做详细介绍),所以变量是内存中一小块区域。不单单是变量,所有程序的运行都会存储到内存中。
2、变量的定义
想一下生活中的场景,朋友是不是可以分成一个大类?但是你叫你朋友出去玩,你会这样叫“朋友出去玩吗?”。不会吧,假设很多朋友在同一个地方,你朋友知道你叫哪个?对吧,所以你是不是会叫你朋友具体的名字,例如:张三出去玩吗?
因此,只有叫具体的名字,你朋友才会识别出来你再叫他,那电脑的存储位置是不是也有很多呢?所以是不是也有个存储位置名呢?答案是是的,不过不叫存储位置名,它叫变量名。
所以,变量它会有个变量名。
由于java是强类型语言,电脑需要对内容进行限定,所以需要给出明确的数据类型。
再想个场景,存储位置是存东西(内容)的吧,但是东西(内容)都没有,这个内存空间也就没有意义了,对吧,所以还得有个变量值。看下方图解:
通过前面的分析,可以得出变量的定义是:
格式:变量类型 变量名=变量值;
范例:int a = 10;
代码实现
public class Demo {
public static void main(String[] args) {
int a=10;
System.out.println(a);
}
}
3、变量使用的注意事项
(1)在同一作用域内,变量名不能重复;
public class Demo {
public static void main(String[] args) {
byte b=10;
System.out.println(b);
boolean b = true;
System.out.println(b);
}
}
运行结果
(2)long类型的变量定义的时候,为了防止整数过大,后面要加L(或l);
public class Demo {
public static void main(String[] args) {
long l = 1000000000000;
System.out.println(l);
}
}
运行结果,会出现错误
后面加L就不会报错了
因为给出一个整数默认是int类型的,虽然左边是long,但是右边其实还是int类型,而已又超出了int类型的范围,所以报错。
(3)float浮点类型为了防止不兼容的类型,所以要加F(或f)。
public class Demo {
public static void main(String[] args) {
float f= 3.14;
System.out.println(f);
}
}
运行结果
后面加F就不会报错了
因为浮点数默认是double类型,所以大的类型转成小的类型会出现精度损失。
本文为学习笔记,所参考文章均已附上链接,若有疑问请私信!
创作不易,如果对你有点帮助的话麻烦点个赞支持一下!
新手小白,欢迎留言指正!