JAVA中键盘录入和流程控制语句

键盘录入:

键盘录入格式:

 a:导包
 格式:
 import java.util.Scanner; 
  位置:在class上面。
 b:创建键盘录入对象
 格式:
 Scanner sc = new Scanner(System.in);
 c:通过对象获取数据 
 格式:
   int x = sc.nextInt();

案例演示:
键盘录入一个整数,并输出在控制台:

import java.util.Scanner;

public class Demo {
    
    
    public static void main(String[] args) {
    
    
    
Scanner scanner1 = new Scanner(System.in);
System.out.println("请输入一个整数:");
int x =scanner1.nextInt();
System.out.println("输入的值为"+x);		
	}
}

键盘录入两个整数,并输出在控制台:

import java.util.Scanner;

public class Demo {
    
    
    public static void main(String[] args) {
    
    

Scanner scanner1 = new Scanner(System.in);
System.out.println("请输入第一个整数:");
int x =scanner1.nextInt();
Scanner scanner2 = new Scanner(System.in);
System.out.println("请输入第二个整数:");
int y = scanner2.nextInt();
System.out.println("输入的第一个值为"+x);
System.out.println("输入的第二个值为"+y);
	}
}

在这里插入图片描述

流程语句控制:在一个程序的执行的过程中,各条语句的执行顺序对程序的结果是有影响的。

流程语句的控制分为三大类:

顺序结构
选择结构
循环结构
1.顺序结构

是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,从上往下,依次执行。

2.选择结构

选择结构分为if 语句switch语句两种。
if语句的三种格式
a.
if(比较表达式或者boolean类型的值){
语句体;
}
执行流程:
先计算比较表达式的值,看其结果是true还是false。
如果为true,执行语句体。
如果为false,不执行语句体。
案例演示:
判断两个数是否相等。

public class Demo {
    
    
    public static void main(String[] args) {
    
    
       if (5 == 5){
    
    
           System.out.println("这两个数相等");
       }
    }
}

b.
if(比较表达式){
语句体1;
}else{
语句体2;
}
执行流程:
先计算比较表达式的值,看其结果是true还是false。
如果是true,执行语句体1;
如果是false,执行语句体2;
注意事项:
只有 if 后边跟比较表达式,else后边不跟比较表达式。
案例演示:
获取两个数之间的最大值

public class Demo {
    
    
    public static void main(String[] args) {
    
    
      int a = 5;
      int b =10;
      if (a > b){
    
    
          System.out.println(a);
      }else{
    
    
          System.out.println(b);
      }
    }

c.
if(比较表达式1){
语句体1;
}else if (比较表达式2){
语句体2;
}else if(比较表达式3){
语句体3;
}… …
else{
语句体n+1;
}
执行流程:
首先计算比较表达式1看其返回值是true还是false,
如果是true,就执行语句体1,if语句结束。
如果是false,接着计算比较表达式2看其返回值是true还是false,
如果是true,就执行语句体2,if语句结束。
如果是false,接着计算比较表达式3看其返回值是true还是false,

如果都是false,就执行语句体n+1。
注意事项:
当只有一个条件满足时,if 语句结束。else 是可以省略的,但不建议省略。
案例演示:
需求:键盘录入一个成绩,判断并输出成绩的等级。
90-100 优秀
80-89 良
70-79 中
60-69 及格
0-59 差

import java.util.Scanner;

public class Demo {
    
    
    public static void main(String[] args) {
    
    
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入学生的成绩(百分制):");
        double score =scanner.nextDouble();
        if(score>=90 && score<=100){
    
    
            System.out.println("优秀");
        }
        if(score>=80&& score<=89){
    
    
            System.out.println("良");
        }
        if(score>=70 && score<=79){
    
    
            System.out.println("中");
        }
        if(score>=60 && score<=69){
    
    
            System.out.println("及格");
        }
        if(score>=0 && score<=59){
    
    
            System.out.println("差");
        }else{
    
    
            System.out.println("输入的成绩不合法");
        }
    }
    }

if语句的注意事项:
a: 比较表达式无论简单还是复杂,结果必须是boolean类型。
b: if语句控制的语句体如果是一条语句,大括号可以省略;如果是多条语句,就不能省略。建议永远不要省略。
c: 一般来说:有左大括号就没有分号,有分号就没有左大括号

switch语句
格式:

switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;

default:
语句体n+1;
break;
}

switch语句的格式解释:
(1):switch表示这是switch语句
表达式的取值:byte,short,int,char
JDK5以后可以是枚举(什么是枚举,以后再讲)
JDK7以后可以是String
(2):case后面跟的是要和表达式进行比较的值
(3):语句体部分可以是一条或多条语句
(4):break表示中断,结束的意思,可以结束switch语句
(5):default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似

if 语句与 switch语句的区别:
if 语句:
针对结果是boolean类型的判断。
针对一个范围的判断。
针对几个常量值的判断。
switch语句:
针对几个常量值的判断。

3.循环结构:

for循环语句:
格式:
for(初始化表达式语句;判断条件语句;控制条件语句){
循环体语句;
}
执行流程:
a:先执行初始化表达式语句
b:执行判断条件语句,判断其为true还是false
如果是true,继续执行;
如果是false,停止执行,循环结束。
c:执行循环体语句。
d:执行控制条件执行语句。
e:回到b执行。
注意事项:
初始化表达式只执行一次。
无论判断条件控制语句是复杂还是简单器值都为boolean类型。
案例演示:
需求:请在控制台输出数据1-10
需求:请在控制台输出数据10-1

public class Demo {
    
    
    public static void main(String[] args) {
    
    
        for(int i=1;i<=10;i++){
    
    
            System.out.print(i+"\t");
        }
        System.out.println();
         for(int x=10;x>0;x--){
    
    
             System.out.print(x+"\t");
         }
    }
        }

while语句
格式:
while循环的基本格式
while(判断条件语句) {
循环体语句;
}
完整格式:
初始化条件语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
执行流程:
a:执行初始化条件语句;
b:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
c:执行循环体语句;
d:执行控制条件语句
e:回到b继续。
案例演示:
需求:在控制台输出10次"helloworld"

public class Demo {
    
    
    public static void main(String[] args) {
    
    
        int i=0;
        while (i<10){
    
    
            System.out.println("helloworld");
            i++;
        }
    }
        }

循环结构do … while 语句:
格式:
do{循环体语句;}
while(
判断条件语句
);
完整格式语句:
初始化条件语句;
do{
循环体语句;
控制条件语句;}
while(判断条件语句);
执行流程:
a:执行初始化条件语句;
b:执行循环体语句;
c:执行控制条件语句;
d:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
e:回到b继续。
案例演示:
需求:在控制台输出10次"helloworld"

public class Demo {
    
    
    public static void main(String[] args) {
    
    
        int i=0;
        do {
    
    
            System.out.println("helloworld");
            i++;}
        while (i<10);
    }
        }

三种循环语句的区别:
(1):do…while循环至少执行一次循环体。
而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
(2):A: 如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用for循环。
因为变量及早的从内存中消失,可以提高内存的使用效率。
B:建议优先考虑for循环,然后是while循环 ,最后是do…while循环
循环结构注意事项(死循环):
两种最简单的死循环格式:
while(true){}
for(;;){}

猜你喜欢

转载自blog.csdn.net/weixin_42093672/article/details/102410681