===
03.01 逻辑运算符的基本用法
// &(与)逻辑与& 有false则false
// |(或)逻辑或| 有true则true
// ^(异或)逻辑异或 相同为false,不同为true
// !(非) 逻辑非 非falsece
特点:偶数个不改变自身
===
03.02 &&与&的区别
// &&与&的区别 1.最终结果都是一样的
// &&具有短路效果,左边是false,右边不执行。
// ||与|的区别 1.最终结果是一样的
// ||具有短路效果,左边是true,右边不执行
===
03.03 位运算符的基本用法
正数原码反码补码都是本身
// &(位与) &:有0则0
System.out.println(6&3);//2
110
011
----
010
// |(位或) |:有1则1
System.out.println(6|3);//7
111
// ^(位异或) ^:相同则0,不同则1
System.out.println(6^3);//5
101
// ~(取反) ~:按位取反
System.out.println(6~3);//-7
===
03.04 位异或运算符的特点
// ^的特点:一个数据对另一个数据位异或两次,该数本身不变
//不需要定义第三方变量,有弊端,有可能超出int的取值范围
//int x=10;//互换
//int y=5;
//x=x+y; //15
//y=x-y; //10
//x=x-y; //5
//不需要第三方变量,通过^来做
//x=x^y; //10^5
//y=x^y; //10^5^5 y=10
//x=x^y; //10^5^10 x=5
===
03.05 位运算符的基本用法
// <<:左移 左边最高位丢弃,右边补齐0
// >>:右移 最高位是0,左边补齐0;最高位是1,左边补齐1
// >>>:无符号右移 无论最高位是0还是1,左边补齐0
//左移,向左移动几位就是乘以2的几次幂
//System.out.println(12<<1);//24
//System.out.println(12<<2);//48
//右移,向右移动几位就是除以2的几次幂
//System.out.println(12>>1);//6
//System.out.println(12>>2);//3
//最有效率算出2*8 System.out.println(2<<3);
===
03.06 三元运算符
//格式(关系表达式)?表达式1:表达式2
//int a=10;
//int b=20;
//int c=30;
//int temp=(a>b)?a:b;//先比较两个数,找出两数中最大值
//int max=(c>temp)?c:temp;//用两个数的最大值和c比较
//System.out.println(max);
===
03.07 键盘录入的基本格式
//Scanner sc=new Scanner(System.in);//创建键盘录入对象
//System.out.println("请输入一个整数:");
//int x=sc.nextInt();//将键盘录入的数据储存在x中
//System.out.println(x);
//键盘录入两个数据,比较这两个数据是否相等
//boolean a=(x==y);
//System.out.println("a(true相等,false不相等):"+a);
//键盘录入三个数据,获取最大值
//int temp=(x>y)?x:y;//先比较两个数,大的赋值给temp
//int max=(z>temp)?z:temp;//用z比较xy中最大值
===
03.08 顺序结构语句 //sequence顺序
//由上而下执行
03.09 选择结构语句
//if语句和swith语句
//if的格式 比较表达式返回true执行语句体,返回false不执行语句体
① if(比较表达式){
语句体;
}
//② if(比较表达式){
语句体1;
}else{
语句体2;
}
===
03.10 判断奇偶
if(x%2==0){
System.out.println(x+"为偶数!");
}else{
System.out.println(x+"为奇数!");
}
===
03.11 switch的格式
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
//case后面只能是常量而不是变量,case的值不能出现相同的
//default可以在任意位置,但是建议在最后
//遇break输出,或者switch大括号
===
03.12 例题
//键盘录入月份,输出对应的季节
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个月份:");
int month = sc.nextInt();
switch(month){
case 3:
case 4:
case 5:
System.out.println(month+"月为春季!");
break;
case 6:
case 7:
case 8:
System.out.println(month+"月为夏季!");