概述
数据类型转换、运算符
3.1数据类型的转换
概念:当数据类型不一样时就会发生数据类型转换。
例如:int num1=3.14,左边为整数类型,右边为浮点数类型,此时就会发生数据转换,具体看后面。
数据转化的两种形式:
1.自动转换:(隐式)
特点:不需要特殊的处理,可以自动完成。
规则:数据范围从小到大。
具体操作:
2.强制转换:(显式)
特点:代码需要进行特殊格式处理,不能自动完成。
格式:范围小的类型 范围小的变量名=(范围小的类型) 原本范围大的数据
例:int num1=100L–>int num1=(int)100L
这样就实现了强制转换。
具体操作:
注意1:
1.强制转换一般不推荐使用,因为可能会导致精度缺失,数据溢出。
我们输入的是6000000000,但是指输出了十七亿多,剩余的int装不下了,导致数据溢出。红色部分则是溢出部分。
2.byte/short/char这三种类型都可以发生数学运算。
3.byte/short/char在运算时,都会提升为int类型,然后再计算。
例:因为byte/short/char,都会提升为int类型,然后再计算。所以最后的a+b的类型定义要为int。才能输出,否则会报错。
4.boolean类型不能发生数据类型转换。
注意2:
1.对于byte/short/char三中类型来说,如果右侧的数值没有超过范围,那么javac编译的时候会自动隐含的为我们强制转换。
3.2运算符
1.算术运算符:+,-,*,/,%(取模运算符/余数),++,–(自增自减运算符)
需要注重的自增自减运算符分两种情况:
1.单独运用时:如上图中的单独运用无论前置–/++a;还是a–/++;运算结果都是相同的。
2.混合使用:与其它代码混合使用时:
前置时先运算再参与运行。
后置先参与运行再运算。
例如:
(1)为了更直观的看出区别,我使用了两个变量,但其类型数值相等,所以可把他们看作是同一个东西;
(2)如第四行是后置,根据前面所说,a是先参与了输出语句,再进行自身的+1,所以输出的内容为5;
(3)而第8行是前置,b是先进行了自身的+1才参与输出语句,则输出内容为6;
(4)自减的同理。
2.关系运算符:>,<,>=(大于等于),<=(小于等于),==(等于符号),!=(不等于)
3.逻辑运算符:&&(并且),||(或者),!(非)。
其中需要注意的是:
(1)当两两比较时,需要拆开来表示(这里需要运用到逻辑运算符在第3点),这称为&&,||的短路效果。例如:1<x<5----》1<x&&x<5;
(2)&&,||如果根据左边的表达式可以判断最终结果,则右边代码不再执行----例如第五行中1<x满足了条件1<5,所以不执行判断x<10的语句,进而直接输出输出语句内的内容;若左侧不满足条件,则也不执行右边的内容直接判断输出。
4.赋值运算符:=,+=,-=,*=,/=
注意:
1.只有变量可以使用,常量不可以;
2.当有不同类型的数值时,它会隐含的帮你进行强制转换;
5.条件运算符:条件判断?表达式1:表达式2; 条件为真实输出表达式1,为假时输出表达式2。如图:
*3.3逻辑运算符与关系运算符的使用
最后
以上就是美满外套为你收集整理的java03class--数据类型转换、运算符的全部内容,希望文章能够帮你解决java03class--数据类型转换、运算符所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复