JAVA 流程控制

流程控制

Scanner对象

Java提供了一个工具类 java.util.Scanner 是Java 5 新特征,可以通过Scanner类获取用户的输入

基本语法:

java Scanner s = new Scanner(System.in);

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。

使用next()方法

```java
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("使用next方法接收:");

//判断用户有没有输入字符串
if (s.hasNext()){
//使用next方式接收
String str = s.next();
System.out.println("输入的内容是:"+str);
}
//凡是属于IO流的类如果不关闭会一直占用资源,需要关闭释放
s.close();
}
```

使用nextLine()方法

```java
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("使用nextLine方法接收:");

//判断用户有没有输入字符串
if (s.hasNextLine()){
//使用nextLine方式接收
String str = s.nextLine();
System.out.println("输入的内容是:"+str);
}
//凡是属于IO流的类如果不关闭会一直占用资源,需要关闭释放
s.close();
}
```

next()与nextLine()的区别

next():

1. 一定要读取到有效字符后才可以结束输入;;
2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉;
3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
4. next()不能得到带有空格的字符串。

nextLine():

1. 以Enter为结束符,也就是说返回的是输入回车以前的所有字符;
2. 可以获得空白

判断输入的是否为特定的数值

以是否输入整数为例

java public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int i = 0; float f = 0.0F; System.out.println("请输入一个整数:"); //判断下一个输入的是否为整数 if(scanner.hasNextInt()){ i = scanner.nextInt(); System.out.println("刚才输入的整数为:"+i); }else { System.out.println("输入不合法!"); } scanner.close(); }

同理,还有

nextFloat() nextString()等等;

Switch 分支结构

语法

java switch(expression){ case value1 : //语句 break; case value2 : //语句 break; default : //可选 //语句 }

注意事项:

- switch语句中的变量类型可以是:
- byte,short,int,char
- 从JAVA SE 7 开始 ,可以支持 String
- case后面必须为变量、常量和字面量
- 如果不加break,会出现case穿透现象

支持Switch的本质

通过Idea反编译可以得出比对case字符串的本质是比对字符串的哈希值

image-20210316232137188

break 和 continue

- break 在任何循环语句的主体部分,均可用break控制循环的流程。Break用于强行退出循环,不执行循环中剩余的语句。(也可以在switch语句中使用)
- continue 语句用在循环语句中,用于中止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
- Go to 尽管为java的一个保留字,但并未在语言中得到正式使用:java没有Goto ,然而在break 和 continue 两个关键字上,运用标签来运行goto的功能。如 label:

main方法

java public static void main(String[] args) { //args[] 是传递给main方法的参数,默认为空 }

在DOS界面下,使用javac可以编译.java文件到.class字节码文件

但如果用使用java命令执行.class文件时,必须到/src 文件夹下去执行

posted @ 2021-03-17 22:37  MeteorLu  阅读(46)  评论(0)    收藏  举报