&&与&的区别
a:最终结果一样
b:&&具有短路效果。左边是false,右边不执行
||与|的区别
a:最终的结果一样
b:||具有短路效果,左边为true,右边不执行
位运算符的基本用法
&:有0则0
|:有1则1
^:相同为0,不同为1 特点:一个数据对另一个数据位异或两次,该数本身不变
~:按位取反
例.实现两个整数变量的交换(不需要定义第三方变量)
int x = 10;
int y = 5;
//需要第三方变量,开发推荐用这种
/int temp;
temp = x;
x = y;
y = temp;/
//不需要定义第三方变量,有弊端,有可能超过int的取值范围
/*x = x+ y;
y = x - y;
x = x-y;
// 不需要第三方变量,通过^来做
x = x ^ y;
y = x ^ y;
x = x ^ y;
System.out.println(" x = " + x + ",y = " +y);
}
}
左移<< 左边最高位丢弃,右边补0 向左移动几位就是乘以2的几次幂。
右移>> 最高位为0,左边补齐0;最高位1,左边补齐1 向右移动几位就是除以2的几次幂
无符号右移>>> 无论最高位为0还是1,左边补齐0
三元运算符的练习
例1
比较两个整数是否相同
int x =10;
int y = 5;
boolean b = (x==y)? true : false;
System.out.println("b = " + b);
}
}
例2
获取三个整数中的最大值
int a = 10;
int b = 20;
int c = 30;
//先比较任意两个数的值,找出这两个数中的最大值
int temp = (a > b) ? a : b;
//用前两个数的最大值与第三个数比较,获取最大值
int max = (temp > c) ? temp : c;
System.out.println("max =" + max);
}
}
键盘录入的基本格式
a:导包
* 格式:
* import java.util.Scanner;
* 位置:
* 在class上面。
* b:创建键盘录入对象
* 格式:
* Scanner sc = new Scanner(System.in);
* c:通过对象获取数据
* 格式:
* int x = sc.nextInt();
选择结构if语句注意事项
a.比较表达式无论简单还是复杂,结果必须是boolean类型
b.if语句控制的语句体如果是一条语句,大括号可以省略;如果是多条语句,就不能省略,建议永远不要省略
c.一般来说,有左大括号就没有分号,有分号就没有左大括号
选择结构switch语句的注意事项
a.case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
b.default可以省略吗?
可以省略,但是不建议,因为它的作用是对不正确的情况给出提示
特殊情况:case就可以把值固定
c.break可以省略吗?
最后一个可以省略,其他最好不要省略
会出现一个现象:case穿透
最终我们建议不要省略
d.default一定要在最后吗?
不是,可以在任意位置,但是建议在最后。
e.switch语句的结束条件
a.遇到break就结束了
b.执行到switch的右大括号就结束了
例题
lass Test2_Switch {
public static void main(String[] args) {
A:看程序写结果:
int x = 2;
int y = 3;
switch(x){
default:
y++;
break;
case 3:
y++;
case 4:
y++;
}
System.out.println("y="+y);*/ y=4
B:看程序写结果:
int x = 2;
int y = 3;
switch(x){
default:
y++;
case 3:
y++;
case 4:
y++;
}
System.out.println("y="+y);
}
}
y=6
总结switch语句和If语句的各自使用场景
switch建议判断固定值的时候用
if建议判断区间或范围的时候用
网友评论