本专题主要为观看韩顺平老师《零基础30天学会Java》课程笔记,同时也会阅读其他书籍、学习其他视频课程进行学习笔记总结。如有雷同,不是巧合!
运算符是一种特殊的符号,用于表示数据的运算、赋值、比较等,包括:算数运算符、赋值运算符、关系/比较运算符、逻辑运算符、位运算符、三元运算符。
一、运算符介绍
算术运算符
-
其中当两个操作数都是整数时,除法运算
/
表示的结果也会被截断为整数。至少让其中一个操作数变为浮点数类型,则可以得到浮点数结果,和C的方法相同。 -
a % b = a - int(a / b) * b
,取模运算中余数和被除数同号,例如:10 % (-3) = 10 - 10 / (-3) * (-3) = 1;(-10) % (-3) = (-10) - (-10) / (-3) * (-3) = -1
-
下方代码的输出结果(C的输出结果相同):
int i = 1; i = i++; //使用临时变量temp,(1)把i的值保存在temp中,temp = i;(2)i = i + 1;(3)i = temp【i = temp = i++ 从右往左计算】 System.out.println(i); // 1 i = ++i; System.out.println(i); // 2
关系运算符
运算结果都是boolean
类型,关系表达式常用于if
结构的条件中或循环结构的条件中。
逻辑运算符
用于连接多个条件/关系表达式,结果为boolean
类型。
短路逻辑运算符及布尔逻辑运算符——逻辑与&
:a和b同时为真则结果真; 短路与&&
:a为假,则不关注b,结果为假。逻辑或|
:a和b中至少有一个为真则结果为真;短路或或||
:a为真,则不会评估第二个操作数,结果为真。
短路行为可以提高程序的效率,因为它可以避免不必要的计算。
赋值运算符
将某个运算后的值,赋给指定的变量。包括基本赋值运算符+
和复合赋值运算符(+=
, -=
, *=
, /=,
%=
…)。
👆直接执行b=b+3会报错,因为b为byte类型,b+3为int类型。复合赋值运算符实际上进行了强制类型转换:b=(byte)(b+3)。
位运算符
例如:1<<2
本质为1*2*2
(❌上图中对于负数的位移不太正确,需要转换为补码再进行计算!)
三元运算符
基本语法:
条件表达式? 表达式1: 表达式2;
如果条件表达式为true,运算结果为表达式1;否则为表达式2。
⚠表达式1和2必须是可以赋值给接收变量/自动转换的类型!
二、运算符优先级
表达式运算中的运算顺序(越往上运算符优先级更高):
三、常用的输入方法
java的四种输入方法,你会几种?_java输入-CSDN博客
四、进制及表示
⚠补码是现代计算机中普遍使用的整数表示方式,因为它简化了电路设计和运算处理,统一了加减运算。运算时以补码的方式进行运算,并把补码结果转换为原码输出。