1.1 while 循环语句

  while 语句也称为条件判断语句. 循环方式 : 利用一个条件来控制是否要反复执行这个语句.

  语法 :

 while(条件表达式){
执行语句
}

  当条件表达式的返回值为真时,执行 " {} " 中的语句,当执行完 " {} " 中的语句后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,退出循环.

  注意:

    不能在while表达式的括号后面加 " {} " !!!

    如 :

 while(x==5);
System.out.println("x的值为5");

  这时程序会认为要执行一条空语句,而进入无限循环,Java编译器不会报错.

1.2 do...while 循环语句

  do...while 循环语句与while循环语句相类似.

  两者区别 :

    while语句为先判断条件是否成立再执行循环体 , 而 do...while 循环语句则先执行一次循环会后,再判断条件是否成立 (即do...while循环语句中"{}"中的程序段至少被执行一次).

  此外还应该注意,do...while语句在结尾处多一个分号 ";" .

  语法:

  

 do {
执行语句
}
while(条件表达式);

1.3 for 循环语句

  1.for 语句

    语法 :

    

 for (表达式1 ; 表达式2 ; 表达式3) {
语句序列
}
表达式1 : 初始化表达式,负责完成变量的初始化.
表达式2 : 循环条件表达式,值为boolean型的表达式,指定循环条件.
表达式3 : 循环后操作表达式,负责修整变量,改变循环条件.

  技巧点 :

    在编程时,有时会使用for循环的特殊语法格式来实现无限循环,语法格式为:

     

 for (;;){
...
}
对于这种无限循环,可以通过break语句跳出循环.例如:
for(;;){
if(x<20)
break;
x++;
}

  2.foreach 语句

  for循环的语法糖.

  语法:

 for(元素变量 x : 遍历对象 obj){
引用了 x 的java语句;
}

循环控制语句:

  1.1 break 语句

      不仅break语句可以跳出switch结构 , 也可以用break语句跳出当前循环体,从而中断当前循环.

   例如:

public class BreakTest{
public static void main(String[] args){
for(int i = 0 ; i <= 100 ; i++){
System.out.println(i);
if( i == 6){
break; // 如果 i 等于6则跳出循环
}
}
System.out.println("--end--");
}
}

  但是,循环嵌套的情况下, break语句将只会使程序流程跳出包含它的最内层的循环结构即只跳出一层循环.

  当然Java提供了"标签"功能,使一次跳出的最外层循环.

  语法:

 标签名 : 循环体 {
break 标签名;
}
标签名: 任意标识符.
循环体: 任意循环语句.
break标签名: break跳出指定的循环体,此循环体的标签名必须与break的标签名一致.

例如:

 public class BreakOutsideNested {
public static void main(String[] args){
Loop: for(int i = 0; i < 3; i++){
for(int j = 0; j < 6; j++){
if (j == 4){
break Loop;
}
System.out.println("i=" + i + "j=" + j);
}
}
}
}

  1.2 continue 语句

      continue 语句是对break语句的补充. continue 不是立即跳出循环体,而是跳过本次循环结束前的语句,回到循环的条件测试部分,重新开始执行循环. 在for循环中遇到continue后,首先执行循环的增量部分,然后进行条件测试.在while和do...while循环中,continue语句使控制直接回到条件测试部分.

  例如:

 public class ContinueTest{
public static void main(String[] args){
for(int i = 1; i < 20; i ++){
if(i % 2 == 0){    
continue;      // 跳到下一循环
}
System.out.println(" i ");
}
}
}

  与break一样,continue也支持标签功能,语法:

 标签名 : 循环体 {
continue 标签民;
}
标签名 : 任意标识符.
循环体 : 任意循环体.
continue 标签名 : continue跳出指定的循环体,此循环体的标签名必须与continue的标签名一致.

  

