java原始数据类型Q&A
2021-08-25 15:29:04 8 举报
AI智能生成
登录查看完整内容
java原始数据类型+Q&A总结
作者其他创作
大纲/内容
类型 长度 默认值byte 1 0char 2 0(\\u0000)short 2 0int 4 0long 8 0Lfloat 4 0.0fdouble 8 0 / 0dboolean 1 false
运算表达式中, 自动转换为算式中类型最高的数据类型
提升优先级: (byte < short < char) < int < long < float < double
类型提升
java由于虚拟机屏蔽了系统相关性, 所以无论32位还是64位机器,基础类型的长度不变
基础类型系统相关性长度
基础知识
Q:java中数据类型大小会和平台是32位、64位相关吗?A:不相关,虚拟机原因平台兼容
font color=\"#f57f17\
Q: java中byte、char是多少字节?C++中char是多少字节?A : java中是1和2, C++中char是1
Q: java中boolean类型的大小?A: font color=\"#ff0000\
Q: 不可变类型有哪几种?A: short、int、long、float、double、byte、char、boolean的 包装类型, 以及String,这9种属于不可变类型。(这只是部分,还有其他的不可变类)不可变类型概念:里面的值的内容变了,对应的内存地址也会变化。
Q:类里的成员如果是基本数据类型, 那么会自动初始化吗?初始化成什么?A: 会, 初始化为0或者false。
Q: java中局部变量没初始化,会报错吗?A: 会
Q: 什么时候不能隐式转化?A: 如果会丢失精度,则不能隐式转化,比如long转int或者double转long这种。 编译器会强制我们使用强制转化
byte b1 = 5;short s2 = b1;
byte b1 = 5;byte b2 = 1;short s2 = b1+b2;
byte b1 = 5;byte b2 = 1;int s2 = b1+b2;
Q:下面哪个是错误的?A: 选项2是错误的。因为2个byte类型变量相加的时候,会自动转换成int类型,右边的int类型赋值给short类型便会报错。
Q:float f = 1.1; 有错吗?A:float浮点后面要加f。加f就代表是float类型,否则就是double类型浮点。
Q:整型包装类型的比较,下面输出啥?font color=\"#0000ff\
Q: java的数组一定需要我们手动初始化吗?A: 不需要,数组元素会自动初始化为null或者0或者false。
Q: 浮点数相等的比较方式A:相等的话要像这样: if(Math.abs(a-b))<1E-6F)另外,如果用浮点的a==b或者a!=b做while循环退出判断,可能会导致死循环
QA理解
java原始数据类型
0 条评论
回复 删除
下一页