Java流程控制
用户交互Scanner
包含在Java工具包:java.util.Scanner,通过Scanner类来获取用户输入
- 基本语法
- 导入scanner工具包:写在package后面,class前面
import java.util.Scanner;
- 声明对象:写在方法内
Scanner (对象名) = new Scanner(System.in);
- 调用scanner获取用户输入
//获取用户输入:(对象名).(输入内容) 如:
scanner.next();//获取一段字符串,遇见空白符结束输入
scanner.nextLine();//获取一段字符串,遇见enter键结束输入
scanner.nextInt();//获取int型数字
scanner.nextFloat();//获取float型数字
······//以此类推
//判断用户是否输入:(对象名).(输入内容) 如:
scanner.hasNext();//判断是否输入字符串,返回布尔值
scanner.hasNextLine();//判断是否输入字符串,返回布尔值
scanner.hasNextInt();//判断是否输入int型数字,返回布尔值
scanner.hasNextFloat();//判断是否输入float型数字,返回布尔值
······//以此类推
- **关闭scanner类:凡是属于IO流的类,如果不关闭就会一直占用资源,故需要关闭。**如:
scanner.close();
顺序结构
顺序执行的结构,一般程序都是按顺序结构执行的
选择结构
- if语句:
if(布尔值){}
if(布尔值){}else{}
if(布尔值){}elseif(布尔值){}······
- switch语句
switch(表达式){
case 值1:
···;
break;
case 值2:
···;
break;
case 值3:
···;
break;
case 值4:
···;
break;
···
default:
···;
}
从JavaSE7开始switch支持string类型判断
switch(字符串){
case 字符串1:
···;
break;
case 字符串2:
···;
break;
case 字符串3:
···;
break;
case 字符串4:
···;
break;
···
default:
···;
}
循环结构
- while
while(布尔值){}
- do…while:至少执行循环一次
do{
···
}while(布尔值);
- for
for(初始化;循环条件(布尔值);更新值){}
- 增强for(JDK5新特性): 用于遍历数组和集合,本质与普通的for一样
for(声明语句:数组名或返回值为数组的方法){}//声明语句必须声明变量,其类型必须与数组一致,声明的变量作用域只在for循环之内
//此语句吧数组每一个值赋给变量一次,相当于遍历一遍数组
break,continue与goto
- break:写在循环中或switch中,用于跳出循环或switch
- continue:写在循环中,用于跳过该循环剩余部分,开始下一个循环
- goto:不推荐使用,在程序中添加标签,通过goto语句跳到标签的地方继续执行程序。continue和break也可以有类似的标签用法。
IDEA集成开发环境的反编译功能
通过class文件反编译出Java文件
在IDEA中打开class文件即可