day04 循环结构

1 switch语句的格式?针对格式的解释?以及注意事项?

switch(表达式) {
		case 值1:
			语句体1;
			break;
		case 值2:
			语句体2;
			break;
		...
		default:
			语句体n+1;
			break;
}

格式解释说明:

switch:说明这是switch语句
表达式:可以是byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是字符串
case:后面的值就是要和表达式进行比较的值
break:表示程序到这里中断,跳出switch语句
default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else

注意事项:

A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
B:default可以省略吗?
可以省略,但是不建议,因为它的作用是对不正确的情况给出提示
特殊情况:
case就可以把值固定
C:break可以省略吗?
可以省略,但是结果可能不是我们想要的
会出现一个现象:case穿透
最终我们建议不要省略
D:default一定要在最后吗?
不是,可以在任意位置 但是建议在最后
E:switch语句的结束条件
a:遇到break就结束了
b:执行到末尾就结束了

2 看程序,分析下面程序的结果:

int x = 2,y=3;

switch(x)
{
	default:
		y++;
	case 3:
		y++;
		break;
	case 4:
		y++;
}

System.out.println("y="+y);

y=5

3 根据输入的值,判断是星期几 (分别用if语句和switch语句实现)

输入:1	 
	输出:星期1
import java.util.Scanner;

public class Week {
	public static void main(String[] args) {
		// 获取录入的一个数字
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个数字:");
		int weekday = sc.nextInt();
		// 输出相应的星期数
		switch(weekday){
		case 1:
			System.out.println("星期1");
			break;
		case 2:
			System.out.println("星期2");
			break;
		case 3:
			System.out.println("星期3");
			break;
		case 4:
			System.out.println("星期4");
			break;
		case 5:
			System.out.println("星期5");
			break;
		case 6:
			System.out.println("星期6");
			break;
		case 7:
			System.out.println("星期7");
			break;
		default:
			System.out.println("请输入有效的数字");
		}
	}
}
import java.util.Scanner;

public class Week_ {
	public static void main(String[] args) {
		// 获取录入的一个数字
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个数字:");
		int weekday = sc.nextInt();
		// 输出相应的星期数
		if(weekday==1) { 
            System.out.println("星期1");
        }else if(weekday==2) { 
            System.out.println("星期2");
        }else if(weekday==3) {
            System.out.println("星期3");
        }else if(weekday==4) { 
            System.out.println("星期4");
        }else if(weekday==5) {
            System.out.println("星期5");
        }else if(weekday==6) { 
            System.out.println("星期6");
        }else if(weekday==7) {
            System.out.println("星期7");
        }else {
            System.out.println("请输入有效的数字");
        }
	}
}


4 for循环的格式?要能看懂执行流程

用for循环完成如下案例

求和

// 求和

public class Sum {
    public static void main(String[] args) {
        int sum = 0;
        for (int i=0;i<10;i++) {
            sum += i;
        }
        System.out.println(sum);
    }
}

求偶数和

// 偶数

public class Even {
    public static void main(String[] args) {
        int sum = 0;
        for (int i=0;i<10;i++) {
            if(i%2 == 0) {
                sum += i;
            }
        }
        System.out.println(sum);
    }
}

求奇数和

// 奇数

public class Odd {
    public static void main(String[] args) {
        int sum = 0;
        for (int i=0;i<10;i++) {
            if(i%2 == 0) {
                continue;
            }
            sum += i;
        }
        System.out.println(sum);
    }
}

打印水仙花数

// 打印水仙花数

public class Print {
	public static void main(String[] args) {
		int m;
		System.out.print("所有的水仙花数为:");
		for (int n = 100; n < 1000; n++) {
            // 三位数,各位数字的立方和等于自身
			m = (int) Math.pow(n / 100, 3) + (int) Math.pow(n / 10 % 10, 3) + (int) Math.pow(n % 10, 3);
			if (n == m) {
				System.out.print(n + " ");
			}
		}
	}
}

统计水仙花数

// 统计水仙花数

public class Count {
	public static void main(String[] args) {
		int m;
        int count = 0;
		System.out.print("所有的水仙花数为:");
		for (int n = 100; n < 1000; n++) {
            // 三位数,各位数字的立方和等于自身
			m = (int) Math.pow(n / 100, 3) + (int) Math.pow(n / 10 % 10, 3) + (int) Math.pow(n % 10, 3);
			if (n == m) {
				System.out.print(n + " ");
                count++;
			}
		}
        System.out.println("水仙花数共有:"+count+"个");
	}
}

九九乘法表

// 九九乘法表

public class Table {
	public static void main(String[] args){
		for(int i=1;i<=9;i++){
			for(int j=1;j<=i;j++){
				System.out.print(j+"*"+i+"="+(i*j)+"  ");
			}
			System.out.println();
		}
	}
}

5 while循环的格式?要能看懂执行流程

用while循环完成如下案例

求和

// 求和

public class Sum_ {
    public static void main(String[] args) {
        int sum = 0;
        int i = 1;
        while(i < 10) {
            i++;
            sum += i;
        }
        System.out.println(sum);
    }
}

纸张折叠成珠穆朗玛峰高度的次数

// 纸张折叠成珠穆朗玛峰高度的次数

public class Number {
    public static void main(String[] args) {
        int i = 0;
        double sum = 0.01;
        while(sum < 8848) {
            i++;
            sum *= 2;
        }
        System.out.println(i);
        System.out.println(sum);
    }
}

6 break,continue和return分别有什么用?

break:结束循环
continue: 结束本次循环后边语句不执行,进入下一循环
return:返回或终止执行某一段程序

猜你喜欢

转载自blog.csdn.net/hezuijiudexiaobai/article/details/107544742