首页 > 代码库 > 数据类型进阶
数据类型进阶
----------siwuxie095
1、整数类型
如果去掉注释,报错:Type mismatch: cannot convert from into byte
即 不能把 int 类型转换成 byte 类型
如果选择 Add cast to ‘byte‘:
即 把 b1+3 的结果(默认为 int 类型)强制转换成 byte 类型
如果选择 Change type of ‘b2‘ to ‘int‘:
即 把 b2 改成 int 类型(语法错误消失,也佐证了 b1+3 的结果是 int 类型)
如果稍作修改:
同样没有报错,这是因为Java语言对于明显的能确定结果的计算,在编译期
就把值计算完毕保存在 b2 中,在解释运行时就不在计算 124+3,b2 中直接
存储的就是 127(编译时将 .java 文件编译成 .class 文件)
如果再作修改:
报错,这是因为 125+3 的结果 128 超过了 byte 类型最大值 127,
所以出现了编译错误,选择把 b2 改成 int 类型即可
2、浮点类型
(1)概述
(2)浮点类型的科学计数法
(3)float类型
(4)double类型
(5)浮点运算特点
测试:
运行一览:
最后的 1 就是运算的误差,表明 2.6 是以约数的形式保存在内存中,
有一定的误差
所以在做数值运算中尽量用整型进行运算,不仅精确度高,运算速度也远远快于浮点运算
注意:浮点运算中比较两个浮点值是否相等, 不要用等于比较,而要用范围值比较
3、字符类型
(1)概述
(2)Unicode编码
如:
代码:
package com.siwuxie095.test;
public class Test06 {
/** * 显示 0~127 的字符 */ public static void main(String[] args) { //(char)i 即 把数字 i 转换成 i 所对应的字符 for (int i = 0; i <= 127; i++) { System.out.println((char)i+":"+i); } }
} |
Eclipse中:
运行一览:有些字符是不可见的
【made by siwuxie095】
数据类型进阶