一、用户交互Scanner对象
-
包:java.util.Scanner
-
获取用户的输入
-
基本语法
Scanner s = new Scanner(System.in);
-
通过该类的next()和nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()和hasNextLine()来判断是否有输入的数据
-
next()和nextLine()的区别:
next():- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前遇到的空白,next()方法会将其自动去掉
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
- next()不能得到带有空格的字符串
nextLine():
- 以Enter作为结束符,返回的是输入回车符之前的所有字符
- 可以获得空白
代码示例:
package com.lzr.scanner;
import java.util.Scanner;
/**
* @version: java version 1.8
* @Author: lzr
* @description:
* @date: 2023-02-10 上午 10:16
*/
public class Demo01 {
public static void main(String[] args) {
// 创建扫描器对象,用于接收键盘数据
Scanner s = new Scanner(System.in);
System.out.println("请输入数据:");
// 判断用户有无输入字符串
if(s.hasNext()){
// 使用next接收
String str = s.next();
System.out.println(str);
}
// 关闭,属于IO流的类如果不关闭会一直占用资源
s.close();
}
}
package com.lzr.scanner;
import java.util.Scanner;
/**
* @version: java version 1.8
* @Author: lzr
* @description:
* @date: 2023-02-10 上午 10:24
*/
public class Demo02 {
public static void main(String[] args) {
// 创建扫描器对象,用于接收键盘数据
Scanner s = new Scanner(System.in);
System.out.println("请输入数据:");
// 判断用户有无输入字符串
if(s.hasNext()){
// 使用nextLine接收
String str = s.nextLine();
System.out.println(str);
}
// 关闭,属于IO流的类如果不关闭会一直占用资源
s.close();
}
}
案例:
package com.lzr.scanner;
import java.util.Scanner;
/**
* @version: java version 1.8
* @Author: lzr
* @description:
* @date: 2023-02-10 上午 10:43
*/
public class Demo04 {
public static void main(String[] args) {
System.out.println("请输入数字,以非数字字符作为输入结束");
Scanner scanner = new Scanner(System.in);
// 和
double sum = 0;
// 计算输入了多少个数字
int count = 0;
while(scanner.hasNextDouble()){
double num = scanner.nextDouble();
sum += num;
count ++;
}
System.out.println("输入了"+count+"个数字,总和为:"+sum+"平均数为:"+(sum/count));
scanner.close();
}
}
二、顺序结构
- 按从上到下的顺序执行代码
三、选择结构
1. if单选择结构
语法:
if(布尔表达式){
// 如果布尔表达式为true时执行的语句
}
2. if双选择结构
语法:
if(布尔表达式){
// 如果布尔表达式为true时执行的语句
}else{
// 如果布尔表达式为false时执行的语句
}
3. if多选择结构
语法:
if(布尔表达式1){
// 如果布尔表达式1为true时执行的语句
}else if(布尔表达式2){
// 如果布尔表达式2为true时执行的语句
}else if(布尔表达式3){
// 如果布尔表达式3为true时执行的语句
}else{
// 如果以上布尔表达式都不为true时执行的语句
}
4. 嵌套的if结构
语法:
if(布尔表达式1){
// 如果布尔表达式1为true时执行的语句
if(布尔表达式2){
// 如果布尔表达式2为true时执行的语句
}
}
5. switch选择结构
语法:
switch(expression){
case value:
// 语句
break;// 可选
case value:
// 语句
break;// 可选
default :// 可选
// 语句
}
switch中的变量类型可以是byte、int、short或者char,在Java 7开始,支持String类型,同时case标签必须是字符串常量或者字面量
标签:语句,控制,Java,Scanner,流程,System,输入,表达式,布尔 From: https://www.cnblogs.com/xiubai/p/17108460.html