将程序视点设为星标精品文章第一时间阅读
大家好,欢迎来到程序视点
!我是小二哥。
前言
今天的主题是关于基础数据类型的。通过几道题来衡量下基础的掌握程度。
在正式进入题目前,和大家一起回顾下 Java 八个基本类型。
PS:这个特别基础!仅供入门选手了解和学习!Java 选手请直接看题!
八个基本类型包括:boolean、byte、char、short、int、float、long和double。它们各自占用存储空间(字节)如下。
基本类型都有对应的包装类型,基本类型与其对应的包装类型之间的赋值使用自动装箱与拆箱完成,示例如下。
代码语言:javascript复制int a = 127;
Integer b = 127;
int c = new Integer(127);
题来啦
第一题:下面变量中,b == d的结果是什么?
代码语言:javascript复制int a = 127;
Integer b = 127;
int c = new Integer(127);
Integer d = new Integer(127);
System.out.println(b == d);
虽然有a和c两个变量从中干扰,但小伙伴们应该知道答案是 false.
第二题:下面变量中,a == b 和 c == d 的结果分别是什么?
代码语言:javascript复制Integer a = 127;
Integer b = 127;
Integer c = 128;
Integer d = 128;
System.out.println(a == b);
System.out.println(c == d);
知道包装类缓存池的,这题也比较简单。答案是 true 和 false。
上面的题算是相对基础的,接下来仔细思考
第三题:根据下面代码,输出的结果分别是什么?
代码语言:javascript复制int a = 127;
float b = 127.0f;
double c = 127.0d;
float d = 3.2f;
double e = 3.2d;
Float f = 3.2f;
System.out.println(b == c);
System.out.println(d == e);
System.out.println(e == f);
这题就有点意思了哦~
前两个是基本类型比较,必然是类型提升后比较;最后一个是包装类和基础类的比较,肯定要拆箱,拆箱后类型不一致,还得做类型提升再比较。重点是注意这里的小数精度问题。
答案:true, false, false
第四题:编译运行下面的Java代码会出现什么结果?
代码语言:javascript复制Integer a = 127;
Byte b = 127;
System.out.println(a == b);
这道题不给答案,给个提示:这里的127就是来迷惑大家的。大家贴到main函数里试试看!
不要小看简单的基础类和包装类,照样能测试出你的基础好到哪个程度!
好了!今天的分享都到这里了啦~