标签:类型转换 Java System 运算符 类型 println out
类型转换
自动类型转换
类型范围小的变量,可以直接赋值给类型范围大的变量。例如:byte型数据可以直接转换成int型,而不会丢失数据。
public class TypeDemo { public static void main(String[] args) { byte a = 10; int b = a; System.out.println(a); System.out.println(b); } }
自动类型转换底层原理:
范围小的变量类型,占用二进制位数少,当将其转换成范围大的变量类型时,直接将其原有二进制数据全部保留下来,并在其前补0至满足大范围类型的二进制位数,以此来完成小类型到大类型的自动类型转换。
其它类型的自动类型转换
表达式的自动类型转换
在表达式的运算中,若既存在着大范围类型,也存在小范围类型的数据,则在进行运算时,会先将小类型的数据转换成大类型的数据,然后再进行运算。
注意:
1.表达式的最终结果由表达式中的最高类型决定;
2.在表达式中,byte、short、char是直接转换成int参与运算的,也就是在表达式中,如上三种类型是直接按照int进行运算的。
另注意:byte与byte相加,byte接收出现错误,应用int类型进行接收,原因如上。
强制类型转换
当遇到需要将大类型转换为小类型时,Java提供了强制类型转换以供完成该任务,强制类型转换可以将类型范围大的变量、数值赋值给小的变量
底层原理
当大类型需要通过强制类型转换成小类型时,大类型占用二进制位数更多,此时为了转换成小类型所需的二进制位数,需要将前边多余的二进制位“砍掉”,以此来完成强制类型转换。
但是由于该原理的操作方式,也存在着些许的问题,即当大类型数据超出小类型的范围时,强制类型转化后的结果会出现溢出或丢失。
注意:
1.强制类型转换可能会造成数据的溢出或丢失;
2.浮点类型转化成整型时,直接丢掉小数部分,保留整数部分。
运算符
算术运算符
例:
public class OperatorDemo { public static void main(String[] args) { int a = 20; int b = 3; System.out.println(a + b); //23 System.out.println(a - b); //17 System.out.println(a * b); //60 System.out.println(a / b); //6 System.out.println(a * 1.0 / b); //6.6666666666666... System.out.println(a % b); //2 } }
“+”做连接符
自增自减运算符
赋值运算符
基本赋值运算符:“=”
拓展赋值运算符
关系运算符
关系运算符是对数据进行条件判断的符号,最终会返回一个布尔值。
逻辑运算符
三目运算符
三目运算符格式:
执行流程:先执行条件表达式,得出条件表达式的结果,若为真,三目运算符的值为值1,否则为值2。
运算符优先级
标签:类型转换,Java,System,运算符,类型,println,out 来源: https://www.cnblogs.com/AirCL/p/16173146.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。