2019-05-13 java学习日记
逻辑运算符
逻辑运算符:与&,或|,异或^,非!;
逻辑运算符的结果不是true就是false.
&:并且的意思,或者叫and; 只有全是真,输出才为真,否则假。
|:或的意思,或者叫or;遇true则true,否则false.
^:两边相同为false,任一边不同则true。
!:!true = false,!! true = true.
短路与&&&&与&的区别,最终结果一样,左边为false,则右边不执行。遇false则false,双与&&有短路效果。
短路或||单或与双或的别,最终结果一样,左边为true,则右边不执行,遇true则true,双或 ||有短路效果。
位运算符
位运算符有:位与 &,位或|,位异或^,取反~,向右移>>(高位右移),>>>(无符号右移),向左移<<.
位与 &:有0则0。
位或 |:有1是1.
位异或 ^:相同则0,不同则1.
取反 ~:按位取反,高位也包括在内。如6:00000000 00000000 00000000 00000110 ;6的 原码补码都是本身。11111111 11111111 111111111 11111001;对6取反结果为-7.
位异或的特点是一个数据对另一个数据位异或两次,该数本身不变。
<< :左移,左边最高位丢弃,右边补齐0,向左移动几位就是乘于2的几次幂如:12 << 1 ;得出24,12 << 2;得出48
00000000 00000000 0000000 0000000 0001100 12的补码
(0) 0000000 00000000 0000000 0000000 00110000 24的补码
(00) 00000 00000000 0000000 0000000 0110000000 48的补码
//>>:右移,最高位是 0,左边补齐0;最高位是1,左边补齐1.向左移动几位就是除于2的几次幂如:12 >> 1 ;得出6,12 >> 3;得出2
00000000 00000000 0000000 0000000 00001100 12的补码
000000000 00000000 0000000 0000000 0000110 (0) 24的补码
0000000000 00000000 0000000 0000000 000011 (00) 48的补码
/>>>:无符号右移,无论最高位是0还1,左边补齐0
三元运算符
(关系、条件表达式) ? 表达式1 : 表达式2
如果是true的话是表达式1的值赋于过去 ,false则表达式2的值赋于过去。获取两个数中的最大值。
如:int x = 10; int y = 5;int z;
z = (x > y) ? x : y;
键盘录入的基本格式
为什么要使用键盘录入数据?1,让程序的数据更符合开发的数据。2,让程序更灵活。
如何实现键盘录入
1,导包(格式:import java.util.Scanner;)。
2,创建键盘录入对象(格式:Scanner sc=new Scanner(System.in);)。
3,通过对象获取数据(格式:int x = sc.nextInt();)。
顺序结构语句
1,什么是流程控制语句流程控制语句就是可以控制程序的执行流程。
2,流程控制语句的分类:顺序结构,选择结构,循环结构
(1)顺序结构
顺序结构的执行流程为从上往下,依次执行。
(2)选择结构
选择结构可为分为两类:if语句和switch语句
if语句
if语句的格式1:
if(比较、关系、条件表达式) {
语句体;
}
执行流程为先计算比较表达式的值,看其返回值是true还是false,如果是true,就执行语句体;如果是false,就不执行语句体。
注意,比较表达式的结果必须是boolean类型,建议if语句永远不要省略大括号。
if语句的格式2:
if(比较、关系表达式) {
语句体1;
} else { 语句体2;
}
执行流程为先计算比较表达式的值,看其返回值是true还是false,如果是true,就执行语句体1;如果是false,就执行语句体2。
if语句的格式3:
if(比较、关系表达式1) {
语句体1;
} else if (比较、关系表达式2) {
语句体2;
} ...else {
语句体n+1;
}
执行流程为首先计算比较表达式1的值,看其返回值是true还是false,如果是true,就执行语句体1,if语句结束;如果是false,接着计算比较表达式2的值,看其返回值是true还是false,
如果是true,就执行语句体2,if语句结束;否则继续同上一样的操作,如果都是false,就执行语句体n+1。
if语句和三元的相互转换问题
1,三元运算符能实现的,都可以用if语句实现,由用三元运算符相对简单,所以我们写程序可以由先用三元运算符。
2,三元运算符是一个运算符,运算符操作完毕应该得到的是一个结果,而不是一个输出,但if语句可以。
switch语句
switch语句的格式:
switch(表达式){
case 值1 :
语句体1;
break ;
…
default:
语句体n+1;
break ;
}
总结:switch语句建议在判断固定值的时候使用,如周一,周二,周三这样子的。if语句建议判断区间或范围的时候使用,。