zoukankan      html  css  js  c++  java
  • 一个简单却容易忽略的小坑(基本数据类型转换)

    基本数据类型转换相信大家都能够信手拈来,讲起来也是口若悬河,滔滔不绝。

    那么,请看:

    byte number1 = 30;
    byte number2 = 10;
    byte number3 = number1 + number2;
    System.out.println(number3);


    看起来很和谐的一段代码,对于刚入Java的新手来说简直不要太喜欢,简单易懂。
    其实,已经错了,当两个byte类型的数据相加的时候返回值真的是一个byte类型的值么?
    讲到这边要还是认为是byte类型的,可以点击右上角的 × 然后转行吧,Java可能不适合你,哈哈,开玩笑的!!
    当然,不信你可以去ideal敲一下试试,具体返回值是啥一试便知道,我就不说了。
    今天要讲的是为啥会这样:
    其实也很简单,当两个byte类型的变量开始运算的时候,系统会直接先将其转化成int类型再做运算,所以输出来的结果可想而知是一个int类型的返回值。
    但有些人说,我是杠精,我就想要返回值是byte咋搞?
    简单啊,强转呗!
    byte number3 =(byte) (number1 + number2);
    先运算括号中的加法,结果强转为byte类型。。。。。。

    废话扯了这么多,真理就一句话,哈哈,喝水去了,感觉有辣么一丝丝收货的,别忘记点个赞,拜拜!!
     
  • 相关阅读:
    Lock和synchronized的区别和使用(转发)
    redis集群配置
    分布式之redis(转发)
    拉格朗日乘法与KKT条件
    骨骼动画原理
    常用非线性优化算法总结
    广义线性回归模型(三)
    线性模型、最优化方法(二)
    矩阵微分基础(一)
    OpenGL坐标系统
  • 原文地址:https://www.cnblogs.com/1355861728--qqcom/p/12450666.html
Copyright © 2011-2022 走看看