JavaSE学习 Day4 - Java流程控制

Java流程控制

用户交互与Scanner对象

Java.util.Scanner是Java5的新特征,可以通过Scanner类来获取用户的输入

//基本语法
//创建一个扫描器对象,用于接收键盘输入的数据。
Scanner s = new Scanner(System.in);

//关闭Scanner
//凡是属于IO流的类,如果不关闭会一直占用资源
Scanner.close();
  • Scanner类中有多个方法,例如hasNext()、hasNextLine()、hasNextInt()、hasNextDouble()、next()、nextLine()、nextInt()、nextDouble()等方法。
  • 需要注意的是,has开头的方法返回值为boolean类型(true、false),用于判断用户是否进行了输入;而无next等方法返回值为整数、浮点数、字符(串)类型,用于返回用户的输入值。但不同的是,hasNext会检查是否有非空字符,hasNextLine检查输入中是否还有linePattern(回车、软回车)。
  • next、nextInt、nextDouble方法是以空格作为分隔符或者结束符,对于输入有效字符前的空格符,会自动将其去掉,无法得到带空格的字符串;nextLine()方法以Enter为结束符,会返回输入回车之前的所有字符,可以得到带有空格的字符串。
  • Scanner类的运行机制(自我理解):首先创建扫描器后,代码会卡在此处等待用户输入,直到用户输入了非空字符且敲击回车之后,代码才会继续运行。此时,next、nextLine、nextInt方法会在输入中寻找有效字符及结束符,然后将数据返回出来。每进行一次输出,就相当于光标往前移动了几位,has方法会重新进行判断。

顺序结构

Java的基本结构就是顺序结构,除非明确指明,否则就会按照顺序一句一句的执行。顺序结构是最简单的算法结构。

选择结构

  • if单选择结构
if (布尔表达式){
  //布尔表达式为真时执行
}
  • if双选择结构
if (布尔表达式){
  //布尔表达式为真时执行
}else{
  //布尔表达式为假时执行
}
  • if多选择结构
if (布尔表达式){
  //布尔表达式为真时执行
}else if(布尔表达式){
  //布尔表达式为真时执行
}else if(布尔表达式){
  //布尔表达式为真时执行
}else{
  //布尔表达式均为假是执行
}
  • 嵌套的if结构
    在ifelse语句内部嵌套ifelse语句是合法的
  • switch多选择结构
switch(){
  case value{
    //语句
    break;
  }
  case value{
    //语句
    break;
  }
  default:
    //语句  
}

switch语句中的变量类型可以是byte、short、int、char、String
case标签必须是字符串常量或者字面量

循环结构

  • while循环
while(布尔表达式){
  //循环内容
}
  • do while循环
do{
  //循环内容
}while(布尔表达式)

区别在于实现进行判断还是先执行循环体

break、continue

break:跳出最近的一次循环
continue:终止本次循环,直接进行下次循环

posted @ 2021-06-20 16:56  RedHairBlackBoy  阅读(37)  评论(0)    收藏  举报