因为Java语言中println函数只对字符串敏感,所以字符'1'和'2'之间的加号被认为是'1'和'2'相加,两个字符相加就是其ascii码相加,'1'的ascii码是49,'2'的ascii码是50,所以结果是99.后面加空字符串和数字3,4的加号,因为有空字符串,所以都被认为是连接字符串的符号,后面所有的数字都自动隐式转成字...
Integer是一个对象,==比较的是引用地址,与 int 比较,jvm会将Integer转化为int, 所以结果为true。但Integer之间比较时,如果是用new创建的对象,一定返回false。Integer 大于127 是需要新建 new 对象。Integer c = 128 ;会编译为 Integer c = Integer.valueOf(128); 是用new创建的对象。Intege...
Java中的nextInt方法主要用于读取整型数据,它会将输入转换为整数形式。然而,当我们输入01时,输出结果却是1,而不是01。这是因为nextInt方法会将输入的字符串转换为整数类型,而整数类型只保留数字本身的数值意义,不保留前导零。如果需要保留输入中的前导零,例如在处理编号等场景中,就需要使用字符串...
原因是你这个里面只有一个Data对象,你每次给他在for循环里面赋值的时候,都在改变Data对象的属性val的值,所以,最后输出了102。你要是想输出不同的值,那么list里面add的应该是不同的Data对象。即把你的Data data = new Data()写在第一个for循环里面,这样每次list里面add的都是不同的Data对象。就...
byte的值范围是-128~127 byte a;a=128;这个时候呢 a打印的结果就是 -128 在这个时候 再看 12*12 = 144 =128+16=-128+16=-112(看清了,兄弟)