Java流程控制

Java流程控制

用户交互Scanner

  • Scanner(java.util.Scanner)是Java工具类java5的新特征,可以用来驳货用户输入。

  • 基本语法:

    Scanner s = new Scanner(System.in)
    
  • 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据

Scanner对象

  • next():

    • 一定要读取到幼小字符后才可以结束输入。
    • 对输入有效字符之前召的空白,next()方法会自动去掉
    • 只有输入幼小字符后才将其后面输入的空白作为分隔符或者结束符。
    • next()不能得到带空格的字符串。
  • nextLine():

    • 以Enter为结束符,防御的扫古三个月人员回车之前的所有字符。
    • 可以获得空白
//创建扫描器对象,用于接受键盘数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用next放式接收:");
        if(scanner.hasNext()){
            String next = scanner.next();
            System.out.println("输出内容为:" + next);
        }
        scanner.close();

顺序结构

  • Java的基本结构是顺序结构,除非特别指明,否则按顺序一句一句执行
  • 顺序结构是最简单的算法结构
  • 语句与语句之间,框与框之间按从上到下的顺序进行,由若干个依次执行的处理步骤组成,他是任何一个算法都离不开的一种基本算法结构

img

选择结构

  • if但选择结构
  • if双选择结构
  • if多选择结构
  • 嵌套的if结构
  • switch多选择结构

img

if单选择结构

  • 判断是否可行然后执行,这样的过程在程序中用if语句来表示

  • 语法

    if(布尔表达式){
        //如果布尔表达式为true将执行的语句
    }
    

單分支

if双选择结构

  • 有成功和失败的判断一个if就不够了,需要有两个判断,所以就有了if-else双选择结构

    if(布尔表达式){
        //如果布尔表达式为true将执行的语句
    }else{
        //如果布尔表达式为false将执行的语句
    }
    

    img

if多选择结构

  • 现实中判断存在多级判断,选择也不肯能仅仅两个,所以我们需要多结构来处理这类问题

    if(布尔表达式1){
        //如果布尔表达式1为true将执行的语句
    }else if(布尔表达式2){
        //如果布尔表达式2为true将执行的语句
    }else if(布尔表达式3){
        //如果布尔表达式3为true将执行的语句
    }else {
        //如果都不满足将执行的语句
    }
    

    多分支

嵌套if结构

  • 在一个if或者else if中嵌套if或者else if是合法的

    if(布尔表达式1){
        //如果布尔表达式1为true将执行的语句
        if(布尔表达式2){
        //如果布尔表达式2为true将执行的语句       
        }
    }
    

switch多选择结构

  • 多选择结构还有一个实现放式就是switch case语句

  • switch case语句判断一个变量与一系列值中某个值是否相等,每个值成为一个分支。

  • switch语句中变量类型可以是

    • byte、short、int、char
    • 从Java SE 7开始支持String类型
    • 同时case标签必须为字符串常量或者字面量
    switch(expression){
        case value :
            //语句
            break;//可选
        case value :
            //语句
            break;//可选
        //可以任意数量的case语句
        default ://可选
            //语句
    }
    

循环结构

  • while循环
  • do..while循环
  • for循环
  • 在Java5中引用了一种主要用于属猪的增强型for循环

while循环

  • while是最基本的循环

    while(布尔表达式){
        //循环内容
    }
    
  • 只要布尔表达式为true,就会一直循环下去。

  • 我们大多数情况是会让循环停止,需要一个让表达式失效的方式来结束循环

  • 少数情况需要一直循环,比如服务响应监听请求。

  • 循环条件一直为true就会造成无限循环【死循环】,正常业务编程中尽量避免喜欢喝。会严重影响性能或者造成程序卡死崩溃!

do...while循环

  • 对于while循环,不满足条件就不能进入循环。有时我们需要即使不满足也执行一次

  • do...while循环和while循环相似但是do...while循环至少会执行一次

    do{
        //代码
    }while(布尔表达式)
    
  • do...while循环和while循环的区别

    • while循环先判断后执行,do...while循环先执行后判断
    • do...while循环至少会被执行一次

for循环

  • 虽然循环机构体都可以用while或do...while表示但java提供了另一种语句-for循环,使一些循环结构变得更简单。

  • for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。

  • for循环执行次数是在执行钱就确定的

    for(初始化;布尔表达式;更新){
        //代码
    }
    

增强for循环

  • Java5引入的一种主要用于数组或集合的增强型for循环

    for(声明语句:表达式){
        //代码
    }
    
  • 声明语句:声明局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素值相等。

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

posted @ 2020-06-11 15:24  人生如诗  阅读(147)  评论(0)    收藏  举报