Java流程控制

2021/7/8 1:05:40

本文主要是介绍Java流程控制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

流程控制

  1. 用户交互Scanner

  2. 顺序结构

  3. 选择结构

  4. 循环结构

  5. break&continue

  6. 联系

Java流程控制Scanner

java.util.Scanner,通过Scanner类对象来获取用户的输入

基本语法

Scanner s=new Scanner(System.in);

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据

public class Demo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用next方式接收:");//会被空格打断
        //判断用户是否输入字符串
        if(scanner.hasNext()){
            String str=scanner.next();
            System.out.println("输入的内容为:"+str);
        }
        scanner.close();//节约资源
    }
}
public class Demo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用nextLine方式接收:");//相比之下更加常用
        //判断是否还有输入
        if (scanner.hasNextLine()){
            String str=scanner.nextLine();
            System.out.println("输出的内容为:"+str);
        }
        scanner.close();
​
    }
}
package scanner;
​
import java.util.Scanner;
​
public class Demo04 {
    public static void main(String[] args) {
        //输入多个数字并求其总和与平均数,每输入一个数字用回车确认,通过非数字来结束输入并
        // 并输出执行结果
        Scanner scanner=new Scanner(System.in);
        //和
        double sum=0;
        //计算输入的多少个数字
        int m=0;
        //通过循环判断是否还有输入,并在里面对每一次结果进行求和统计
        while(scanner.hasNextDouble()){
            double x=scanner.nextDouble();
            m=m+1;//m++
            sum=sum+x;
            System.out.println("你输入了第"+m+"个数据,当前的结果sum="+sum);
            
        }
        System.out.println(m+"个数的和为"+sum);
        System.out.println(m+"个数的平均值是"+(sum/m));
        
    }
}
​

顺序结构

package struct;
​
public class Shunxu {
    public static void main(String[] args) {
        System.out.println("1");
        System.out.println("2");
        System.out.println("3");
        System.out.println("4");
    }
}
​

 

选择结构

package struct;
​
import java.util.Scanner;
​
public class XuanZe01 {
    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();
    }
}
​
package struct;
​
import java.util.Scanner;
​
public class XuanZe02 {
    public static void main(String[] args) {
        //分数大于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();
    }
}
​
package struct;
​
import java.util.Scanner;
​
public class Xuanze03 {
    public static void main(String[] args) {
        //分数大于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("优秀");
        } else if (score < 90 && score >= 75) {
            System.out.println("中等");
        } else if (score < 75 && score >= 60) {
            System.out.println("及格");
​
​
        } else if (score < 60) {
            System.out.println("不及格");
​
        }else{
            System.out.println("输入有误");
        }
        scanner.close();
    }
}
​
​

switch(expression){

case value:

//语句

break;//可选

case value:

//语句

break;//可选

//可以有任意数量的case语句

default://可选

//语句

}

package struct;
​
public class switchDemo01 {
    public static void main(String[] args) {
        //case穿透//switch 匹配一个具体的值
        char grade='C';
        switch (grade){
            case'A':
                System.out.println("优秀");
                break;
            case'B':
                System.out.println("良好");
            case 'C':
                System.out.println("及格");
        }
    }
}
​

循环结构

while是最基本的循环

package struct;
​
public class while01 {
    public static void main(String[] args) {
        //输出1~100
        int i=0;
        while(i<100){
            i++;
            System.out.println(i);
        }
    }
}
​
package struct;
//死循环
public class while02 {
    public static void main(String[] args) {
        while (true){
            //等待客户端连接
            //定时检查任务
            //......
        }
    }
}
package struct;

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

while是先判断后执行,dowhile是先执行后判断

package struct;

public class dowhile01 {
    public static void main(String[] args) {
        int i=0;
        int sum=0;
        do {
            sum=sum+i;
            i++;
        }while (i<=100);
        System.out.println(sum);
    }
}
package struct;

public class dowhile02 {
    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循环

for(初始化 ; 布尔表达式 ; 更新){

//代码语句

}

package struct;

public class fordemo01 {
    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);
        }
        System.out.println("for循环结束!");
    }
}
//死循环
for(; ;){
    
}

快捷键

100.for

package struct;

public class fordemo02 {
    public static void main(String[] args) {
        //练习1:计算0-100之间的奇数和偶数的和
        int addsum=0;
        int evensum=0;
        for (int i=0;i<100;i++){
            if (i%2!=0){
                addsum+=i;
            }else{
                evensum+=i;
            }
        }
        System.out.println("奇数的和:"+addsum);
        System.out.println("偶数的和:"+evensum);
    }
}
package struct;
//经典嵌套for循环,打印九九乘法表
public class fordemo03 {
    public static void main(String[] args) {
        for (int j =1; j <= 9; j++) {
            for (int i=1;i<=j;i++){
                System.out.print(j+"*"+i+"="+j*i+"\t");
            }
            System.out.println();
        }
    }
}

增强for循环

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

//代码句子

}

package struct;

public class zengqiangfor {
    public static void main(String[] args) {
        int[]numbers={10,20,30,40,50};//定义了一个数组
        for(int x:numbers){//1、
            System.out.println(x);
        }
        for (int i = 0; i < 5; i++) {//2
            System.out.println(numbers[i]);
            
        }
    }
}

break

package struct;

public class BreakDemo {
    public static void main(String[] args) {
        int i=0;
        while (i<100){
            i++;
            System.out.println(i);
            if (i==30){
                break;
            }
        }
    }
}

continue

package struct;

public class Continuedemo {
    public static void main(String[] args) {
        int i=0;
        while (i<100){
            i++;
            if(i%10==0){
                System.out.println();
                continue;
            }
            System.out.print(i);
        }
    }
}
//break在任何循环语句的主体部分,均可用来控制循环语句的流程
//   break用于强制退出循环,不执行循环的剩余语句.(break语句也在switch中使用)
//continue语句用在循环语句体中,用于中止某次循环过程,即跳过循环体中尚未执行的语句
//接着进行下一次是否执行循环的判定

打印三角形

package struct;

public class triangledemo {
    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();
        }
    }
}

 



这篇关于Java流程控制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程