Java流程控制
- 用户交互Scanner
- 顺序结构
- 选择结构
- 循环结构
- break & continue
Scanner对象
- next()
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
- 只有输入有效字符后才将其后面输入的空白作为分隔符或结束符
- next()不能得到带有空格的字符串
- nextLine()
- 以Enter为结束符,也就是说,nextLine()方法的返回是输入回车之前的所有字符
- 可以获得空白
//基本用法
Scanner s = new Scanner(System.in);
//判断用户是否有输入的数据
if(s.hasNext()){//从空格隔开
String str = s.next();//使用next方式接受
}
if(s.hasNextLine()){ //接受输入的一行
String str = s.next();//使用next方式接受
}
s.close();
顺序结构
- 若干个依次执行的语句,它是任何程序都不能够离开的基本结构
选择结构
- if单选择结构
- if双选择结构
- if多选择结构
- 嵌套的if结构
- switch多选择结构
if单选择结构
if(布尔表达式){
//如果为布尔表达式为true才会执行
}else{
//为false执行
}
if双选择结构
if(布尔表达式1){
}else if(布尔表达式2){
}else{
} //最终只会执行一个选择
嵌套的if结构
if(布尔表达式1){
if(布尔表达式2){
}
}
switch多选择结构
//switch语句中的变量类型可以是
//byte,short,int 或char
//从JavaSE7 开始
//switch支持字符串String类型了
//同时case标签必须为字符串常量或字面量
switch(expression){
case value:
break;
case value:
break;
default:
}
循环结构
- while循环
- do...while循环
- for循环
- 在Java5中引入了一种主要用于数组的增强的for循环
while循环
//先判断后执行
while(布尔表达式){
}
do...while循环
//即使不满足条件,也会执行一次
//先执行后判断
do{
}while();
for循环
for(初始化;布尔表达式;更新){
//代码语句
}
增强for循环(主要用来遍历数组和集合对象)
for(声明语句:表达式){
//执行语句
}
int[] numbers = {10,20,30};//定义了一个数组
for(int x : numbers){
System.out.println(x);
}
break & continue
//break用来结束循环,强制退出循环
int i = 1;
while(true){
i++;
if(i == 30){
break;
}
System.out.println("循环结束");//执行到break后跳到这里
}
//continue用来结束本次循环
int i = 1;
while(true){
i++;
if(i == 30){
continue;//执行continue后继续执行循环
}
System.out.println("循环结束");
}
//goto为java的保留字
int i = 1;
outer: while(true){
i++;
if(i == 30){
continue outer;//执行continue后跳到outer
}
System.out.println("循环结束");
}