2019-05-13 java学习日记

May 13,2019 - JAVA 学习日记 Day3

逻辑运算符

逻辑运算符:与&,或|,异或^,非!;
逻辑运算符的结果不是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 ;
}

 

猜你喜欢

转载自www.cnblogs.com/Sherwin-liao/p/10859677.html