为什么java中输出的结果会是1234?

因为Java语言中println函数只对字符串敏感,所以字符'1'和'2'之间的加号被认为是'1'和'2'相加,两个字符相加就是其ascii码相加,'1'的ascii码是49,'2'的ascii码是50,所以结果是99.后面加空字符串和数字3,4的加号,因为有空字符串,所以都被认为是连接字符串的符号,后面所有的数字都自动隐式转成字...
为什么java中输出的结果会是1234?
因为Java语言中println函数只对字符串敏感,所以字符'1'和'2'之间的加号被认为是'1'和'2'相加,两个字符相加就是其ascii码相加,'1'的ascii码是49,'2'的ascii码是50,所以结果是99.后面加空字符串和数字3,4的加号,因为有空字符串,所以都被认为是连接字符串的符号,后面所有的数字都自动隐式转成字符串,所以连接起来就是9934字符串
public class H {
public static void main(String []args) {
System.out.println('1'+'2'+""+3+4);
}
}

如果你把空字符串放到字符'1'前面,那么后面所有的加号都被认为是连接字符串的符号,后面所有的数字和字符都自动隐式转成字符串,输出就是1234字符串
public class H {
public static void main(String []args) {
System.out.println(""+'1'+'2'+3+4);
}
}

2024-01-10
mengvlog 阅读 52 次 更新于 2025-10-31 03:41:55 我来答关注问题0
  • 因为Java语言中println函数只对字符串敏感,所以字符'1'和'2'之间的加号被认为是'1'和'2'相加,两个字符相加就是其ascii码相加,'1'的ascii码是49,'2'的ascii码是50,所以结果是99.后面加空字符串和数字3,4的加号,因为有空字符串,所以都被认为是连接字符串的符号,后面所有的数字都自动隐式转成字...

  • anonymous JAVA中为何这个程序最后打出来的结果是‘你爱她’???

    因为字符'你'在ascii中值是20320,字符'A'在ascii中值是65,所以x>'A'成立,y='爱',z='情',而你的else语句中没有大括号,else只作用于一行,因此z='她'会执行,所以最终的结果是:你爱她 你的代码等同于:public static void main(String[] args){char x = '你', y = 'e', z = ...

  •  WMYUOM JAVA中 为什么这三种输出结果是true,false,true?

    Integer是一个对象,==比较的是引用地址,与 int 比较,jvm会将Integer转化为int, 所以结果为true。但Integer之间比较时,如果是用new创建的对象,一定返回false。Integer 大于127 是需要新建 new 对象。Integer c = 128 ;会编译为 Integer c = Integer.valueOf(128); 是用new创建的对象。Intege...

  •  zhh3191595 谁来解释下这个java程序的输出结果为什么是sub 1 2

    这是Java中的多态机制,父类实例化一个子类,只要是子类中有的,其调用的是子类的方法或属性,这就是方法重写,多态性的一种表现形式。首先先调用子类的getI()方法,在方法中输出Sub,然后调用ga.i输出父类中的1,在输出子类getI()方法的返回值(这里的i为2)至于为什么会先输出Sub而不是先输出ga....

  •  看会飞的牛123 java中为什么输出是false

    Foo类里面x的类型明显是原始数据类型,原始数据作为Class的属性是有默认值的,boolean的默认值就是false。foo.x明显就是输出对象foo的x属性值,默认是false,没错的。

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部