Java基础day02-流程控制

Java基础day02-流程控制

 

用户交互Scaner

获取用户的输入

基本语法:

new Scanner(System.in);
//Alt+回车*2即可变成下述代码
Scanner scanner = new Scanner(System.in);

 

next()一定要读取有效字符才可以结束输入,且next()不能得到带有空格的字符串,而nextLine()可以获得输入回车之前的所有字符,包括空白!

 

顺序结构

基本结构,是任何算法都离不开的基本结构

按顺序进行的结构

 

选择结构

if单选择

if(布尔表达式){

/ /如果布尔表达式为true将执行的语句

}

if双选择

import java.util.Scanner;

public class HelloWorld {
public static void main(String[] args) {
    System.out.println("请输入");
    Scanner scanner = new Scanner(System.in);
    String str = scanner.nextLine();
    if (str.equals("hello")){
        System.out.println("太他妈对了,就是:"+str);

    }else{
        System.out.println("傻瓜,你错了!");
    }

    scanner.close();
    //凡是属于IO流的类如果不关闭会一直占用资源

}
}

if多选择

import java.util.Scanner;

public class HelloWorld {
public static void main(String[] args) {
    System.out.println("请输入你的成绩");
    Scanner scanner = new Scanner(System.in);
    int score = scanner.nextInt();//nextint--<INT>数据类型不同获得的函数不同
    if (score>90){
        System.out.println("优秀");

    }else if(score>60){
        System.out.println("良好");
    }else{
        System.out.println("不及格");
    }

    scanner.close();
    //凡是属于IO流的类如果不关闭会一直占用资源

}
}

嵌套的if结构

所谓套娃,不做演示

switch多选择结构

switch case语法判断一个变量与一系列变量中某个值是否相等,每个值成为一个分支

import java.util.Scanner;

public class HelloWorld {
public static void main(String[] args) {
    System.out.println("请输入你的成绩");
    Scanner scanner = new Scanner(System.in);
    int score = scanner.nextInt();//nextint--<INT>数据类型不同获得的函数不同
    switch (score){
        //case穿透,如果没有break直接穿透,一直往下,所以每一个case下面最好都来一个break
        case(90):
            System.out.println("刚好90,很稳");
            break;
        case(60):
            System.out.println("低空滑行");
        default:
            System.out.println("未知");


    }

    scanner.close();
    //凡是属于IO流的类如果不关闭会一直占用资源

}
}

 

循环结构

while

while (布尔表达式){
//循环内容
//我们一般是会让循环停止,需要一个让表达式失效的方式来结束循环
//像服务器的请求相应监听等,选哟一直循环的执行
}
import java.util.Scanner;

public class HelloWorld {
public static void main(String[] args) {
    System.out.println("请输入计算前多少位的和");
    Scanner scanner = new Scanner(System.in);
    int sa = scanner.nextInt();//nextint--<INT>数据类型不同获得的函数不同
    int a=0;
    int sum=0;
    while (a<=sa){
        sum=sum+a;
        a++;
    }
    scanner.close();
    //凡是属于IO流的类如果不关闭会一直占用资源
    System.out.println(sum);
}
}

do...while

do{

//代码语句

}while(布尔表达式);

//循环至少会被执行一次

for

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

//代码语句

}

例一:计算0到自定义数之间的奇数和以及偶数和

import java.util.Scanner;

public class HelloWorld {
   public static void main(String[] args) {
       System.out.println("请输入");
       Scanner scanner = new Scanner(System.in);
       int sa = scanner.nextInt();//nextint--<INT>数据类型不同获得的函数不同
       //计算0-sa中所有奇数,偶数的和
       int ji =0;//奇数
       int pu =0;//偶数
     for(int i=0;i<sa;i++){
         if(i%2!=0){
             ji+=i;
        }else{
             pu+=i;
        }

      }
       System.out.println(ji);
       System.out.println(pu);

  }
}

例二:用while或for循环输出1-1000之间能被5整除的数,并且每行输出三个

public class HelloWorld {
public static void main(String[] args) {
    for (int i = 0; i <=1000; i++) {
        if(i%5==0){
//               System.out.println(i);
            System.out.print(i+"\t");
        }
        if(i%15==0){
            System.out.print("\n");
            //print输出完不会换行
            //println输出完会换行
        }
    }

}
}

例三:打印九九乘法表

import java.util.Scanner;

public class HelloWorld {
public static void main(String[] args) {
    for (int i = 1; i <=9; i++) {
        for (int j = 1; j <=i; j++) {
            System.out.print(i+"*"+j+"="+(i*j)+"\t");
        }
        System.out.println();
        }
    }

}

break&continue

可以用在循环语句的主体部分

break主要用于跳出循环,不执行循环中的剩余语句

continue在循环语句中用于终止循环过程,跳出循环中尚未执行的语句,进行下一次下是否执行循环的判定

 

posted on 2021-04-25 14:40  biggoat  阅读(39)  评论(0)    收藏  举报

导航