Java - 6 语句

Java 6 语句

嵌套分支

最好不要超过三层

Switch分支

// 表达式对应一个值
switch(表达式){
    case 常量1:
        // 代码块1
        break;
    case 常量2:
        // 代码块2
        break;
    default:
        // 代码块default
        break;
}

细节:

  1. 表达式和常量要么类型一致,要么可以自动转换
  2. 表达式中的返回值必须是byte, short, int, char, enum, String
  3. default是可选的

for循环

// 执行次数 = 循环条件为假时循环变量的值 - 循环变量初始值
for(循环变量初始化; 循环条件; 循环变量迭代){
	// 循环体
}

细节:

  1. 循环条件返回一个boolean

  2. int i = 1;
    for(; i<=10; ){
        
        i++;
    }
    
  3. int count = 3;
    for (int i = 0, j = 0; i < count; i++, j+=2){
        
    }
    
  4. 先判断再执行

while循环

循环变量初始化
while(循环条件){
	// 循环体
    // 循环变量迭代
}

细节:

  1. 先判断再执行

do-while循环

循环变量初始化
do{
	// 循环体
    // 循环变量迭代
}while(循环条件)

细节:

  1. 先执行再判断(至少执行一次)

嵌套循环

一般两层,最多三层

break跳转

hello:{
    abc:{
		break hello;
    }
}

细节:

  1. break可以指定退出哪层
  2. 一般不用
  3. 没有标签默认跳出最近的循环体

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);
	}	
}
posted @ 2024-10-06 15:40  wajiez  阅读(13)  评论(0)    收藏  举报