Java流程控制

Java流程控制

用户交互Scanner

Scanner类详解

通过Scanner类获取用户的输入来实现程序员和人的交互。

注意:使用Scanner类需要导包 java.util.Scanner

基本语法:

Scanner sc = new Scanner(System.in);

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

Scanner对象

  • next():

    1. 一定要读取到有效字符后才可以结束输入

    2. 对输入的有效字符之前遇到的空白,next()方法会自动将其去掉。

    3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。

    4. next()不能得到带有空格的字符串。

  • nextLine():

    1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。

    2. 可以获得空白。

顺序结构

  • Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。

  • 顺序结构是最简单的算法结构。

  • 语句与语句之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。

选择结构

if单选择结构

需要进行一个判断

语法

if(条件语句){
   
    执行语句
       
}

equals :判断字符串是否相等。

if双选择结构

同一件事需要进行两个结果相反或不同的判断

if(条件语句){
    结果为true时的执行语句
}
else{
    结果为false时的执行语句
}

if多选择结构

同一件事需要进行多个结果不同的判断

if(条件语句1){
    结果为true时的执行语句
}
else if(条件语句2){
    结果为true时的执行语句
}
​
......
    
else if(条件语句n){
    结果为true时的执行语句
}
else{
    结果为false时的执行语句
}

if语句至多有一个else语句,else语句在所在的所有的else if 语句之后。

if语句可以有若干个else if 语句,它们必须在else 之前

一旦其中有一个条件语句结果为true,除了这个条件语句所在的if判断语句或者else if 判断语句外,其他判断语句包括else 语句都将跳过执行。

嵌套的if结构

使用嵌套的 if ....else 语句是合法的,也就是说你可以在另一个 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开始,switch支持String类型

  • case标签必须为字符串常量或字面量。

语法:

switch(expression){
    case vaue 1:
        执行语句
        break;
    case vaue 2:
        执行语句
        break;
    ...
    case vaue n:
        执行语句
        break;
    default :
        执行语句
}            

循环结构

while循环

  • while语句如果不满足条件,则不能进入循环

  • while循环是最基本的循环,结构为:

    while(条件语句){
        执行的循环语句
    }
  • 只要条件语句结果为true,循环会一直执行下去。

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

  • 少部分情况下需要循环一直执行下去,比如服务器的请求响应监听

  • 循环条件一直为true会造成死循环,应尽量避免死循环。死循环会影响程序性能或者造成程序卡死崩溃

do.....while循环

  • do.....while循环即使不满足条件,也至少执行一次

  • 语法结构

    do{
        循环语句
    }while(条件语句)

while和do.....while的区别

  • do.....while先执行后判断,while先判断后执行

  • while语句如果不满足条件,则不能进入循环;do.....while循环即使不满足条件,也至少执行一次

for 循环

  • for循环使一些循环结构便得更加简单

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

  • for循环执行的次数是在执行前就确定的。语法结构:

    for(初始化表达式;条件表达式;操作表达式){
        循环语句
    }

    for循环说明

    1. 最先执行初始化步骤,可以声明一种类型,可以初始化一个或多个循环控制变量,也可以是空语句。

    2. 执行条件表达式。如果为true,循环语句被执行;如果为false,则循环终止。执行一次后,更新循环控制变量,再次执行条件表达式,重复执行上述过程,

增强for 循环

语法格式 :

for(声明语句 : 表达式){
    循环语句
}

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

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

brreak & continue

  • 在任何循环语句的主体部分,均可使用break控制循环的流程。break用于强行退出循环,不必执行循环中剩余的语句。(break语句也在switch语句中使用)

  • continue语句在循环语句体中,用于终止某次循环过程,即跳出循环体中尚未执行的语句,接着进行下一次是否执行循环的判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒湮.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值