转义字符
目的: 将一个无意义的字符转为一个有意义的字符或者将一个有意义的字符转为一个无意义的字符
语法格式
\字符几个特殊的符号:
\n : 回车换行 \t : 制表符 tab 或者制表符运算符
1.算术运算符
2.关系运算符
3.逻辑运算符
算术运算符
数学中的 加 减 乘 除 取余
+= -= *= /= %= 自增和自减
自增和自减: 可以让一个变量自身增加1或者减去1
语法格式:
变量++; 先执行当前的操作 ,然后自身在增加1 a++;
++变量;先自身加1,然后再执行其他的操作 ++a;
变量--; 先执行当前的操作,然后执行自身减1 a--;
--变量; 先自身减1,然后再执行其他的操作 --a;
关系运算符
(大于) <(小于) >=(大于等于) <= (小于等于) ==(等于) !=(不等于)
逻辑运算符
语法格式:
表达式1 && 表达式2 && ...
关系运算符的表达式 && 关系运算符的表达式
3 > 4 && 5 < 6
表达式都为true的时候,整体的结果就为true。只要有一个为false,整体就为false
语法格式:
关系运算符表达式1 || 关系运算符表达式2 || ...
表达式都为false的时候 整体结果就为false。如果有一个为true,整体就为true。
语法格式:
!关系运算符
如果关系运算符为true,整体结果就为false。 反之 就为true
逻辑运算符的短路原则
逻辑与的短路原则:
表达式1 && 表达式2 &&...
如果表达式1 为false 的话,整体就为false了, 表达式2 和以后的表达式就不再执行了
为啥? 逻辑与 只要有一个为false,整体就为false了。表达式1位f已经为false了。已经决定了
整体的结果了。Jav为了执行的效率的问题,所以短路了
逻辑或的短路原则:
表达式1 || 表达式2 || ...
如果出现表达式为true的,整体就为true,从为true的表达式开始后面的表达式就不再执行了
2.1if 分支
语法格式:
if (布尔表达式) { 语句体 }执行流程: 如果布尔表达式为true, 就执行大括号里面的语句体。 如果布尔表达式为false,就跳过大括号里面的语句体,接着往下执行
2.2if-else 分支
语法格式:
if (布尔表达式) { 语句体1 } else { 语句体2 }
执行流程: 如果布尔表达式为true 执行语句体1 ,如果布尔表达式为false 执行 语句体2
2.3if-else if 分支
if (布尔表达式1) { 语句体1 } else if (布尔表达式2) { 语句体2 } else if (布尔表达式n) { 语句体n } else { 语句体n+1 }
执行流程:
如果碰到if语句后面的小括号中的表达式为true的时候,就执行相对应的大括号后面的语句体
其他语句体一概不执行
2.5switch-case 分支
也是一种语法格式:
swicth (表达式) { case 常量1: 语句体1; break; case 常量2: 语句体2; break; case 常量3: 语句体3; break; ... default: 语句体n; break; }
z执行流程: switch后面小括号中的表达式值 去和 case后面的常量进行匹配。如果他们两个一样的话
就执行当前的语句体,其他语句体不执行
2.6关于switch-case的面试题
switch(表达式) {
}
表达式可以是什么类型的数据
byte short int char String 枚举
扩展【有点难度,但是以后不用】
1.import java.util.Scanner;
2.在main主函数中 Scanner sca = new Scanner(System.in);
3.将控制台输入的数据赋值给Java代码中的变量