本文目录一览:
JAVA中 为什么这三种输出结果是true,false,true?
int 是基础数据类型, Integer 是类, 是对 int的封装对象,具备对象的一切特性。
Integer是一个对象,==比较的是引用地址,与 int 比较,jvm会将Integer转化为int, 所以结果为true。
但Integer之间比较时,如果是用new创建的对象,一定返回false。
Integer 大于127 是需要新建 new 对象。Integer c = 128 ;会编译为 Integer c = Integer.valueOf(128); 是用new创建的对象。Integer d = 128; 也是用new创建,所以返回false。
java中new的用法,这个输出结果是什么意思?
new 关键字实例化一个类对象,通过给这个对象分配内存并返回一个指向该内存的引用。
在这里 你创建了一个Variable的对象,并为他分配了内存空间。
使用printf输出对象时,将自动调用对象的toString()方法,如果没有重写toString()方法会输出"类名+@+hasCode"值,hasCode是一个十六进制数。
在java语言中,下列代码输出的结果是
if(j==10)里面的语句只有第一次循环时执行了,输出0,10
然后j--,这时j是9,而后面的j++和for()里面的j--抵消了,j还是9,
以后的9次循环里,if后面的语句再也没有执行了,而j++和for()里面的j--每次都抵消,所以j一直是9,
i每次++,一共执行10次,从0到9,所以最后输出i和j是9,9