Java中的循环语句的更多相关文章

  1. java中多重循环和break、continue语句

    一.嵌套循环 循环可以互相嵌套,以实现更加复杂的逻辑,其代码的复杂程度也会提高,对初学者而言这应该是个难点,下面我们通过一些例子说明嵌套循环的使用,读者要自己把这些代码上机练习,并理解程序运行的流程. ...

  2. java基础3_循环语句,数组

    java中的循环: Java中提供了3中循环结构:  while  do-while  for ① 循环结构的作用? 可以不断重复执行循环结构中的代码: ② 上面的3个循环结构功能都是一样的,只是结构 ...

  3. PHP和Java中foreach循环的用法区别

    1.foreach语句介绍: ①PHP: foreach 语法结构提供了遍历数组的简单方式.foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息. ...

  4. java中for循环的6种写法

    有些写法上的说明写的过于武断,可能有很多不当之处,仅供参考.   package ForLoop; import java.util.ArrayList; import java.util.Itera ...

  5. js中的循环语句

    js中的循环语句可分为三种:1.while:2.do……while:3.for. while的语法为 while (exp) {    //statements;} var a=1,b=0; whil ...

  6. Java中的switch语句后面的控制表达式的数据类型

    Java中的switch语句后面的控制表达式的数据类型 1.byte 2.char 3.short 4.int 5.枚举类型 6.Java 7允许java.lang.String类型

  7. Java中return的语句

    1.return语句的作用:a.返回一个值,这个值可以是任意类型.b.使程序返回到操作系统(即终止程序)2.java中对于一个函数,不论有没有返回值类型,都可以带有return 语句.但是区别在于,r ...

  8. Java中的return语句使用总结

    Java中的return语句总是和方法有密切关系,return语句总是用在方法中,有两个作用,一个是返回方法指定类型的值(这个值总是确定的),一个是结束方法的执行(仅仅一个return语句).   在 ...

  9. Java中的if-else语句——通过示例学习Java编程(7)

      作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=18 当我们需要根据一个条件执行一组语句时,我们需 ...

随机推荐

  1. 前端js页面跳转

    window.location.Reload() //刷新当前页面self.location=document.referrer;通过Request Headers中Referer获得上个页面的地址并 ...

  2. PowerShell 使用 WMI 获取信息

    在 PowerShell 可以很容易使用 WMI 拿到系统的信息,如果有关注我的网站,就会发现我写了很多通过 WMI 拿到系统的显卡,系统安装的软件等方法,本文告诉大家如果通过 PowerShell ...

  3. OPENWRT X86 安装使用教程 (未完成)

    目 录  一 下载 Openwrt 镜像文件 二 将镜像文件写入目标磁盘 2.1  写盘工具 2.2 Physdiskwrite 写盘 2.3 win32diskimager 写盘 三 管理界面 3. ...

  4. OpenCV与MFC实战之图像处理 样本采集小工具制作 c++MFC课程设计

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/12111102.html 入门不久的人可以通过opencv实战来锻炼一下学习opencv的成果, ...

  5. grep工具

    全面搜索正则表达式(Global search regular expression(RE) ,GREP)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. Unix/Lin ...

  6. 浅解 go 语言的 interface(许的博客)

    我写了一个 go interface 相关的代码转换为 C 代码的样例.也许有助于大家理解 go 的 interface.不过请注意一点,这里没有完整解析 go 语言 interface 的所有细节. ...

  7. Hadoop Authentication

    我被被派去做别的事情了,所以与hadoop相关的工作就只能搁下.写篇总结,把最近遇到的和kerberos相关的东西列一下. JAAS是Java 认证和授权服务(Java Authentication ...

  8. mac 访达修改所有文件夹默认排序方式

    先说个误区,下图只能改变当前目录的排序方式 修改所有目录的排序方式需要在顶部的“显示” 中修改

  9. [Ljava.lang.String;@3e5084c9:是一个字符串数组的字节码表示

    [Ljava.lang.String;@3e5084c9:是一个字符串数组的字节码表示 打印一个字符串数组的话,会发现 String[] arr = new String[10]; // String ...

  10. 分布式唯一ID:雪花ID Snowflake .Net版

    先抄个雪花ID介绍,雪花算法: 雪花算法的原始版本是scala版,用于生成分布式ID(纯数字,时间顺序),订单编号等. 自增ID:对于数据敏感场景不宜使用,且不适合于分布式场景.GUID:采用无意义字 ...