Java教程

java 顺序结构,选择结构,循环结构

本文主要是介绍java 顺序结构,选择结构,循环结构,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

顺序结构

  • 顺序结构是java的基本结构,除非特别指明,否则就按照顺序一句一句来执行
  • 顺序结构是最简单的算法结构。
  • java就是一种以顺序结构为主的一种语言,每一个语句都是按从上到下依次执行的
 public static void main(String[] args) {
        //顺序结构,可以看到Java是从上往下依次编译的
        System.out.println("wang");
        System.out.println("wang1");
        System.out.println("wang2");
        System.out.println("wang3");
        System.out.println("wang4");
        System.out.println("wang5");
        
    }

选择结构

if 语句:如果布尔表达式返回的结果为true(真)时,那么就会执行{}中的语句,如果返回的是float(假),就不会执行那里面的语句

语法:

if(布尔表达式) { 
    //如果布尔表达式为true将执行的语句
}
    //if语句,选择结构
    //用一个if语句来判断一个学生的成绩是否及格
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入该学生的成绩:");
        if(scanner.hasNextDouble()){//判断是否有数据输入
            double grade=scanner.nextDouble();//获取你输入的数来进行下面的判断65.2
            if(grade>60){//如果成绩大于60分是及格,那么就会执行下面的语句
                System.out.println("该学生成绩合格");

            }
        }

    }

if…else语句:
if…else语句的本质就是如果if语句返回的是false(假)时,就会执行else{}中的语句,

相当于就是

如果if(为真){执行这里面的语句},否则{执行else的语句}

语法

if…else 的用法如下:

if(布尔表达式){   
    //如果布尔表达式的值为true
}else{  
    //如果布尔表达式的值为false 
}
    //if语句,选择结构
    //用一个if语句来判断一个学生的成绩是否及格
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入该学生的成绩:");
        if(scanner.hasNextDouble()){//判断是否有数据输入
            double grade=scanner.nextDouble();//获取你输入的数来进行下面的判断65.2
            if(grade>60){//如果成绩大于60分是及格,那么就会执行下面的语句
                System.out.println("该学生成绩合格");

            }else{
                System.out.println("该学生成绩不合格");//输入45.5,会输出这句话
            }
        }

if多分支语句

if(布尔表达式1){

当布尔表达式1为真时,执行这里的语句

}else if(布尔表达式2){

当布尔表达式2为真时,执行这里的语句

}else if(布尔表达式3){

当布尔表达式3为真时,执行这里的语句

}

else{

上面的条件都不满足时,就执行这里的语句

}

 public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入该学生的成绩:");
        if(scanner.hasNextDouble()){//判断是否有数据输入
            double grade=scanner.nextDouble();//获取你输入的数来进行下面的判断65.2
            if(grade>60 &&grade<70){//如果成绩大于60分是及格,那么就会执行下面的语句
                System.out.println("该学生成绩及格");
            }else if (grade>60 &&grade<80){
                System.out.println("该学生的成绩良好");
            }else if (grade>80&&grade<100){
                System.out.println("该学生的成绩优秀");
            }
            else if(grade>0&&grade<60){
                System.out.println("该学生成绩不合格");//输入45.5,会输出这句话
            }else {
                System.out.println("你输入的成绩不合法");
            }
        }

if嵌套语句

语法:

if(布尔表达式){

​ java语句

​ if(布尔表达式){

java语句

}

}

        //if嵌套语句
        //练习:假如我们要寻找一个数,它在1~100之间。
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入你要寻找的整数:");
        if(scanner.hasNextInt()){
            int i= scanner.nextInt();
            if(i>0&&i<100) {//如果输入的数在1到100之间
                if (i > 0 && i < 50) {//如果在0~50之间
                    System.out.println("1~50之间");
                }if (i >= 50 && i < 100) {//如果在50到100之间
                    System.out.println("50~100");
                    if(i>80&&i<100){
                        System.out.println("80~100");
                    }

                }
            }

        }
        scanner.close();

switch多选择结构

  • 多选择结构还有一个实现方式就是switch case 语句
  • switch case 语句判断一个变量是否与一系列中某个值相等,每个值称为一个分支。
  • switch语句中的变量类型可以是byte short,int或者char,在jdk1.7之后,还支持了string类型

语法:

​ switch(表达式){

​ case value:

​ 语句

​ break;使用break来跳出这个选择语句

​ case value:

​ 语句

​ break;使用break来跳出这个选择语句

​ …这这之间有任意个case语句

default:语句//这里学上面case都不符合的语句

}

