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
- public class DateType {
- public static void main(String[] args) {
- System.out.println(1+'1');
- }
- }<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'); } } |
- public class DateType {
- public static void main(String[] args) {
- System.out.println("1"+1+'1');
- }
- }
控制台输出结果都是:111,先开始我也为第二结果为1149
说明第一个为字符时,后面不管什么类型都是字符,还有最后输出的结果的数据类型都是字符类型。
总结:不同的数据类型运算,从前往后计算,如果是整形,正常的10进制计算,遇到字符转成10进制的ascii码值计算,有字符就直接拼接字符,遇到字符的,后面都是字符,就没必要转化。
这些在开发中应该很少遇到,当时在一些面试题中可能会出现,希望能帮助到大家,第一次写博客,可能很多地方写的不好,以后继续努力,继续坚持,谢谢大家!
上一篇:返回列表 下一篇:Java 基本数据类型