java中不同数据类型的运算

来源:互联网 发布:网络传播 编辑:程序博客网 时间:2024/06/01 15:08

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

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

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

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

控制台输出: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 {public static void main(String[] args) {System.out.println("1"+1+'1');}}

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

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

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




1 0
原创粉丝点击