首页 > 技术文章 > 流程控制

sslcheese 2020-12-18 15:19 原文

流程控制

用户交互Scanner

import java.util.Scanner;

public class Demo03 {
    public static void main(String[] args) {
        //输入多个数字,求其总和与平均数,没输入一个数字用回车确认,通过输入非数字结束输入并输出结果

        Scanner scanner = new Scanner(System.in);
        int count = 0;
        double sum = 0.0;

        while (scanner.hasNextDouble()){
            sum += scanner.nextDouble();
            count++;
        }
        System.out.println("总和为:" + sum);
        System.out.println("平均数为:" + sum/count);

        scanner.close();
    }
}

选择结构

if(){
    
}
-----------------
if(){
    
}else{
    
}
------------------
if(){
    
}else if(){
    
}else if(){
    
}else{
    
}

switch多选择结构

switch语句中的变量类型可以是:

  • byte、short、int 或者char;
  • 从 Java SE 7 开始
  • switch支持字符串String类型
  • 同时case标签必须为字符串常量或字面量
switch(expression){
    case value:
        break;
    case valud;
        break;
    default:
}
注意case穿透现象,要记得加break

循环结构

while 和do-while的区别:

  • while先判断后执行,dowhile是先执行后判断
  • dowhile总是保证循环体会被至少执行一次,这是两者的主要区别

for循环

for(初始化;布尔表达式;更新){
    
}
for(声明语句:表达式){
    
}

增强for循环,用于遍历数组或集合

声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。

表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

label:

对于Java来说,唯一用到标签的地方是在循环语句之前。唯一理由是:我们夕阳在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,他们就会中断到存在标签的地方。

推荐阅读