是Java给我们提供的一个用于获取用户输入的工具类,可用过此类来获取用户的输入
通过next()与nextLine 方法获取输入的字符串, 在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据,此判断是可以去掉不要的
next()不能得到带有空格的字符串,nextLine()可以获得空白
更多相关自行双击Scanner进入源码查看
import java.util.Scanner; public class Demo01 { 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(); } }
Java的基本结构就是顺序结构,除非特别指明,否则按照顺序一句一句执行。
顺序结构是最基本的算法结构
System.out.println("A"); System.out.println("B");
if 语句至多有1个 else 语句,else 在所有else if 语句之后
一旦其中一个条件被检测为 true,其他的语句都将跳过不执行
判断一个条件,如果可行,然后才去执行,此时用到if单选则结构
if(布尔表达式){ //若判断结果为true将执行的语句块 }
一个判断条件拥有两个走向,此时用到 if-else 双选择结构
if(布尔表达式){ //布尔表达式的值为true }else{ //布尔表达式的值为false }
当一个事件变得复杂,存在区间多级判断时,就可以多选择结构来处理这类问题,例如下方的根据成绩评等级:
import java.util.Scanner; public class Demo02 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩(0-100):"); int score = scanner.nextInt(); if(score > 90 && score <= 100){ System.out.println("优"); }else if(score > 70 && score <=90){ System.out.println("良"); }else if(score > 60 && score <=70){ System.out.println("中"); }else { System.out.println("差"); } } }
流程控制语句是可以相互嵌套的
if(布尔表达式 1){ //如果布尔表达式 1为true时执行代码 if(布尔表达式 2){ //如果布尔表达式 2为true时执行代码 } }
public class Demo03 { public static void main(String[] args) { int i = 3; switch (i){ case 1: System.out.println("查询余额"); break;//可选 case 2: System.out.println("取款"); break; case 3: System.out.println("转账"); break; case 4: System.out.println("其它业务"); break; default: System.out.println("退出"); break; } } }