算术运算符
+ - × ÷ ()
先乘除后加减
先算括号里面的后算括号外面的
除数不能为0
7 ÷ 3 = 2 …… 1
在代码中算术运算符是什么样子?
+ - * / () %
= 赋值 把赋值号右侧的数据赋值给左侧的【变量】
在操作算术运算的时候,如果一个变量或者一个数据,没有被赋值号赋值的情况下,是不会发生
任何的改变2
优先级问题:只要记住最高的优先级是() 简单粗暴加括号
+= -= /= *= %=
例如:
num1 = num1 + num2;
num1 += num2;
自增自减运算符
这些运算符是提供给【变量】使用
++:自增操作,相当于当前变量 += 1
优先级问题:如果++运算符在变量之后,先执行该行语句,再来执行++自增操作,如果在变量之前,先
执行自增操作,再来执行改行语句的运行
--:自减操作,性对于当前变量 -= 1
自减的优先级同上
[建议]
在代码中使用自增自减运算符,一般都是单独成行,避免没必要的歧义
面试题: Java中不支持
int num = 5;
++(num++) 6 7
7 7
语法错误
解释:
按照语法,首先执行num++ 结果是一个6,是一个常量,这个常量就是小括号表示的
数值,也是一个常量。在这里括号里面的内容会被认为是一个常量6 来处理
在++ 或者 -- 中不能操作任何的【常量】
关系运算符
< > = ≥ ≤ ≠
手写的关系运算符
< > == <= >= !=
代码中支持关系运算符
关系运算符的结果是什么???
boolean true false
5 > 2 true
2 > 3 false
逻辑运算符
与:金库,需要两个人拿两把钥匙,同时在场才可以打开,缺一不可
&& 同真为真,有假为假
或:自个家,不管是谁带钥匙,都开打开门,但是如果都没有带,GG
|| 有真为真,同假为假
非:犟 取反
! 真变假来假变真
【拓展】
true 0000 0001 => 1
false 0000 0000 => 0
在计算机世界中,默认的真假关系是 1 和 0, 而Java不支持这样方式,采用的是true和false来代表
在计算机世界中,非0即真
while (true) 死循环 Java支持
while (1) 死循环 其他语言支持的 C/OC/C++/JavaScript
面试题: (不针对Java)
请解释以下内容的含义,用通俗的代码来表示
前提:n是一个int类型的变量
!n的含义
n = 1; !n = false;
n = 0; !n = true;
n = 2; !n = false; //非 0 即 真
!n的含义是 判断当前n的值是否等于0 ,换一种方式表示如下
n == 0;
分支结构
代码中有三大结构:
顺序结构,分支结构和循环结构
if (判断语句 true/false) {
//语句体
}
运行流程:
当程序运行到if语句,首先判断if 之后的括号里面的内容是否为true,如果为true执行语句体,如果为false,
直接执行大括号之后的语句
if (判断语句 true/false) {
//true 语句体
} else {
//false 语句体
}
运行流程:
当程序运行到if-else语句,首先判断if之后的括号里面的内容是否为true,如果为true执行true 语句体,
如果为false 执行false语句体
if () {
} else if () {
} else {
}
switch - case: