Scanner
通过scanner获取用户的输入,实现交互。
import java.util.Scanner;
public class demo {
public static void main(String[] args) {
Scannner s = new Scannner(System.in);
s.close(); // 使用结束需关闭,否则会一直占用资源
}
}
next() & nextLine()
获取输入的字符串
next()
- 读取到有效字符后结束输入
- 有效字符前的空格自动去除,有效字符后的空格视作结束符或分隔符
- 无法获取到空格
nextLine()
还有nextInt(),nextDouble()等
- 以回车为结束符
- 可以获取空格
hasNext() & hasNextLine()
判断是否还有输入
还有hasNextInt()等
顺序结构
public class demo {
public static void main(String[] args) {
int a = 1;
float b = 0.45f;
}
}
选择结构
if单选择循环
if(布尔表达式){
语句;
}
if双选择结构
if(布尔表达式){
语句1;
}else{
语句2;
}
if多选择结构
if(布尔表达式1){
语句1;
}else if(布尔表达式2){
语句2;
}else if(布尔表达式3){
语句3;
}else{
语句4;
}
if嵌套结构
if(布尔表达式1){
语句1;
if(布尔表达式2){
语句2;
}
}
switch多选择结构
switch(){
case v1: // v1:byte,short,int,char,jdk7之后支持字符串
语句;
break;
case v2:
语句2;
[default: 语句3; ]
}
switch运作机制:匹配一个具体值并输出之后所有内容,因此具有case穿透现象。
循环结构
while循环
while(布尔表达式){ // 用让表达式失效的方式结束循环,否则为死循环,尽量避免死循环
语句;
}
do…while循环
do{
语句;
}while(布尔表达式);
while:先判断后执行;
do…while:先执行后判断。
for循环
for(初始化;布尔表达式;迭代){
语句;
}
执行次数在执行前就确定了;
初始化:可初始化一个或多个循环控制变量,也可为空。
增强for循环
for (声明语句:表达式){ // 用于数组/集合
语句;
}
Java5时引入
break & continue
- break:强制跳出循环,控制流程
- continue:退出本次循环,后面的循环照常进行
- goto关键字:未在Java中正式使用,可用作“标签”。标签:
label:xxx;