Java流程控制

用户交互Scanner

包含在Java工具包:java.util.Scanner,通过Scanner类来获取用户输入

  • 基本语法
  1. 导入scanner工具包:写在package后面,class前面
import java.util.Scanner;
  1. 声明对象:写在方法内
Scanner (对象名) = new Scanner(System.in);
  1. 调用scanner获取用户输入
//获取用户输入:(对象名).(输入内容)	如:
scanner.next();//获取一段字符串,遇见空白符结束输入
scanner.nextLine();//获取一段字符串,遇见enter键结束输入
scanner.nextInt();//获取int型数字
scanner.nextFloat();//获取float型数字
······//以此类推
    
//判断用户是否输入:(对象名).(输入内容)	如:
scanner.hasNext();//判断是否输入字符串,返回布尔值
scanner.hasNextLine();//判断是否输入字符串,返回布尔值
scanner.hasNextInt();//判断是否输入int型数字,返回布尔值
scanner.hasNextFloat();//判断是否输入float型数字,返回布尔值
······//以此类推
  1. **关闭scanner类:凡是属于IO流的类,如果不关闭就会一直占用资源,故需要关闭。**如:
scanner.close();

顺序结构

顺序执行的结构,一般程序都是按顺序结构执行的

选择结构

  1. if语句:
if(布尔值){}

if(布尔值){}else{}

if(布尔值){}elseif(布尔值){}······
  1. 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:
        ···;
}

循环结构

  1. while
while(布尔值){}
  1. do…while:至少执行循环一次
do{
    ···
}while(布尔值);
  1. for
for(初始化;循环条件(布尔值);更新值){}
  1. 增强for(JDK5新特性): 用于遍历数组和集合,本质与普通的for一样
for(声明语句:数组名或返回值为数组的方法){}//声明语句必须声明变量,其类型必须与数组一致,声明的变量作用域只在for循环之内
//此语句吧数组每一个值赋给变量一次,相当于遍历一遍数组

break,continue与goto

  1. break:写在循环中或switch中,用于跳出循环或switch
  2. continue:写在循环中,用于跳过该循环剩余部分,开始下一个循环
  3. goto:不推荐使用,在程序中添加标签,通过goto语句跳到标签的地方继续执行程序。continue和break也可以有类似的标签用法。

IDEA集成开发环境的反编译功能

通过class文件反编译出Java文件

在IDEA中打开class文件即可