用java选择结构,循环结构,玩转你的Java

前言

java中主要控制三种结构:顺序,选择,循环(顺序就是读取程序时从头到尾)

选择与循环解释

对于Java中的两大选择(if 结构, switch-case结构),四大循环结构(while循环,do-whil循环,for循环,增加的for循环),这两种结构的使用目的:选择会让你学会什么该做,什么话不该做,而不是毫无目的,毫无思绪的蒙住头往前冲,循环会教会你不要浪费时间去做同一件毫无意义的事情。

选择结构

if 选择结构系列
1.if 结构:

                     **if(condition){
                         statements
                        }**

该结构是最基础的 选择 结构:

condition:是你进行判断条件的输入;
statement:是你要输出的语句,

            (  条件可以填:关系运算符,
                         逻辑运算,
                         布尔类型,
                         位运算,       )

如果你在condition填入 i==1(前提是给 i 一个定义(int i ;), 在statement填入:我爱java,那么只要你输入的数字等于1,那么系统就会输出 我爱java,倘若你输出其他数字,则输出会毫无反应,但是这样会导致我们以为系统啥也没有做,但实际上系统已经返给你一个结果。所以我们学习 if 语句系列的第二种。

2.if-else 结构

                    if(condition){
                       statement1;
                     }else{
                      statement2;                       
                    }

该结构可以更好的满足视觉和整体感,condition 和 statement1 的用法和 if 结构用法一样,而 statement2 所填写的是 当你输得内容不符合 condition是时输出的语句,比如我们上面举的例子:我们这里给statement2赋予语句为:你输入的有误,请重新输入,这样当你输入不是 数字1 的时候,系统会输出 你输入的有误,请重新输入。这样我们就可以清晰的明白我们哪里出错了从而继续下一步操作。

switch-case选择结构

switch-case结构

                        switch(表达式){
                               case值1:
                                 语句体;
                         break;
                
                               case值2:
                                语句体;  
                         break;     
                   
                              ...
                        default  
                        语句体n+1;
                          break; 
                       }

在switch-case中,表达式那里我们填的是一个固定类型的值后者其他固定内容,因为所有case值都会与它进行比较,如果你类型不一致,会导致case值得类型都不同,这样反而达不到便利性。
break : 表示中断,结束的意思,可以结束switch语句。
default : 表示所有情况都不匹配的时候,就执行该处的内容。

举个例子来更好的理解该结构的使用:我们现在main()方法中定义一个int n=1;然后在switch(n),即表达式为一个 int 类型的。然后在case值哪里写上与表达式进行比较的值(case 1),然后为case1中的语句赋予你想让其输出的语句体,然后在其后加上 关键字 break;以下所有的case2 case3…,都是一样的套路,一样的格式。直到你没有其他的的选择后,加上 default 语句体,则完成了一个完整的 switch-case选择结构语句体。程序运行时,他会使用 case值 与 表达式(n)比较,当case值与表达式的值一样时,输出case1的语句,如果没有case值与表达式一样,则输出 default 语句体。(表达式和case值是随心定义的,这取决你程序的需要,我们这里只是进行了简单的描述)

循环结构

**1.while循环结构

   基本结构式为:
                   while(布尔玛表达式){
                          //循环内容
                        }

你想要明白他的运行结构,就必须要记住他是循环结构,要牢记循环。就比如我们在布尔表达式中填入 true,然后在循环内容中输入 我爱你,然后就运行程序,程序的结果就是无限次的输出我爱你,这里需要注意的是while后面只能填 布尔表达式,也就是说哪里需要填比较类型。就比如 i<=10(i 需要我们在循环体外定义),假设我们定义 int i = 1,那么他就会循环输出我爱你10次。
在这里插入图片描述
2.do-while循环结构

       [initialization]   :初始化值
             
                 do{
                     //循环体  
            }while(condition); (判断条件) 
      }        

在do-while中:初始化值我们定义为 int i = 1;循环体部分是自行定义,我们将其定为一条语句 我喜欢你;而 while 中的判断条件为 i<2,程序在运行的时候就会无限次输出 我喜欢你,这是为什么呢?
在这里插入图片描述

我们来分析一下程序运行的节奏,程序运行时会先读取到 i=1,然后运行一次 do 下的循环体,也就是我们刚定义的 我喜欢你 语句,然后现在程序来到了while的判断条件这里。在这里他会把刚读取到的i=1.与判断语句比较,这时候程序发现i=1<判断条件的 2,那么他就会返回去继续执行do下的循环体直到程序发现i=1 不符合 判断条件。则停止输出。

所以这里我们一般使用do-while语句进行手动输出并且和switch-case语句结合使用,这样会更好的进行理解:1.之所以定义 boolean c = true;是因为while后的判断语句接受的是 boolean类型的,并且我们希望可以多次执行,而不是选一个系统停止了,我们希望我们手动关闭该程序,所以在 结束询问哪里我们将 false 赋给了c,此时c就变成了false,也就是判断语句那里变成了false,也就是该程序结束循环。这就是do-while循环结构的优势。
在这里插入图片描述
3.for循环结构

  for循环的结构:
              for([初始化部分];[判断条件];[迭代部分]){
                            //循环体
                       }

对于for循环的各个阶段分析:
初始化部分:就相当于上两种结构的 int i = 1;
判断条件: 和上面两种结构一样,都是决定循环多少次。
迭代部分;一次次增加初始值,也就是 i++

我们以下面这个程序分析一下,它是如何运行的:首先程序会在初始化部分读取到 i =1,然后去与判断条件中与其比较, 程序发现 i=1<10满足条件, 那么他会执行一遍循环体,然后到了迭代部分,程序会将 i=1 带到这里进行迭代部分的操作,然后 i 就会变成2,此时程序又会将经过迭代部分操作变成2的 i 送到判断条件进行比较,程序发现此时它仍然满足判断条件,既然满足就会执行输出语句 我爱你,然后程序将i=2继续送到迭代部分操作。此时 i 仍然增加1,变成了3,然后由于判断条件比较,满足就输出。就这样一直循环操作,知道 i 增加到大于10,条件不满足,这时截止输出。

在这里插入图片描述

循环结构的区别

do-while循环while,for循环结构的区别

  do-while循环至少执行一次循环体
          而while,for循环必须先判断条件是否成立,
                           然后决定是否执行循环语句

while 与 for 的区别
使用区别

              如果你想在循环结束后,
              继续使用控制条件的那个变量,用while循环,
              否则用for循环,不知道用for循环 
              因为变量及早的从内存中消失可以提高内存的使用效率

场景的理解

              如果是一个范围的,用for循环非常明确
              如果不明确做多少次,用while循环较合适
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值