Java教程

Java流程控制

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

Java流程控制

Scanner

  • 通过Scanner类来获取用户的输入

    next()与nextLine()的方法来获取输入的字符串

    hasNext()与hasNextLine()判断是否还有输入的数据

    • next():

    1. 一定要读取到字符才可与结束输入

      2. 以空白为结束符
         3.  next()不能的得到带有空白的字符串
    • nextLine:

    1. 以回车为结束符;返回的是输入回车前的所有字符

    2. 可以获得空白的字符串

    package scanner;
    ​
    import java.util.Scanner;
    ​
    public class Demo1 {
        public static void main(String[] args) {
            //创建一个扫描对象,用于接受键盘数据 
            Scanner scanner = new Scanner(System.in);
            System.out.println("使用next方方式输入");
            //判断用户是否输入字符串
            if (scanner.hasNext()){
                //使用next的方式来接收
               String str = scanner.next();//程序会等待用户输入完毕
               System.out.println("输出内容为"+str);
            }
            //属于IO流的用完要关掉,不然会占用资源
            scanner.close();
        }
    }
    package scanner;
    ​
    import java.util.Scanner;
    ​
    public class Demo2 {
        public static void main(String[] args) {
            //接受键盘输入数据
            Scanner scanner = new Scanner(System.in);
            System.out.println("使用nextLine方式接收");
            //判断是否输入
            if (scanner.hasNextLine()) {
                //使用nextLine的方式来接受
                String str = scanner.nextLine();//程序会等待输入完毕
                System.out.println("输出内容为" + str);
            }
            //对于IO流 用了要即使关闭,占资源
            scanner.close();
        }
    }
    ​
  • 其他用法

package scanner;
​
import java.util.Scanner;
​
public class Demo3 {
    public static void main(String[] args) {
        //接受数据
        Scanner scanner = new Scanner(System.in);
        //定义初始值
         int i = 0;
         float  o = 0.0F;
        System.out.println("请输入整数");//提示语
        //判断是否输入的整数  后面加了int
        if(scanner.hasNextInt()) {
            i = scanner.nextInt();//等待输入整数
            System.out.println("整数数据:" + i);
        }else {//输入的不是整数则输出这个
            System.out.println("你输入的不是整数!");
        }
        System.out.println("请输入小数数据");//提示语
        //判断是否输入的是小数
        if(scanner.hasNextFloat()) {
            o = scanner.nextFloat();//等待输入
            System.out.println("小数数据:" + o);//正确情况
        }else{//错误情况
            System.out.println("你输入的不是小数数据");
        }
        //用的IO流,用完关闭
        scanner.close();
    }
}
​
package scanner;
​
import java.util.Scanner;
​
public class Demo4 {
    public static void main(String[] args) {
        //引入类用于接受数据
        Scanner a = new Scanner(System.in);
        //定于初始值
        double b = 0;
        int c = 0;
        System.out.println("请输入数据");//提示语
        //循环语句输入的不是数字则会结束 因后面我加了double
        while(a.hasNextDouble()){
            double d = a.nextDouble();//等待输入
            c = c+1;//每输入一次都会循环一次就会+1
            b = b+d;//同理
            System.out.println("你输入了第"+c+"数,"+"当前结果sum="+b);//每输入完用于提示
        }
        //最后直到我结束上面的循环才会输入这个
        System.out.println(c+"个数的和为"+b);
        System.out.println(c+"个数的平均值"+(b/c));
        //用IO流,最后要关闭
        a.close();
    }
}
​

顺序结构

  • 依次执行 基本算法结构

选择结构

if

  1. 单选择结构 equals :判断字符串是否相等

package struct;
​
import java.util.Scanner;
​
public class Ifemo1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入输入内容");
        String s = sc.nextLine();
        //equals:判断字符串是否相同
        if(s.equals("Hello")){
            System.out.println(s);
        }
        System.out.println("End");
        sc.close();
    }
}
  1. 双选择结构

package struct;
​
import java.util.Scanner;
​
public class IfDemo2 {
    public static void main(String[] args) {
        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();
    }
}
  1. 多选择结构

package struct;
​
import java.util.Scanner;
​
public class IfDemo4 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入");
        int a = scanner.nextInt();
        if (a == 100){
            System.out.println("满分");
        }else if (a >= 90 && a <100){
            System.out.println("优秀");
        }else if (a >=0 && a < 90){
            System.out.println("垃圾");
        }else{
            System.out.println("不合法");
        }
        scanner.close();
    }
}
​

Switch

  • 基本结构:

     

  • 匹配一个具体的值

  • case 穿透现象

  • break 打断case穿透

package struct;
​
public class SwitchDemo1 {
    public static void main(String[] args) {
        String name = "薛";
        //switch:匹配一个具体的值
        switch(name){
            //case:定义内容  但具有穿透行性
            case"张":
                //如果值和内容相等,则输出
                System.out.println("张");
                //break:打断case的穿透
                break;
            case"薛":
                System.out.println("薛");
                break;
                //如果都没有,则
            default:
                System.out.println("无此人");
        }
    }
}
​

循环结构

while

  1. 基本结构 while(布尔表达式){ }

  2. 只要布尔吧表达式为ture,循环就会一直执行

  3. 避免死循环

  4. 先判断后执行

package struct;
​
public class WhileDemo1 {
    public static void main(String[] args) {
        //定义起始值
        int q = 0;
        //循环到50停止
        while (q<50){
            q = ++q;
            //每次循环到最后输出值
            System.out.println(q);
        }
    }
}
​
package struct;
​
public class WhileDemo2 {
    public static void main(String[] args) {
        //1+到100的和
        //定义初始值
        int a = 0;
        int sum = 0;
        //循环a到100停止
        while(a<=100){
            sum = sum+a;
            a++;
        }
        System.out.println(sum);
    }
}
​

do while

  1. 基本结构:do{

代码语句

}while(布尔表达式);

  1. 先执行后判断

package struct;
​
public class DoWhileDemo1 {
    public static void main(String[] args) {
        //定义起始值
        int a = 1;
        //while  先判断后执行
        while(a<1){
            System.out.println(a);
            a++;
        }
        System.out.println("=================================");
        //do while 先执行后判断
        do{
            System.out.println(a);
            a++;
        }while(a<1);
    }
}
​

For循环

  • 基本结构:

     

package struct;
​
public class ForDemo1 {
    public static void main(String[] args) {
        //初始值——条件判断——更新
        for (int i = 0; i < 100; i++) {
            System.out.println(i);
        }
    }
}
​

增强for循环

  • 主要用于数组

  • 基本结构

     

package struct;
​
public class ForDemo5 {
    public static void main(String[] args) {
        //定义数组
        int[] numbers = {10,20,30,40,50};
        for (int a = 0; a < 5; a++ ){
            System.out.println(numbers[a]);
        }
        System.out.println("=================");
        //遍历数值元素
        for(int x:numbers){
            System.out.println(x);
        }
    }
}
​

break与continue

  • break:强制退出循环

  • continua:终止某次循环

  • package struct;
    ​
    public class BrerakDemo1 {
        public static void main(String[] args) {
            //break  强制停止并退出
            int a = 0;
            while(a<50){
                a++;
                if(a == 20){
                    break;
                }
                System.out.println(a);
            }
        }
    }
package struct;
​
public class ContinueDemo {
    public static void main(String[] args) {
        //continue  终止某一次循环
        int a = 0;
        while(a<50){
            a++;
            if (a%10==0){
                System.out.println();
                continue;
            }
            System.out.print(a);
        }
    }
}
​

 

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