流程结构(选择结构,循环结构)

流程结构

选择结构

if结构

if单选择结构

if(判断条件){
    若符合,则执行此处
}

if双选择结构

if(判断条件){
    若符合,则执行此处
}else{
    若不符合判断条件,则执行此处
}

if多选择结构

if(判断条件1){
    若符合1,则执行此处
}else if(判断条件2){
    若符合判断条件2,则执行此处
}else if(判断条件3){
    若符合判断条件3,则执行此处
}else{
    若不符合判断条件,则执行此处
}

嵌套的if结构

switch多选择结构

  • switch语句中的变量类型可以是:
    • byte,short,int或者是char
    • 从 Java SE 7 开始支持String 类型
    • 同时 case 标签必须为字符串常量或字面量

循环结构

while循环

while(布尔表达式){
    循环内容
}

打印1~100的和

public class WhileDemo03 {
    public static void main(String[] args) {
        int sum=0;
        int t=0;
        while(t<100){
            t++;
            sum+=t;
        }
        System.out.println("1~100的和为:"+sum);
    }
}

do..while循环

至少会执行一次

do{
    代码语句
}while(布尔表达式);
public class DoWhileDemo04 {
    public static void main(String[] args) {
        int sum = 0;
        int t = 0;
        do {
            t++;
            sum += t;
        } while (t < 100);
        System.out.println("1~100的和为:" + sum);
    }
}
  • while和do..while的区别
    • while先判断后执行,do..while先执行后判断
    • do..while总是保证循环体会被至少执行一次

for循环

  • for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构
for(初始化;布尔表达式;更新){
    代码语句
}

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

public class ForDemo04 {
    public static void main(String[] args) {
        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个

public class ForDemo04 {

    public static void main(String[] args) {
        int i = 0; //遍历的值
        int m = 0; //每行个数
        while (i <= 1000) {
            if (i % 5 == 0) {
                System.out.print(i + "\t");
                //每输出一个值,m就+1,当m可以被3整除时,换行
                m++;
                if (m % 3 == 0) {
                    System.out.println();
                }
            }
            i++;
        }
    }
}

练习3:打印九九乘法表

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

增强for循环

for(声明语句:表达式){
    代码语句
}
  • 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
  • 表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

练习:打印三角形

public class testDemo05 {
    public static void main(String[] args) {
        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-01-28 18:57  杪夏九  阅读(100)  评论(0)    收藏  举报