1.if和switch的区别:
if可以用于判断数值,也可以判断区间,只要运算结果是boolean型,都可以进行判断
switch用于对固定的几个值的判断,判断值的类型有限:byte short int char enum String
2.最简单的无限循环:while(true){} for(; ;){}
3.break作用范围:switch 和 Loop中,即一般只能跳出当前switch和loop
break通过标号跳出外循环:
outer:for(int i = 0;i < 5;i++){
inter:for(int j = 5-i;j>0;j--){
System.out.print('*');
break outer;//直接跳出外层循环,outer:和inter:为标号,用于区分两个for
}
}
4.continue只作用于loop,结束本次循环,继续下次循环
/*
需求:使用continue输出0-10的所有奇数
思路:for循环+continue
*/
class Continue_Demo{
public static void main(String[] args){
for(int i=0;i<11;i++){
if(i%2==0){
continue;
}
System.out.print(i+" ");
}
}
}
同理,continue也可通过标号进入另一循环
/*
需求:将十进制转化为十六进制
思路:1.通过按位与&和无符号右移>>>依次获取4位该数的二进制位
2.将4位二进制转化为十六进制:>9:(char)(x-10+'a')
ascii: 97 98 99 100 101 102
0x: 'a' 'b' 'c' 'd' 'e' 'f'
十: 10 11 12 13 14 15
3.右移直到该数的全部二进制位为0
*/
import java.util.*;
class Convert_Demo{
public static void main(String[] args){
System.out.println("请输入一个整数:");
Scanner input = new Scanner(System.in);//Scanner类
int x = input.nextInt();//键盘输入一个整数
int size = 8;//int型4byte,8个4位二进制
int[] tmp = new int[size];
for(int i=0;i<size;i++){
tmp[i] = 0;
}//初始化为0
int j=0;
while(x!=0 && j<size){
tmp[j]=x&15;//取后4为二进制
x = x >>> 4;//x无符号右移4位
j++;
}
System.out.println("该数的十六进制为:");
for(int i=size-1;i>=0;i--){
if(tmp[i]<10){
System.out.print(tmp[i]);
}
else System.out.print((char)(tmp[i]-10+'a'));
}
}
}