java中不同数据类型的运算

来源:blog.csdn.net 更新时间:2023-05-25 21:55

今天上班的时候,不是很忙,看到java编程的群里发了一个问题:1+‘1’+1+1+“0”,请问等于多少,我相信不少人看到这样的问题肯定有点蒙,至少我刚开始的时候是懵逼的,很好奇答案到底是什么,于是就在mian函数里面输入System.out.println(1+'1'+1+1+"1");看控制台打印的是多少?结果呢。。。结果后面再说哈哈(结果是你们经常和女朋友说的)。

出于好奇我就仔细的研究了一下,到底是什么原因,到底怎么得来的。

我就开始从前面一个一个测试:

 

[java] view plain copy
  1. public class DateType {  
  2.     public static void main(String[] args) {  
  3.         System.out.println(1+'1');  
  4.     }  
  5. }<span style="white-space:pre">     </span>  
 

 

控制台输出:50,那说明‘1’就表示49,在ascii码表里里面可以查到字符1对应的10进制ascii值为49,”0“表示在后面拼接一个字符0,这样就很容易知道结果了。

当我换了位置重新测试一下又发现了问题:

 

public class DateType {  
    public static void main(String[] args) {  
        System.out.println(1+'1');  
    }  
}
  1. public class DateType {  
  2.     public static void main(String[] args) {  
  3.         System.out.println("1"+1+'1');  
  4.     }  
  5. }  

控制台输出结果都是:111,先开始我也为第二结果为1149
说明第一个为字符时,后面不管什么类型都是字符,还有最后输出的结果的数据类型都是字符类型。

 

总结:不同的数据类型运算,从前往后计算,如果是整形,正常的10进制计算,遇到字符转成10进制的ascii码值计算,有字符就直接拼接字符,遇到字符的,后面都是字符,就没必要转化。

这些在开发中应该很少遇到,当时在一些面试题中可能会出现,希望能帮助到大家,第一次写博客,可能很多地方写的不好,以后继续努力,继续坚持,谢谢大家!

上一篇:返回列表 下一篇:Java 基本数据类型