Java各种循环的使用分享(兔C残篇)

继前篇内容,我们聊了 java 的各种运算符,此篇博文,我们聊一下 流程控制,下方目录是本篇博文的话题内容。然后 兔C残篇开始以每周一连载更新的形式,持续为大家输出 java 相关的学习内容。

1. if 选择结构

在实际使用场景中,最多用到的就是 if结构,使用if进行条件判读,譬如下方代码示例

//如果此博文发不者 true 输出作者名 不是则继续向下执行程序
//例如上方要求,我们可以进行编码
if(作者 =C){
     System.out.println("该作者:兔C");
}

//或者 if 判断 还可以 加入else 进行 不为true 的使用-
if(作者 =C){
     System.out.println("该作者:兔C");
}else{
     System.out.println("该作者为:兔C之外的博主");
}

//我们还可以 以加入! 运算符的使用
if(!C){
     System.err.println("该作者不为兔C");
     //这里的err,我没有进行具体的了解,但是控制台会打印出红色的输出内容
}

//兔C系列,尽量为大家提供精华内容,下面说一下,你的代码千万不要这么去写
if(!嘤嘤嘤)
     System.out.println("不是嘤嘤嘤");
if(嘤嘤嘤)
     System.out.println("嘤嘤嘤");
//用if语句这样写出来的代码,虽然也会执行出判断相对应的结果,但是实际在内存中,计算机会把两个if语句都执行一次,我们尽量规范语法{} 不要随意省略

//以上4个小demo为大家提供参考。兔C系列,虽然会为大家讲解Java的内容,并且比较切合与小白程序员,但绝对不是新手上路的学习指南。故以此声明。
2. Switch 选择结构
//我们以计算器的小demo为大家说明 switch的使用


Scanner scanner = new Scanner(System.in);
// 用于接收控制台录入的 第一个参数
double number1 = scanner.nextDouble();

// 用于接收控制台录入的 运算符号(+ - * / )
String flag = scanner.next();

// 用于接收控制台录入的 第二个参数
double number2 = scanner.nextDouble();

//最后定义一个用于接收运算结果值的变量
double result = 0;

//然后使用 switch 进行条件的判断
switch(flag){
     case "+":
          result = numer1 + number2;
          break;
     case "-":
          result = numebr1 - number2;
          break;
     case "*":
          result = number1 * number2;
          break;
     case "/":
          result = number1 / number2;
          if(number1 == 0){
               System.err.println("除数不可以为0");
          }
          break;
     default:
          System.out.println("兔C版计算器");
   //同学们切忌,不可忘写 break,不写break 程序会穿透下去。
}

参上,就是switch选择结构的一个简单使用,这里埋藏一个小伏笔,在后期阶段揭晓。

3. While 循环结构
//While 循环结构,我们用此循环为我们打印一个 整数100持续+1直到递加到100次的动作

//我们首先需要定义循环的条件
int i = 0;
//然后在定义一个整数100
int sum =100;
//接下来使用循环,开始进行条件判断和循环的动作
while(i< 100){
     sum = sum+1;
     i++;
}
//循环结束之后,我们进行sum最终结果的打印
System.out.println("最终结果:" +sum);

//while 的特点是先进行条件的判断,在条件判断true成立之后,才会执行循环体中的内容,当条件为false时,循环执行结束,然后程序会执行循坏结束后的输出语句,也就是我们最终结果的打印
4. do While 循环
//do while 的特点是,不管条件是否成立,都会先执行一次,原因在于,先执行循环中的语句,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。

CodeDemoint index =1;
do{
     System.out.println(index);
     index = index +1;
}while(index <=10 ){
     System.out.println("兔C");
}

//如果不能直观的理解理论知识,请进行debug逐步跟踪程序执行顺序。
//并且,请在评论区中回答我两个输出语句的 输出结果。
5. for循环
//我们用两个demo来写for循环的示例,但是关于for循环的理解,请debug详细的去体会和感受其程序执行的意境。

//第一个demo,是额外的铺垫,我们先来看一下 普通的for循环
for(int i =0; i< 10; i++){
     //int i =0;可以理解成一个起始的下标值
     //i< =10; 也就是判断条件,当i 小于10时,false 就会执行循环体
     //i++; 可以理解成循环更新的动作,在执行一次循环之后,起始下标值进行+1的动作
     System.out.println("我要关注兔C的残篇,基类Java知识");
}

//第二个demo,我们玩两个有逻辑性的小程序
//打印九九乘法表
for(int i=1; i < 9; i++){
     System.out.println(i + "*" + i + "=" +(i*i));
}
//先观察第一个循环,我们在第一个循环的基础上慢慢进行改造和理解,
//在理解第一个循环之后,我们改造第一个循环,生产出下一个 

//在一个循环的外层,在嵌套一层循环
//知道嵌套这次循环的意义么?我不会告诉你,自己debug去跟
for(int j =1; j<=9; j++){
     for(int i; i<=j; i++){
          System.out.print(i +"*"+ j +"="+ (i*j)+"\t");
     }
     System.out.println("");
}

//此步,我们就完成了九九乘法表的打印
//第三个demo,打印直角三角形
//此处我提前声明,如果案例中的code,在复制到工具中,有编写错误,我说的编写错误是指单词的拼写,类似的错误,是因为这些代码,是我直接在md文档中手写的。如有程序上的编写错误,我是指逻辑上的编写错误,请在评论区中指出,第一个指出并和我进行辩论的同学,我发给予十元微信红包的鼓励。

//现在开始说三角形的事,在三角形这里我会在一个循环中,嵌套出三层循环,至于循环体中的三层循环的意义,不要着急粘贴代码去看运行结果,请一层一层的debug,添加,理解其每层循环的意义。我不会进行过多讲解,这个小demo,要你自己debug,才能真正的去理解。

//要遍历五次,也就是会有五行的输出内容
        for (int i = 1; i <= 5; i++) {

            //在每五次里都执行一次换行
            for (int j = 5; j >= i; j--) {
                System.out.print(" ");
            }

            //在每五次里,打印一个星星
            for (int j = 1; j <= i ; j++) {
                System.out.print("*");
            }

            for (int j = 1; j < i; j++) {
                System.out.print("*");
            }
            System.out.println(" ");
        }

6. goto
//goto这里的基础理论知识,我不能给大家进行讲述,我视此东东为鸡肋,因为并不会实际使用到,但是为了恪守兔C精神,还是为大家体现出来。此东东属于历史遗留,感兴趣的话,可以自己去了解,我这里只涉及到使用,continue outer; 在continue 加上outer,循环的开头也需要加上这个标签作为标记,有了标记之后,每次执行continue的时候,就会跳转到 for 以做好标记的入口处。

/*
            打印 101-150之间所有的质数
            质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
         */
        int number =0;

        outer:for (int i = 101; i < 150; i++) {

            //j的条件值为2,如果j能除以2 就进行递增
            for (int j = 2; j <= i/2; j++) {

                //如果i 的值 除以j = 0 就说明是质数,跳出当前循环
                if (i % j ==0){
                    continue outer;
                }
            }
            System.out.print(i+" ");
        }
7. continue 和 break
//continue 跳出当前次循环
//break 结束整体循环

最后说明,今天由于工作原因,不能更多的详细拓展知识,但是兔C 残篇,已经拟定了每期更新时间,希望兔C系列能给大家带来实际的帮助,也能让我们的水平基类成章。告辞。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

兔C

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

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

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

打赏作者

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

抵扣说明:

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

余额充值