Java笔记04——运算符

数据类型转换

当数据类型不一样时,将会发生数据类型转换。

1. 自动类型转换(从小到大byte->short(char)->int->long->float->double)
2. 强制类型转换

特点:代码需要特殊的格式处理,不能自动转换。
格式:范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的数据。

3. 注意
  • 强制类型转换一般不推荐使用,因为有可能发生精度损失,数据溢出问题。
    在这里插入图片描述
int num = (int)3.99;

打印结果,精度损失,输出3。

  • byte/short/char在进行数学运算的时候,都会被首先提升成为int类型,然后再计算。
  • 右侧的数值大小不能超过左侧数据类型的范围。
  • 布尔类型不能发生数据类型转换。
  • 数据类型转换规则:从小到大自动转,从大到小强制转。
  • 虽然char和short都是占16位,但是他们之间仍然需要强制转换。
运算符

运算符:进行特定操作的符号。如:+ - * / 等
表达式:用运算符连接的式子。如:a + b、a - b

1. 算数运算符
算数运算符
+加法运算,字符串连接运算
-减法运算
*乘法运算
/除法运算
%取模运算,两个数字相除取余数
++、–自增自减运算

当参与/运算的两个操作数是整数时,表示整数除法;否则,表示浮点数除法。
注意:整数/0会出现异常,浮点数/0会得到无限大或NaN。

“+”常见用法
对于数值加法运算
对于char类型char提升为int再进行运算
对于String类型代表字符串连接操作,任何数据类型和字符串连接结果都会变成字符串。
自增自减运算
基本含义让一个变量+1或者-1
使用格式++a、a++、–a、 a–
使用方式单独使用,a++; 混合使用, b = a++ + c–;
使用区别单独使用,++a与a++无区别,混合使用,++a先自增后运算,a++先运算后自增

注意:常量不可以使用自增自减,如:10++,错误写法。

2. 赋值运算符

赋值运算符分为基本赋值运算符(=)和复合赋值运算符。

赋值运算符
=等于号,注意与数学上的等于区别,这里的=是赋值,数学上的等于写作==。
+=加等于 ,a+=1,即a=a+1
-=减等于,a-=1,即a=a-1
* =加等于 ,a*=1,即a=a* 1
/=加等于 ,a/=1,即a=a/1
%=加等于 ,a%=1,即a=a%1

注意:

  • 只有变量才能使用赋值运算符,常量不能进行赋值
  • 赋值符合运算符中隐含了强制类型转换
3. 比较运算符
比较运算符
==比较符号两边数据是否相等,相等结果是true
<比较符号左边的数据是否小于右边的数据,如果小于结果是true
>比较符号左边的数据是否大于右边的数据,如果大于结果是true
<=比较符号左边的数据是否小于或等于右边的数据,如果小于或等于结果是true
>=比较符号左边的数据是否大于或等于右边的数据,如果大于或等于结果是true
!=不等于符号,如果符号两边数据不相等,结果是true

注意:

  • 比较运算符的结果是boolean值
  • 如果进行多次判断不能连写,如:1<x<2,错误写法。
4. 逻辑运算符
逻辑运算符符号运算
与(并且)&&a&&b,a,b都为true,结果才是true,否则false
或(或者)lla ll b,a,b至少有一个为true,结果为true,两个都为false,才为false
非(取反)!!a,a为true,结果为false,a为false,结果为true

注意:

  • 与运算和或运算具有短路效果,如果根据左边已经可以判断得到最终结果,那么右边的代码剑不再执行。
  • 对于1<x<2,应写成,x>1&&x<2。
5. 三元运算符
一元运算符只需要一个数据就可以进行操作的运算符,如:!、++、–
二元运算符需要两个数据才能进行操作的运算符,如:四则运算、赋值
三元运算符需要三个数据才能进行操作的运算符

格式:变量名称 = 条件判断?表达式a:表达式b;
流程:
首先判断条件是否成立:如果成立,将表达式a的值赋值给左侧变量,如果不成立,将表达式b的值赋值给左侧变量。
注意:

  • 必须同时保证表达式a和表达式b都符合左侧数据类型的要求。
  • 三元运算符的结果必须被使用。例如赋值给其他变量或者打印
6. 位运算符

位运算是直接对整数的二进制进行的运算。

位运算符运算范例说明
<<左移3<<2=3 * 2 * 2=12空位补0,被移除的高位抛弃,空缺位补0
>>右移3>>1=3/2=1被移位的最高位是0,右移后空位补0,最高位是1,空位补1
>>>无符号右移3>>>1=3/2=1被移位的最高位无论是0还是1,空位都补0
&按位与6 & 3=2二进制位进行&运算,只有1&1时结果是1,否则是0
l按位或6 l 3=7二进制位进行l运算,只有0 l 0时结果是0,否则是1
^按位异或6 ^ 3=5相同二进制位结果是0,不同二进制位结果是1
~按位取反~6=-7规律:~n = -n - 1

在这里插入图片描述
在这里插入图片描述

7. 运算符优先级

运算符有不同的优先级,所谓优先级就是表达式运算时的运算顺序。

运算符结合性
[ ].( )(方法调用)从左向右
! ~ ++ – +(一元运算) -(一元运算)( ) (强制类型转换) new从右向左
* / %从左向右
+ -从左向右
<< >> >>>从左向右
< <= > >= instanceof从左向右
== !=从左向右
&从左向右
^从左向右
l从左向右
&&从左向右
ll从左向右
?:从右向左
= += -= *= /= %= &= l= ^= <<= >>= >>>=从右向左
总结
本篇内容:
  • 数据类型转换
  • 运算符
下篇内容:

字符串

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.m或d论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 、1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值