break

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

  • (break语句也在switch中使用)

    package com.xiaoming.struct;

    public class BreakDemo {
       public static void main(String[] args) {
           int i = 0;
           while (i<100){
               i++;
               System.out.println(i);
               if (i==30){
                   break;
              }
          }
           System.out.println(123);    //123 break 跳出循环但不终止程序继续运行到最后
      }
    }

continue

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

package com.xiaoming.struct;

public class ContinueDemo {
   public static void main(String[] args) {

       int i = 0;
       while (i < 100) {
           i++;
           if (i % 10 == 0) {
               System.out.println();
               continue; //跳过终止 输出里没有10的整数倍了
          }
           System.out.println(i);
      }
  }
}

break与continue的区别

  • break在任何语句的主体部分,均可以用break控制循环流程。

  • break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)

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

关于goto关键字

goto关键字很早在程序设计语言中出现。尽管goto仍是Java 的一个保留字,但并未在语言中得到正式使用;Java没有goto。然而在break和continue这两个关键字的身上,我们仍可以看出一些goto的影子---带标签break和continue。

"标签"是指后面跟一个冒号的标识符,例如:lable:

对Java来说唯一用到标签的地方是在循环语句之前。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随标签使用,它们会中断到存在标签的地方。

package com.xiaoming.struct;

public class LeableDemo {
   public static void main(String[] args) {
       //打印101~150之间所有质数
       //质数是指在大于1的自然数中,除了1和它本身以外不存在其他因素的自然数。

       int count = 0;
       
       //不建议使用 标签的简单写法 outer:   continue outer;
       outer:for (int i = 101; i <= 150; i++) {
           for(int j = 2;j<i/2;j++){
               if(i % j ==  0){
                   continue outer;
              }
          }
           System.out.print(i+" "); // 101 103 107 109 113 127 131 137 139 149
           
      }
  }
}

练习 打印三角形

package com.xiaoming.struct;

public class TextDemo {
   public static void main(String[] args) {
       //打印三角形 5行 1 3 5 7 9

       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();
           
      }                                
                                       
  }


  }
 

如不理解可以通过Debug来观看每一步的值。

Day7 break continue goto 以及打印三角形练习.的更多相关文章

  1. java控制语句 if-else while do-while for return break continue goto switch default

    if for //: object/ForEachFloat.java package object; import java.util.Random; public class ForEachFlo ...

  2. c语言中break continue goto return和exit的区别 联系(筛选奇数和goto求和)

    break 一般你是用于循环和switch语句中,执行break,退出循环,如果是多层循环,那么退出的当前的循环. 如果循环结构中有switch语句,而switch语句中有break 那么不会直接退出 ...

  3. 跳转语句—break,continue,goto

    #define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h&g ...

  4. break; continue; goto; return在循环中的应用

    1. break表示跳出循环,程序指向循环体后的第一条语句: ; ) { ) break; console.writeline("{0}",i++); } console.read ...

  5. break continue goto

    break:跳出本层循环:continue:结束本次循环,并不跳出循环:goto:转移到指定位置,无条件转移:

  6. Java流程控制:增强for循环,break&continue,打印99乘法表

    增强for循环:java5引入了一种主要用于数组或集合的增强for循环for(声明语句:表达式){//代码句子} 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配.其作用域限定在循环语 ...

  7. Java基础(2):Java中的四个跳转语句总结goto,break,continue,return

    跳转控制语句 Java中的goto是保留字,目前不能使用.虽然没有goto语句可以增强程序的安全性,但是也带来很多不便,比如说,我想在某个循环知道到某一步的时候就结束,现在就做不了这件事情.为了弥补这 ...

  8. JAVA之旅(二)——if,switch,for,while,do while,语句嵌套,流程控制break , continue ,函数,重载的示例总结

    JAVA之旅(二)--if,switch,for,while,do while,语句嵌套,流程控制break , continue ,函数,重载的示例总结 JAVA的思想真的很重要,所以要专心的学-- ...

  9. pass,break,continue的使用场景

    # ### 关键字的使用 pass / break / continue # pass 过 起到占位的作用 if 5 == 5: pass print(123) # break 只能应用在循环当中 用 ...

随机推荐

  1. 卷积神经网络(CNN,ConvNet)

    卷积神经网络(CNN,ConvNet) 卷积神经网络(CNN,有时被称为 ConvNet)是很吸引人的.在短时间内,变成了一种颠覆性的技术,打破了从文本.视频到语音等多个领域所有最先进的算法,远远超出 ...

  2. LongAdder源码阅读笔记

    功能描述 LongAdder通过创建多个副本对象,解决了多线程使用CAS更新同一个对象造成的CPU阻塞,加快了对线程处理的速度.当多个线程同一时刻更新一个AtomicLong类型的变量时,只有一个线程 ...

  3. NX二次开发-曲线或边分析函数

    UF_EVAL_is_arc   判断是圆形曲线或边UF_EVAL_ask_arc 圆形曲线或边分析,得到曲线或边的信息 类似的函数还有以下这些: UF_EVAL_is_ellipse // 椭圆UF ...

  4. MySQL的自增ID用完了,怎么办?

    既然这块知识点不清楚,那回头就自己动手实践下. 首先,创建一个最简单的表,只包含一个自增id,并插入一条数据. create table t0(id int unsigned auto_increme ...

  5. 深入理解JVM,7种垃圾收集器,看完我跪了

    如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现.Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商.版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并 ...

  6. XML从入门到深入(超详细)

    一:什么是XML XML (eXtensible Markup Language)指可扩展标记语言,标准通用标记语言的子集,简称XML.是一种用于标记电子文件使其具有结构性的标记语言. XML可以标记 ...

  7. etcd 添加用户,授权特定目录

    适用场景 多组共用etcd集群,创建一个新用户.新目录,让这个新用户只有新目录的使用权限. 命令和顺序 创建目录,注意此处是v2 curl -u root:pwd http://host:2379/v ...

  8. Golang中GBK和UTF8编码格式互转

    Golang中GBK和UTF8编码格式互转 需求 已知byte数组的编码格式转换 实现代码 package utils import ( "bytes" "golang. ...

  9. Java并发之Semaphore源码解析(二)

    在上一章,我们学习了信号量(Semaphore)是如何请求许可证的,下面我们来看看要如何归还许可证. 可以看到当我们要归还许可证时,不论是调用release()或是release(int permit ...

  10. 10年程序员的编程语言感受与Go的结缘

    因为小编最近在写两套教程,分别是Java语言基础教程和Go语言的基础教程,并且这 2 门语言,小编在实际的工作中也都有用过 而且 www.helloworld.net 社区的后台,就是用Go语言写的, ...