Scanner scanner=new Scanner(System.in);
        System.out.println("请输入该学生的成绩:");
        if(scanner.hasNextInt()){//判断是否有数据输入
            int grade=scanner.nextInt();//获取你输入的数
            switch (grade){//通过grade变量来判断,名次
                case 1:System.out.println("该学生成绩第一名");
                break;//跳出选择
                case 2:
                System.out.println("该学生的成绩第二名");
                break;
                case 3:
                System.out.println("该学生的成绩第三名");
                break;
                case 4:
                System.out.println("该学生成绩第四名");//输入45.5,会输出这句话
                break;
                default:System.out.println("你输入的成绩是其他名次");
            }
        }

switch语句除了可以识别一些基本类型,还可以识别stringl类型

 //switch语句还可用string类型来作为识别
        String str="星期四";
        switch(str){
            case "星期一":
                System.out.println("今天是星期一");
                break;
            case "星期二":
                System.out.println("今天是星期二");
                break;
            case "星期三":
                System.out.println("今天是星期三");
                break;
            case "星期四":
                System.out.println("今天是星期四");
                break;
            case "星期五":
                System.out.println("今天是星期五");
                break;
            case "星期六":
                System.out.println("今天是星期六");
                break;
            case "星期日":
                System.out.println("今天是星期日");
                break;
            default:
                System.out.println("你输入 的不合法");

        }

注意如果case语句之后,没有break语句,那么就会出现case 穿透现象。就是说程序不会跳出选择,还会继续往下执行

在这里插入图片描述

循环结构

java中顺序结构只能被执行一次,如果你想要多次执行同样的操作,那么可以使用循环结构来实现

Java中有三个循环结构:

​ while循环语句

​ do-while循环语句

​ for循环语句

​ java中还引入了一种for的增强型语句

while语句:

语法: while(布尔表达式){//循环的条件,当满足循环的条件时就会执行循环体中的语句

​ 循环体

​ };

  • 当布尔表达式为true时,循环就会一直执行下去
  • 我们大多数情况会让循环停止下来,我们需要一个让布尔表达式失效的方式来结束循环(一般情况是在循环体中通过某种方式来让之前的布尔表达式停止下来)
  • 循环一直为true时,就会无限循环下去,就是我们的死循环,我们正常业务中应该尽量避免死循环,因为这样会影响程序的性能
  public static void main(String[] args) {
    //使用while循环来实现1+2+3+....+100=?
        int sum=0;//总和
        int i=0;
        while (i<=100){
            sum=sum+i;//将i循环的值都累加在sum中
            i=i+1;//每执行一次循环体就给i+1直到它跳出循环,相当于i++
        }
        System.out.println("1+2+3+....+100="+sum);//1+2+3+....+100=5050
    }

do…while语句

语法:

​ do{

​ 循环体

​ }while(布尔表达式);

do…while 的执行逻辑就是先执行一次do{循环体}中的语句,然后再执行while后面的布尔表达式来,判断是否符合条件,返回true时就再次执行循环体中的语句,返回float就跳出循环

  //使用while循环来实现1+2+3+....+100=?
        int sum=0;//总和
        int i=0;
      do {
            sum=sum+i;//将i循环的值都累加在sum中
            i=i+1;//每执行一次循环体就给i+1直到它跳出循环,相当于i++
          System.out.println(i);//可以看到i的值为1
        } while (false);//可以看到的是返回false,之前至少会执行一次
        
    }

for语句

语法:

​ for(初始化;布尔表达式;迭代){

​ 循环体代码语句

​ }

最先执行初始化,可以声明一种类型,但可初始化一个或者多个循环控制变量,也可以是空语句

然后,检测布尔表达式的值,如果返回的是true,循环体被执行,如果为false,循环终止,跳出循环开始执行循环体之后的语句

执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)

再次检测布尔表达式,执行上面 的过程

 //使用for循环语句:0到100之间的奇数和偶数的和
        int sum=0;
        int sum1=0;
        for (int i = 0; i <= 100; i++) {
            if(i%2!=0){//判断是否为奇数
                sum=sum+i;
            }else{//否则就是偶数
                sum1=sum1+i;
            }
        }
        System.out.println("奇数的和为"+sum);
        System.out.println("偶数的和为"+sum1);

    }
for语句来循环输出0~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();
            }

使用for语句来打印九九乘法表

     //打印九九乘法表
        for(int i=1;i<=9;i++){//控制行
            for(int j=1;j<=i;j++){//控制列
                System.out.print(j+"*"+i+"="+(j*i)+"\t");
            }
            System.out.println();
        }

打印三角形

   //打印三角形
        for (int i =1; i <=9; i++) {//控制打印三角形的行
            for (int j=9;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();
        }
这篇关于java 顺序结构,选择结构,循环结构的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!