java03class--数据类型转换、运算符

数据类型转换、运算符

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逻辑运算符与关系运算符的使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值