顺序、选择、循环(java)

顺序

语句和语句之间、框与框之间都是从上往下执行的

选择

if单选结构

语法:

if(布尔表达式){
    //布尔表达式为true执行的语句
        }

例:

import java.util.Scanner;

public class ifDemo01 {
    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双选结构

语法:

if(布尔表达式){
    //布尔表达式为true执行的语句
        }else{
      //  布尔表达式为false执行的语句}

例:

import java.util.Scanner;

public class IfDemo02 {
    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多选择结构

语法:

if(布尔表达式1){
    //布尔表达式1为true执行的语句
        }else if(布尔表达式2){
      //  布尔表达式2为ture执行的语句}
      else if(布尔表达式3){
      //布尔表达式3为true执行的语句
        }else{
        以上表达式均不为true时执行的语句
        }

例:

import java.util.Scanner;

public class IfDemo03 {
    public static void main(String[] args) {
        //60分以下不及格,60-70及格,70-80中等,80-90良好,90-100优秀
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入分数");
        int score = scanner.nextInt();
        if (score>=0 && score<60){
            System.out.println("不及格");
        }else if (score>=60 && score < 70){
            System.out.println("及格");
        }else if (score>=70 && score < 80){
            System.out.println("中等");
        }else if (score>=80 && score < 90){
            System.out.println("良好");
        }else if (score>=90 && score <= 100){
            System.out.println("优秀");
        }else {
            System.out.println("成绩不合法");
        }

        scanner.close();
    }
}

嵌套的if结构

语法:

if(布尔表达式1){
    //布尔表达式1为true执行的语句
        } if(布尔表达式2){
      //  布尔表达式2为ture执行的语句}

switch多选择结构

switch case语句判断一个变量与一系列值中的某个值是否相等,每个值为一个分支。switch中的变量类型可以是byte、short、int、char和string;但是case常量处的value必须为字符串常量或字面量
语法:

  switch(表达式){
            case value:
                //语句
                break;//可选
            case value:
                //语句
                break;//可选
            //case的数量任意
            default://可选
                //语句
        }

例1:

import java.util.Scanner;

public class SwitchDemo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
      //分数
        char grade = 'C';
        /*case穿透:
        该例中,如果C后面没有break;,则输出中等后会输出D对应的等级
        如果C后面有,D后面没有,只会输出C对应的等级,不会输出E对应的等级
        但如果C、D、E后都没有break;则会输出中等、及格、不及格、等级不存在,四个均会出现。
         */
        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("等级不存在");
                    }
        scanner.close();
    }
}

例2:

//JDK7的新特性,表达式结果可以是字符串
import java.util.Scanner;

public class WwitchDemo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String name = "fighting";
        switch (name){
            case "fight":
                System.out.println("错误");
                break;
            case "fighting":
                System.out.println("bingo");
                break;
            default:
                System.out.println("未找到");

        }
        scanner.close();
    }
}

反编译

file→project structure→下图→找到文件位置,并打开该位置,即可找到对应文件的class文件(将该文件放到src中的对应Java文件一起,用IDEA打开文件夹的方式打开该文件(拖动到IDEA界面中))就可以看到反编译的文件了。

文件位置
反编译的文件

循环

while

语法:

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

例:

import java.util.Scanner;

public class WhileDemo01 {
    public static void main(String[] args) {
        //输出1-100
        int i= 1;
        while (i<=100){
            System.out.println(i);
            i++;
        }
    }
}

do…while

语法:

do{
//代码语句
}while(布尔表达式);

和while的区别:while是先判断后执行,do…while是先执行后判断,保证代码一定会执行一次。
例:

public class DoWhileDemo01 {
    public static void main(String[] args) {
        int i = 0;
        int num = 0;
        do {
            num = num + i;
            i++;
        }while (i<=100);
        System.out.println(num);//5050
    }
}

for

java5中引入了一种用于数组的增强型for循环
语法:

//初始化可以是空语句
for(初始化;布尔表达式;更新){
//代码语句
}

输入100.for回车自动生成:

for (int i = 0; i < 100; i++) {
            
        }

例:

public class ForDemo01 {
    public static void main(String[] args) {
      //求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);
    }
}

例:

public class ForDemo02 {
    public static void main(String[] args) {
        //输出100以内能被5整除的数,每行三个
        for (int i = 0; i < 100; i++) {
            if (i%5==0){
                System.out.print(i+"\t");//空格println会自动换行
            }
            if (i%15==0){
                System.out.print("\n");
                //或者System.out.println();
            }
        }
    }
}

例:

//打印九九乘法表
public class ForDemo03 {
    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)+"\t");
            }
            System.out.println();
        }
    }
}
增强for循环

主要针对数组和集合
语法:

for(声明语句:表达式){
//语句
}

例:

public class ForDemo04 {
    public static void main(String[] args) {
        int[] numbers = {1,2,3,4,5};//定义一个数组
       for (int i=0;i<5;i++){
           System.out.println(numbers[i]);
       }
        System.out.println("============");//分割线
        //遍历数组中的元素,效果和上面的for循环类似
        for (int x:numbers){
            System.out.println(x);
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值