Day02-02流程控制

02

顺序结构

选择结构

if单选择结构

package com.kuang.structure;

import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入内容:");
        String s = scanner.nextLine();

        //equals:判断字符串是否相等
        if(s.equals("Hello")){
            System.out.println(s);
        }

        System.out.println("End");

        scanner.close();
    }
}

if双选择结构

package com.kuang.structure;

import java.util.Scanner;

public class Demo02 {
	public static void main(String[] args){
		//考试分数大于60就是及格,小于60就不及格。
		Scanner scanner = new Scanner(System.in);
		
		System.out.println("请输入成绩:");
		int score = scanner.nextInt();
		
		
		if(score>60){
			System.out.println("及格");
		}else{
			System.out.println("不及格");
		}

		scanner.close();
	}
}

if多选择结构

package com.kuang.structure;

import java.util.Scanner;

public class Demo03 {
	public static void main(String[] args){
		/*
		if语句至多有一个else语句,else语句必须在所有的else if 语句之后
		一旦其中一个else if 语句检测为true,其他的else if 以及else 语句都将跳过执行
		*/
		//考试分数大于60就是及格,小于60就不及格。
		Scanner scanner = new Scanner(System.in);
		
		System.out.println("请输入成绩:");
		int score = scanner.nextInt();
		
		
		if(score==100){
			System.out.println("恭喜满分");
		}else if(score<100&&score>=90){
			System.out.println("A级");
		}else if(score<90&&score>=80){
			System.out.println("B级");
		}else if(score<80&&score>=70){
			System.out.println("C级");
		}else if(score<70&&score>=60){
			System.out.println("D级");
		}else if(score<60&&score>=0){
			System.out.println("不及格");
		}else {
			System.out.println("成绩不合法");
		}
			
	
		scanner.close();
	}
}

嵌套的if结构

思路:二分法

Switch多选择结构

package com.kuang.structure;

public class Demo04 {
    public static void main(String[] args){
        //case 穿透  //switch 匹配一个具体的值
        char grade = 'C';

        switch(grade){
            case 'A':
                System.out.println("优秀");
                break; //可选
            case 'B':
                System.out.println("良好");
                break; //可选
            case 'C':
                System.out.println("及格");
                break; //可选
            case 'D':
                System.out.println("再接再厉");
                break; //可选
            case 'E':
                System.out.println("挂科");
                break; //可选
            default :
                System.out.println("未知等级");
        }
    }
}

JDK7新特性,表达式结果可以是字符串!!!

package com.kuang.structure;

public class Demo05 {
    public static void main(String[] args){
        String name = "狂神";
        //JDK7新特性,表达式结果可以是字符串!!!
        //字符的本质还是数字

        //反编译 java---class(字节码文件)----反编译(IDEA)
        switch(name){
            case"秦疆":
                System.out.println("秦疆");
                break;
            case"狂神":
                System.out.println("狂神");
                break;
            default :
                System.out.println("弄啥嘞");

        }

    }
}

怎么在IDEA中查看反编译

循环结构

while循环

package com.kuang.structure;

public class Demo06 {
	public static void main(String[] args){
		//计算1+2+3+...+100=?
		
		int i = 0;
		int sum = 0;
		
		while(i<100){
			sum = sum +i;
			i++;
		}
		System.out.println(sum);
	}
}

do...while循环

package com.kuang.structure;

public class Demo07 {
	public static void main(String[] args){
		//计算1+2+3+...+100=?
		
		int i = 0;
		int sum = 0;
		
		do{
			sum = sum +i;
			i++;
		}while(i<=100)
		System.out.println(sum);
	}
}
package com.kuang.structure;

public class Demo08 {
    public static void main(String[] args){
        int a = 0;
        while (a<0){
            System.out.println(a);
            a++;
        }
        System.out.println("===================");
        do{
            System.out.println(a);
            a++;
        }while(a<0);

    }
}

for循环【最有效最灵活的循环】

package com.kuang.structure;

public class Demo09 {
	public static void main(String[] args){
		int a = 1;//初始化条件
		
		while (a<=100){//条件判断
			System.out.println(a);//循环体
			a+=2;//迭代
		}
		System.out.println("while循环结束!");
		
		//初始化//条件判断//迭代
		for(int i = 1;i<=100;i++){
			System.out.println(i);
		}
		
		/*
		IDEA快捷键:
		100.for+回车,自动生成上面的for循环
		*/
		System.out.println("for循环结束");
		
		/*
		关于for循环有以下几点说明:
		最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
		然后,检测布尔表达式的值。如果为true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
		执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。
		再次检测布尔表达式。循环执行上面的过程。
		*/
		
		//死循环
		for(;;){
			
		}
	}
}

练习1:计算0~100之间的奇数和偶数的和

package com.kuang.structure;

public class Demo10 {
	public static void main(String[] args){
		//练习1:计算0~100之间的奇数和偶数的和
		
		int oddSum = 0;
		int evenSum = 0;
		
		for (int i = 0;i<100;i++){
			if (i%2!=0){//奇数
				oddSum+=i;
			}else{//偶数
				evenSum+=i;
			}
		}
		
		System.out.println("奇数的和:"+oddSum);
		System.out.println("偶数的和:"+evenSum);
	}
}

练习2:用while或for循环输出1~1000之间能被5整除的数,并且每行输出3个

package com.kuang.structure;

public class Demo11 {
	public static void main(String[] args){
		//练习2:用while或for循环输出1~1000之间能被5整除的数,并且每行输出3个
		
		for (int i = 0;i<=1000;i++){
			if(i%5==0){
				System.out.print(i+"\t");
			}
			if(i%(5*3)==0){//每行
				System.out.println();//换行
				System.out.print("\n");//换行
			}
		}
		
		//println  输出完会换行
		//print 输出完不会换行
	}
}

练习3:打印九九乘法表

package com.kuang.structure;


/*
1x1=1 
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
....
*/


public class Demo12 {
	public static void main(String[] args){
		//练习3:打印九九乘法表
		//1.我们先打印第一列,
		//2.我们把固定的1再用一个循环包起来
		//3.去掉重复性,j<=i
		//4.调整样式
		for (int i = 1;i<=9;i++){
			for(int j = 1;j<=i;j++){
				System.out.print(i+"*"+j+"="+(i*j)+"\t");
			}	
			System.out.println();
		}
		
	}
}

增强for循环【用于数组】

package com.kuang.structure;

public class Demo13 {
	public static void main(String[] args){
		int[] numbers={10,20,30,40,50};//定义一个数组
		
		for(int i = 0;i<5;i++){//也可以写成for(int i = 0;i<numbers.length;i++){}
			System.out.println(numbers[i]);
		}
		
		System.out.println("=============================");
		//遍历数组的元素
		//快捷键:numbers.for
		for(int x:numbers){//增强for循环
			System.out.println(x);
		}
	}
}

break、continue、goto

break【用于强行退出循环】

continue【用于终止某次循环】

练习:打印三角形

package com.kuang.structure;

public class Demo14 {
    public static void main(String[] args){
        //打印三角形 5行
        for(int i=1;i<=5;i++){
            for(int j=5;j>=i;j--){
                System.out.print(" ");
            }
            for(int j=1;j<=i;j++){
                System.out.print("*");
            }
            for(int j=1;j<i;j++){
                System.out.print("*");
            }

            System.out.println();
        }

    }
}

posted @ 2021-03-31 10:50  JwStudy  阅读(55)  评论(0)    收藏  举报