目录
3.变量
3.1什么是变量(变量的概念)
什么是变量?
在程序中,除了有始终不变的常量外,有些内容可能会经常改变,比如:人的年龄、身高、成绩分数、数学函数的计算结果等,对于这些经常改变的内容,在Java程序中, 称为变量。而数据类型就是用来定义不同种类变量的。
3.2语法格式
![](https://i-blog.csdnimg.cn/direct/769f61078c6c40d5b9bc8bcec0c0bed4.png)
3.3整型变量
3.3.1整型变量如何定义
方式一: 在定义时给出初始值
inta= 10;
System.Out.println(a);
方式二:在定义时没有给初始值,但使用前必须设置初值,
int b;
b= 10;
System.Out.printIn(b);
使用方式二定义后,在使用前如果没有赋值,则编译期间会报错
int C;
System.Out.println(C);
C= 100;
int型变量所能表示的范围:
System.Out.println(Integer.MIN VALUE);
System.Out.println(Integer .MAX. VALUE);
注意:在定义int性变量时,所赋值不能超过int的范围
int d= 12345678901234; // 编译时报错,初值超过了int的范围
3.3.2长整型变量
3.3.3短整型变量
注意事项:
1. short在任何系统下都占2个字节
2. short的表示范围为: -32768 ~ 32767
3.使用时注意不要超过范围(一般使用比较少)
4. short的包装类型为Short
3.3.4字节型变量
3.4浮点型变量
3.4.1双精度浮点型
代码一:思考以下代码是否会输出0.5
答案是不会输出0.5
在Java中, int除以int的值仍然是int(会直接舍弃小数部分)。如果想得到0.5,需要使用double类型计算.
代码二:使用了double类型进行计算即可输出0.5
代码三:
为什么会输出这个结果而不是1.21呢,这与浮点型在计算机中的存储方式有关,感兴趣的同学可以学习一下《计算机组成原理》这本书,这里就不详细解释了。
注意事项:
1. double在任何系统下都占8个字节
2.浮点数与整数在内存中的存储方式不同,不能单纯使用2”的形式来计算
3. double的包装类型为Double
4. double类型的内存布局遵守IEEE 754标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数,势必会存在一定的精度误差,因此浮点数是个近似值,并不是精确值。
3.4.2单精度浮点型
float类型在Java中占四个字节,同样遵守lEEE 754标准.由于表示的数据精度范围较小,一般在工程上用到浮点数都优先考虑double,不太推荐使用float. float的包装类型为Float。
3.4.3单精度浮点型与双精度浮点型精度范围对比![](https://i-blog.csdnimg.cn/direct/e3c66b7f74344b6a89c05e8145b8da1d.png)
3.5字符型变量
注意事项:
1. Java中使用单引号+单个字母的形式表示字符字面值.
2.计算机中的字符本质上是一个整数. 在C语言中使用ASCII码表示字符,而Java中使用Unicode表示字符因此一个字符占用两个字节,表示的字符种类更多,包括中文.
上述代码执行javac的时候可能出现以下错误
此时我们在执行javac时加上-encoding UTF-8选项即可:
注意:
char类型的包装类型为Character
3.6布尔型变量
3.Java虚拟机规范中,并没有明确规定boolean占几个字节,也没有专门用来处理boolean的字节码指令,在Oracle公司的虚拟机实现中,boolean占1个字节。
4. boolean的包装类型为Boolean。