- 浮点数细节
- 字符型细节
- 布尔型细节
- 基本数据类型转换细节
-
与整数类型类似,Java浮点类型也有固定的范围和字段长度,不受具体OS的影响。(float4个字节,double8个字节)
-
Java的浮点型常量默认为double型,声明float型常量,须后面加’f’或者’F’
-
浮点型常量有两种表示形式
1)十进制数形式:如:0.512、0.512f、.512(必须有小数点)
2)科学计数法形式:如:5.12e2、5.12e-2 -
通常情况下,应该使用double型,因为它比float型更精确。
-
浮点数比较陷阱:2.7和8.1/3
double num1 = 2.7; double num2 = 8.1 / 3; System.out.println(num1); //2.7 System.out.println(num2); //2.6999999999 //对运算结果是小数的进行相等判断时,不能直接=比较;应该是以两个数的差值的绝对值,在某个精度范围内判断 if( Math.abs(num1 - num2) < 0.0000001){ System.out.println("equals"); }三、字符型细节
- 字符常量是用单引号(’’)括起来的单个字符。例如:char c1 = ‘a’; char c2 = ‘中’; char c3 = ‘9’;
- Java中还允许使用转义字符’‘来将字符转变为特殊字符型常量。例如char c3 = ‘n’; //’n’表示换行符
- 在java中,char本质是一个整数,在输出时,是unicode码对应的字符
- 可以直接给char赋一个整数,然后输出时,会按照对应的unicode字符输出。 char c = 97; 输出是a
- char类型是可以进行运算的,相当于一个整数,因为它都对应着一个unicode码
- java中的char占有两个字节
- 基本介绍
- 布尔类型也叫boolean类型,boolean类型数据只允许取值true和false,无null
- boolean类型占1个字节
- boolean类型适于逻辑运算,一般用于程序流程控制,比如if、while、do-while、for循环
- 细节
不可用0或者非0的整数替代false和true,这点和c语言不同
- 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算
- 当我们把精度(容量)大的数据类型赋值给精度(容量)小的数据类型时,就会报错,反之就会进行自动类型转换。
- (byte,short)和char之间不会相互自动转换
- byte,short,char他们三者可以计算,在计算时首先转换为int类型,这三者中,同样的类型之间运算,也会转换成int
- boolean不参与转换
- 自动提升原则:表达式结果的类型自动提升为 *** 作数中最大的类型
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)