运算符
算术运算符
赋值运算符
关系运算符
逻辑运算符
位运算符
三元运算符
1,逻辑运算符
与& : 遇false则false
或| : 遇true则true
异或^ : 相同为false,不同为true
非! : 非true则false,非false则true
注意事项:
a:逻辑运算符一般用于连接boolean类型的表达式或者值。
b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
算术表达式:a + b
比较表达式:a == b(条件表达式)
& 和&&区别
结果相同,&&具有短路效果,左边为false,右边不执行
|和||区别
结果相同,||具有短路效果,左边为true,右边不执行
2,位运算符
& ,| ,^ ,~(位非)的用法
&:有0则0
|:有1则1
^:相同为0,不同为1
~:按位取反
位异或运算符的特点
^的特点:一个数据对另一个数据位异或两次,该数本身不变。
<< >> >>>的用法
<<:左边最高位丢弃,右边补齐0
>>:最高位是0,左边补齐0;最高为是1,左边补齐1
>>>:无符号右移 无论最高位是0还是1,左边补齐0
最有效率的算出2 * 8的结果 //2<<3
左移,向左移动几位就是乘以2的几次幂
右移,向右移动几位就是除以2的几次幂
3,三元运算符
格式:
(关系表达式)?表达式1:表达式2;
执行流程:
先判断关系表达式的结果,如果是true执行表达式1,如果是false执行表达式2
获取三个整数中的最大值
int temp = (a > b) ? a : b;
int max = (temp > c) ? temp : c;
0
4,键盘录入
三部曲:
a:导包
import java.util.Scanner;
b:创建键盘录入对象
Scanner sc = new Scanner(System.in);
c:获取数据
int a = sc.nextInt();
学习方式
首先,把当天的内容掌握
然后是复习之前的内容
最后才是预习后一天的内容
5,流程控制语句
(1),顺序结构
(2),选择结构
A:if语句
a:格式1:
if(条件表达式) {
语句体;
}
执行流程:
* 执行条件表达式,看结果是true还是false;
* 如果是true,执行语句体;
* 如果是false,跳过if语句;
注意事项
* 条件表达式不管是简单还是复杂,其结果必须是boolean类型
* 一般来说,语句体如果是一条语句,可以省略大括号,如果是多条语句的话,是不能省略大括号,建议永远不要省略
* 有左大括号就没有分号,有分号就没有左大括号
b:格式2
if(条件表达式) {
语句体1;
} else {
语句体2;
}
执行流程:
* 执行条件表达式,看结果是true还是false
* 如果是true,执行语句体1
* 如果是false,执行语句体2
三元运算符和if语句格式2的区别:
* 三元运算符可以实现的,if语句都可以,反之不成立
c:格式3
if(比较表达式1) {
语句体1;
}else if(比较表达式2) {
语句体2;
}else if(比较表达式3) {
语句体3;
}
...
else {
语句体n+1;
}
执行流程:
* 执行关系表达式1,看结果是true还是false
* 如果是true,执行语句体1
* 如果是false,执行关系表达式2,看结果是true还是false
* 如果是true,执行语句体2
* 如果是false,执行关系表达式3,看结果是true还是false
......
* 如果都不满足,执行语句体n+1
B:switch语句
格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
执行流程
执行表达式,用其结果和case后的值进行匹配,如果一致,就执行对应的语句体.
如果都不满足,执行default后的语句体.
格式说明:
表达式:基本数据类型byte short char int
JDK5:枚举
JDK7:字符串
case:后面的值是用来和表达式的结果进行匹配
default:case后的值都不满足,执行default后的表达式
break:结束switch语句
注意事项:
a:case后只能跟常量,不能是变量,多个case后面的值不能相同
b:default必须放在最后吗?
不是.建议放在最后面
c:break可以省略吗?
可以.会出现case穿透
d:default可以省略吗?
可以,但是不建议,因为default用来对错误信息进行说明
e:swtich语句结束条件
*到语句的结尾
*遇到break
总结switch语句和if语句的各自使用场景
switch建议判断固定值的时候用
if建议判断区间或范围的时候用
(3),循环结构(明天讲) |
|