Java流程控制

本文详细介绍了Java的流程控制,包括顺序结构、选择结构(if和switch)和循环结构(while、do...while、for和增强for)。还讨论了break和continue在循环中的作用,以及Scanner类的使用,如next()和nextLine()方法的区别。文章通过生成三角形和输出100以内质数的实例加深理解。
摘要由CSDN通过智能技术生成

顺序结构

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

1. 选择结构

if选择结构

1. if单选择结构

语法:

if(布尔表达式){
   
    //布尔表达式为true,执行代码
}

2. if双选择结构

语法:

if(布尔表达式){
   
    //布尔表达式为true,执行代码
}else{
   
    //布尔表达式为false,执行代码
}

3. if多选择结构

语法:

if(布尔表达式1){
   
    //布尔表达式1为true,执行代码
}else if(布尔表达式2){
   
    //布尔表达式1为false,布尔表达式2为true,执行代码
}else if(布尔表达式3){
   
    //布尔表达式1为false,布尔表达式2为false,布尔表达式3为true,执行代码
}else{
   
    //以上布尔表达式都为false,执行代码
}

4. 嵌套的if结构

语法:

if(布尔表达式1){
   
    //布尔表达式1为true,执行代码
    if(布尔表达式2){
   
        //布尔表达式2为true,执行代码
    }
}

2. switch选择结构

语法:

seitch(expression){
   
    case value1 :
       // 选择value1,执行代码
    break;
    case value2 :
     // 选择value2,执行代码
    break;
    
    ... //可以写多条case ... break;
        
    default:
     //选择其他值,执行代码
}

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

  • byte、short、int 或者 char。
  • 从Java SE 7开始,switch 支持字符串 String类型了
  • 同时 case 标签必须为字符串常量或字面量

2. 循环结构

1. while循环

语法:

while(布尔表达式){
   
    //布尔表达式为true,执行代码
}
  • 循环条件一直为 true 就会造成无限循环(死循环),我们正常的业务编程中应该尽量避免死循环,因为它会影响程序性能或者造成程序卡死崩溃!
  • 少部分情况需要循环一直执行,比如服务器的请求响应监听等。

2. do…while循环

语法:

do{
   
    //代码
}while(布尔表达式)
  • do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。

3. for循环

语法:

for(初始化; 布尔表达式;更新){
   
    //需要循环的代码
}

快捷键:

10.for
    for (int i = 0; i < 10; i++) {
   
            
 }

4. 增强for循环

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

语法:

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

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

break continue

  • break 在任何循环语句的主体部分,均可用 break 控制循环的流程。break 用于强行退出循环,不执行循环中的剩余的语句。( break 语句也在 switch 语句中使用)
  • continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中 尚未执行的语句,接着进行下一次是否执行循环的判定

Java中的Scanner

Scanner基本语句

需要导入一个包

import java.util.Scanner;

创建Scanner对象

Scanner sc = new Scanner(System.in);

Scanner中的方法

1. next()和nextLine()

(1) next()

**next()方法不能得到带空格的字符串。**对输入有效字符(这里指不是空格、tab

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值