Java - 6 语句
Java 6 语句
嵌套分支
最好不要超过三层
Switch分支
// 表达式对应一个值
switch(表达式){
    case 常量1:
        // 代码块1
        break;
    case 常量2:
        // 代码块2
        break;
    default:
        // 代码块default
        break;
}
细节:
- 表达式和常量要么类型一致,要么可以自动转换
 - 表达式中的返回值必须是
byte,short,int,char,enum,String - default是可选的
 
for循环
// 执行次数 = 循环条件为假时循环变量的值 - 循环变量初始值
for(循环变量初始化; 循环条件; 循环变量迭代){
	// 循环体
}
细节:
- 
循环条件返回一个boolean
 - 
int i = 1; for(; i<=10; ){ i++; } - 
int count = 3; for (int i = 0, j = 0; i < count; i++, j+=2){ } - 
先判断再执行
 
while循环
循环变量初始化
while(循环条件){
	// 循环体
    // 循环变量迭代
}
细节:
- 先判断再执行
 
do-while循环
循环变量初始化
do{
	// 循环体
    // 循环变量迭代
}while(循环条件)
细节:
- 先执行再判断(至少执行一次)
 
嵌套循环
一般两层,最多三层
break跳转
hello:{
    abc:{
		break hello;
    }
}
细节:
- break可以指定退出哪层
 - 一般不用
 - 没有标签默认跳出最近的循环体
 
continue
退出当前这一次循环,开始下一次循环
label1:{
    label2:{
        continue label1;
    }
}
和break一样
练习
金字塔
public class Stars {
	public static void main(String[] args) {
		// 循环输出每一行
		for (int line = 0; line<6; line++){
			String kg = " ";
			String stars = "*";
			// 循环输出空格
			int num = 4-line;
			while(num>0){
				kg += " ";
				num--;
			}
			// 循环输出*
			int star = line*2+1;
			while(star>1){
				stars += "*";
				star--;
			}
            // 最后一行不用输出空格
			if(line == 5){
				System.out.println(stars);
			}else{
				System.out.println(kg + stars);
			}
		}
	}	
}
for(int line = 1; line < 6; line++){ // line表示行
    // 打印空格,不换行
    for (int kg = 5-line; kg>0; kg--){
		System.out.print(" ");
    }
    // 打印stars,不换行
    for (int stars = line*2-1; stars>0; stars--){
        System.out.print("*");
    }
    // 换行
    System.out.println("");
}
D:\Java_code>java Test
     *
    ***
   *****
  *******
 *********
***********
空心金字塔
public class Starsair {
	public static void main(String[] args) {
		// 
		for (int line = 0; line<6; line++){
			String kg = " ";
			String stars = "*";
			// 
			int num = 4-line;
			while(num>0){
				kg += " ";
				num--;
			}
			// 
			int star = line*2+1-1;
			while(star>1){
				stars += " ";
				star--;
			}
			stars += "*";
			if(line == 5){
				System.out.println("***********");
			}else if(line == 0){
				System.out.println(kg + "*");
			}else{
				System.out.println(kg + stars);
			}
		}	
	}	
}
D:\Java_code>java Test
     *
    * *
   *   *
  *     *
 *       *
***********
public class StarsAir {
	public static void main(String[] args) {
		// 
		int totalNum = 10;
		for(int line = 1; line <= totalNum; line++){ 
		    // 
		    for (int kg = totalNum-line; kg>0; kg--){
				System.out.print(" ");
		    }
		    // 
		    for (int stars = line*2-1; stars>0; stars--){
		    	// 第一个位置,最后一个位置,最后一行输出*
		        if(stars == line*2-1 || stars == 1 || line==totalNum){
					System.out.print("*");
		        }else{
		        	System.out.print(" ");
		        }
		    }
		    //
		    System.out.println("");
		}	
	}	
}
水仙花数
public class Flower {
	public static void main(String[] args) {
		int num = 150;
		int sum = 0;
		for(int temp = num; temp>0;temp/=10){
			int a =temp%10;
			sum += a*a*a;
		}
		if(sum == num) System.out.println("yes");
		else System.out.println("no");
	}	
}
注意分数!!!
public class Test {
	public static void main(String[] args) {
		// ***
        double sum = 0; 
		for(int i = 1; i<=100; i++){
			// ***
            double unit = 1.0/i; 
			if(i%2 == 0) sum -= unit;
			else sum +=unit;
		}
		System.out.println(sum);
	}	
}
                    
                
                
            
        
浙公网安备 33010602011771号