7:如何实现对两个整数变量的值进行互换。
思路一:利用第三方临时变量
int a = 10,b=20;
int temp = a;
a = b;
b = temp;
思路二:利用加法(有缺陷,有可能超出定义数值的类型的范围)
int a = 10,b = 20;
a = a+b;
b = a-b;
a = a-b;
思路三:利用按位异或方法
x = x^y; //x>> x^y
y = x^y; //y>> x^y^y
x = x^y; //x>> x^y^x^y^y
// y^((x^y^y)^x)
// y^(x^x)
// y^x^x
// y
8:三元运算符的格式是什么? (关系表达式)?表达式1:表达式2;
执行流程是什么? 先判断关系表达式为true还是false,true的话执行表达式1,false的话执行表达式2
9:使用三元运算符完成如下练习
比较两个数是否相等
int a =10,b = 20;
String s = (a==b)?"它俩相等":"它俩不等";
获取两个数中最大值
int a = 10,b = 20;
int max = (a>b)?a:b;
System.out.println("最大数为"+max);
获取三个数中最大值
int a = 10,b = 20,c = 30;
int max = (a>b)?((a>c)?a:c):((b>c)?b:c);
System.out.println("三个数中最大的是"+max);
switch(x)
{
default:
y++;
case 3:
y++;
break;
case 4:
y++;
}
System.out.println("y="+y);
输出结果:
y=6
16:根据输入的值,判断是星期几。(分别用if语句和switch语句实现)
输入:1
输出:星期1
switch 实现:
int num = sc.nextInt();
switch(num){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("你输入的数字不属于1~7,请重新输入");
break;
}
if 实现:
int num = sc.nextInt();
if (num==1) {
System.out.println("星期一");
}else if (num==2) {
System.out.println("星期二");
}
.......
}else {
System.out.println("您输入的数不属于1~7");
}