逻辑运算符:
& 逻辑与:有false则false。
| 逻辑或:有true则true。
^ 逻辑异或:相同为false,不同为true。
! 逻辑非:非false则true,非true则false。
位运算符:
& :有0则0
| :有1则1
^ :相同则0,不同则1
~ :按位取反
<< :左移 左边最高位丢弃,右边补齐0
>> :右移 最高位是0,左边补齐0;最高为是1,左边补齐1
>>> :无符号右移 无论最高位是0还是1,左边补齐0
实现两个整数变量的交换(不需要定义第三方变量)
1.
int x = 5;
int y = 10;
x = x + y;
y = x - y;
x = x - y;
弊端:有可能超出int的取值范围
2.
int x = 5;
int y = 10;
x = x ^ y;
y = x ^ y;
x = x ^ y;
三元运算符的格式: (关系表达式) ? 表达式1 : 表达式2;
int x = 10;
int y = 5;
int z;
z = (x>y) ? x : y ; (z=10)
即关系表达式为true,z = x; false z = y
键盘录入:
a:导包
格式:
import java.util.Scanner;
位置:
在class上面。
b:创建键盘录入对象
格式:
Scanner sc = new Scanner(System.in);
c:通过对象获取数据
格式:
int x = sc.nextInt();
流程控制语句;
顺序结构
选择结构
循环结构
选择结构的分类:
if语句
switch语句
if语句的格式1
if(比较表达式) {
语句体;
}
执行流程:
先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体;
如果是false,就不执行语句体;
注意事项:
a:比较表达式无论简单还是复杂,结果必须是boolean类型
b:if语句控制的语句体如果是一条语句,大括号可以省略;
如果是多条语句,就不能省略。建议永远不要省略。
c:一般来说:有左大括号就没有分号,有分号就没有左大括号
switch语句的格式
switch(表达式) { //基本数据类型可以接收byte,short,char,int,不能是long
case 值1: //引用数据类型可以接收枚举,string字符串
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}