Java顺序,分支,循环,跳转语句,补充生成随机整数

本文详细介绍了编程中的控制结构,包括顺序控制、分支控制(if-else, switch)、循环控制(for, while, do-while)以及跳转控制语句(break, continue)。特别强调了各种结构的使用场景、语法特点和最佳实践,如if-else的多分支、switch的条件匹配、for循环的初始化和迭代、以及break和continue在循环中的作用。
摘要由CSDN通过智能技术生成

控制结构

一.顺序控制

程序从上到下逐行地执行,中间没有任何判断和跳转。
顺序结构

二.分支控制

1.if-else

(1).单分支:
基本语法:

if (条件表达式){
    执行代码块;(可以有多条语句)
 }

说明:当条件表达式为true时,就会执行{}的代码,如果为false就不执行。
单分支
(2).双分支:
基本语法:

if (条件表达式){
     执行代码块1}
else{
     执行代码块2}

说明:当表达式成立,执行1,否则执行2。
双分支
(3).多分支:
基本语法:

if (条件表达式1){
     执行代码块1}
elseif (条件表达式2){
      执行代码块2}
……
else{
      执行代码块n;
}

多分支
(4).嵌套分支
规范:不要超过三层(可读性不好)
在一个分支结构(内层分支)中又完整的嵌套了另一个完整的分支结构(外层分支)。
基本语法:

if(){
      if(){
         //if-else...
       }else{
         //if-else
       }
}
2.switch分支结构

基本语法:

switch(表达式){
       case 常量1: //当...
       语句块1;
       break;
       case 常量2:
       语句块2;
       break;
       ……
       case 常量n:
       语句块n;
       break;
       default:
       default语句块;
       break;

说明:
表达式对应一个值
case常量1:当表达式的值等于常量1,就执行语句块1
break:表示退出switch
如果和case常量1匹配就执行语句块1,如果没有匹配,就继续匹配下一个,如果一个都没有匹配,执行default
使用细节:
1.表达式数据类型应该和case后的常量类型一致,或者可以自动转成可以相互比较的类型,如输入的是字符,而常量是int。
2.switch中表达式的返回值必须是:byte,short,int,enum【枚举】,String中的某一种。
3.case子句中的值必须是常量或常量表达式,而不能是变量。
4.default子句是可选的,当没有匹配的case时,执行default,如果没有default也没有匹配任何常量,则没有输出。
5.break语句用来在执行完一个case分支后使程序跳出switch语句块,如果没有break,程序会顺序执行到switch结尾。
流程图:
流程图
if和switch的比较:
1.如果判断的具体数值不多,而且符合byte,short,int,char,enum,String这6种类型,虽然两个语句都可以使用,但建议使用switch语句。
2.其他情况:对区间判断,对结果为Boolean类型判断,使用if,if的适用范围更广。

三.循环控制

1.for循环控制

基本语法:

for(循环变量初始化;循环条件;循环变量迭代){
         循环操作(可以多条语句);
}

流程图:
流程图
使用细节:
(1).循环条件是返回一个布尔值的表达式。
(2).for(;循环判断条件;)中的初始化和变量迭代可以写到其他地方,但是两边的分号不能省略。
例子
这样写法i是全局的i,可以再次输出i的值,而若在for中定义初始化只能在for循环中使用。
补充:
for(;;){
System.out.println(“ok”);
}
表示无限循环,死循环
(3).循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开;循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开。

编程思想:
1.化繁为简:将复杂的需求拆解成简单的需求,逐步完成。
2.先死后活:先考虑固定的值,然后转成可以灵活变化的值。
补充:增强for循环
1

2.while循环控制

基本语法:

while(循环条件){
        循环体(语句);
        循环变量迭代;
}

流程图:
流程图

3.do while循环控制

基本语法:

do{
      循环体(语句);
      循环变量迭代;
}while(循环条件);

说明:
do while是关键字
while和do while的区别:
while是先判断再执行;
do while是先执行再判断(一定会执行一次)
流程图:
流程图

4.多重循环控制(难点)

(1).将一个循环嵌套在另一个循环体上,就形成嵌套循环,其中,for,while,do while都可以作为外层和内层循环。
(2).实质上,嵌套循环就是把内层循环当作外层循环的循环体,当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。
(3).设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次。

四.跳转控制语句

1.break

扩展:
System.out.println(Math.randow());
Math.randow()表示随机返回带正号的double值,该值大于等于0.0,小于1.0
(int)(Math.random()*100+1)表示返回1~100的随机整数
基本介绍:
break语句用于终止某个语句块的执行,一般使用在switch或者循环for,while,dowhile中。
基本语法:

{......
  break;
 ......
 }

以while使用break为例,示意图如下:
示意图
细节说明:
1.break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块。
标签的基本使用:

label1:{......
label2:      {......
label3:            {......
                     break label2;
                     ......
                    }
              }
         }

(1)break后指定到哪个label就退出哪里。
(2)如果没有指定break,默认退出最近的循环体。
(3)实际开发中,尽量不要使用标签。

2.continue

基本介绍:
用于结束本次循环,继续执行下一次循环;也可以通过标签指明要跳过哪一层循环,和break一样。
基本语法:

{......
  countinue;
 ......
 }

以while使用continue为例的示意图:
示意图

3.return

一般使用在方法上,表示跳出所在的方法,在学习方法的时候,详细说明。
生成随机整数补充:

arr[i] = (int)(Math.random() * 100) + 1;//生成随机数1-100
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值