逻辑运算符基本用法
&&和& 执行结果一样
其中&&具有短路效果,左边是False 则右边不执行,效率更高
||和| 同理 执行结果一样
其中||具有短路效果,左边是True 则右边不执行,效率更高
System.out.println(~6); //-7 ?
^位异或运算符的特点
上面结果为5, 下面结果为10
实现两个整数变量交换,(不需要定义第三方变量)
int x=10; int y=5;
左移右移 位运算符
键盘录入的基本格式
import java.util.Scanner;
class Demo_Scanner {
public static void main(String[] args){
Scanner sc = new Scanner(System.in); //创建键盘录入对象
System.out.println("请输入一个整数");
int x = sc.nextInt(); //将键盘录入的数据存储在x中
System.out.println(x);
}
}
只能输入整数, 如果输入字母或小数会报错
录入两个数, 比较两个数是否相等
switch建议判断固定值的时候用
if建议判断区间或范围的时候用
/*
* 键盘录入月份,输出对应的季节
一年有四季
3,4,5春季
6,7,8夏季
9,10,11秋季
12,1,2冬季
*/
import java.util.Scanner;
class Test3_SwitchIf {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //创建键盘录入对象
System.out.println("请输入月份");
int month = sc.nextInt(); //将键盘录入的结果存储在month
/*switch (month) {
case 3:
case 4:
case 5:
System.out.println(month + "月是春季");
break;
case 6:
case 7:
case 8:
System.out.println(month + "月是夏季");
break;
case 9:
case 10:
case 11:
System.out.println(month + "月是秋季");
break;
case 12:
case 1:
case 2:
System.out.println(month + "月是冬季");
break;
default:
System.out.println("对不起没有对应的季节");
break;
}*/
//用if语句来完成月份对应季节
if (month > 12 || month < 1) {
System.out.println("对不起没有对应的季节");
}else if (month >= 3 && month <= 5) {
System.out.println(month + "月是春季");
}else if (month >= 6 && month <= 8) {
System.out.println(month + "月是夏季");
}else if (month >= 9 && month <= 11) {
System.out.println(month + "月是秋季");
}else {
System.out.println(month + "月是冬季");
}
}
}
- a:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
- b:default可以省略吗?
- 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
- 特殊情况:
- case就可以把值固定。
- A,B,C,D
- c:break可以省略吗?
- 最后一个可以省略,其他最好不要省略
- 会出现一个现象:case穿透。
- 最终我们建议不要省略
- d:default一定要在最后吗?
- 不是,可以在任意位置。但是建议在最后。
- e:switch语句的结束条件
- a:遇到break就结束了
- b:执行到switch的右大括号就结束了