一、While循环语句

1、格式

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

2、要点

  1,先判断后执行
  2,循环次数不定
  3,避免死循环

3、举例

题目1:输出0-100之间的所有数

 class Demo3
{
public static void main(String[] args){
//输出0-100之间的所有数
int i=1;
while(i<100){
System.out.println(i);
i++;
}
}
}

题目2:猜数字游戏

   public static void main(String[] args) {
   //解析:Math.random()返回一个double类型的0.0~1.0之间的数值; Math.random()*100返回结果:0.0~100.0(不包括0.0和100.0); (int)(Math.random()*100)+1,返回结果:1~100(包括1和100)
int num = (int)(Math.random()*100)+1; // 在1~100之间,生成一个随机数。
Scanner sc = new Scanner(System.in); //创建一个扫描器对象
int guessNum = -1; // guessNum 的初始化值不能在1~100之间(包括1和100)。

7 while (guessNum != num) {
System.out.println("请输入1-100之间整数");
   
int guessNum = sc.nextInt(); //扫描你输入的整形对象
if (guessNum == num) {
System.out.println("中啦");
} else if (guessNum < num) {
System.out.println("小啦");
} else {
System.out.println("大了");
}
}
}

二、do ... while循环语句

1、格式

  do{

     执行相应的代码;

  }while(判断条件);

2、要点

  1,先执行后判断
  2,至少执行一次
  3,最后的分号勿漏

3、while循环语句和do-while循环语句的区别:

  1)while循环语句,是先判断,再执行相应代码
  2)do-while循环语句,先执行相应的代码,再判断

4、例子

 public static void main(String[] args) {
int x = 0, y = 0;
do {
System.out.println(x);
x++;
} while (x < 0);//注意一个细节:do...while 后面的分号
// do...while:不管是否满足循环条件,do都会先执行一次。
while (y < 0) {
System.out.println(y); //条件不满足,结果只有x的值输出
y++;
}
}

题目2:猜数字游戏

  public static void main(String[] args) {
// 记录用户输入的数字
int guess = -1;
// 记录用户输入次数
int count = 0;
// 生成1-100之间随机数
int num = (int) (int)(Math.random()*100)+1;// 在1~100之间,生成一个随机数。
    Scanner sc = new Scanner(System.in);//创建一个扫描器对象 // 循环猜数字
do {
System.out.println("请输入1-100之间的数字");
guess = sc.nextInt();//扫描你输入的整形对象
if (guess > num) {
System.out.println("哥们,太大了");
} else if (guess < num) {
System.out.println("哥们,太小了");
} else {
System.out.println("恭喜您,中啦");
}
count++;
} while (guess != num); //注意一个细节:do...while 后面的分号
System.out.println("你猜测的数字是:" + num + "猜测了" + count + "次");
}

三、for 循环语句(和增强for循环)

1.格式

  for(初始化表达式;循环条件表达式;循环后的操作表达式){

    执行语句;

  }

2、for 和while的区别

while循环和for循环的对比:
  1、循环类型:
    while循环是不确定性循环(循环次数不明确)
    for循环式确定型循环(循环次数明确)
  2、相互转换:
    while循环和for循环可以相互转换
  3、适用场合:
    当循环次数确定时,一般使用for循环
    当循环次数不确定时,一般使用while循环
 public static void main(String[] args) {
for (int x = 0; x < 5; x++) {
System.out.println("hello java");
}
System.out.println(x);
//x cannot be resolved to a variable int y = 0;
while (y < 5) {
System.out.println("hello world");
y++;
}
System.out.println(y);
}

解析:

x 为什么会找不到,注意了变量的作用域,也就是变量的作用范围。x 只在 for 循环的大括号内有效,出了这个区域,就无效了.在内存中就消失了。x消失后,仍要访问它,肯定会报错的。

y 就不一样了,y 是定义在while 外的。while循环完毕仍有效  while的初始化 动作在外边,循环结束后y 仍然存在。

当定义的y 只作为循环增量存在的话的,循环完毕后y就没有用了,但是y还是占着一块内存。所以,如果定义的变量只作为循环增量存在的话,就用for 循环可以节约内存。

其实for 和while 是可以互换的。

总结

  A、for里面的两个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。

  B、while与for可以互换,区别在于for为了循环而定义的变量在for循环结束时就在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。

  C、最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。推荐使用while(true)

3、举例

题目1:打印99乘法表

 class Demo1{

     public static void main(String[] args) {
for (int x = 1; x <= 9; x++) {
for (int y = 1; y <= x; y++) {
System.out.print(y + "*" + x + "=" + x * y + '\t'); // \t:制表符,相当于Table键,一个\t代表四个空格
}
System.out.println(" ");
}
}
}

效果图:

转义字符:
\r 表示接受键盘输入,相当于按下回车。
\n 表示换行。
\t 制表符,相当于Table键(四个空格)
\b 退格键,相当于Back Space
\’ 单引号
\’’ 双引号
\\ 表示一个斜跨

题目2:打印直角三角形

 public static void main(String[] args) {
for (int x = 0; x < 5; x++) {
for (int y = 0; y <= x; y++) {
System.out.print("*");
}
System.out.println("");
} }

效果图

题目3:打印倒直角三角形

 public static void main(String[] args) {
for (int x = 5; x > 0; x--) {
for(int y=x;y>0;y--){
System.out.print("*");
}
System.out.println("");
}
}

效果图

4、增强for循环(也叫foreach循环)

jdk1.5出现的新功能

 1)增强for循环的作用

      简化了迭代器的书写格式(注意:增强for循环底层还是使用了迭代器遍历)

 2)增强for循环的适用范围

如果实现了Iterable接口或者数组对象都可以使用增强for循环.

 3)增强for循环的格式

for(数据类型 变量名:遍历的目标对象名){

}

 4)增强for循环需要注意的事项

1、增强for循环底层也是使用迭代器获取的,只不过获取迭代器是由jvm完成,不需要我们获取迭代器,索引在使用增强for循环遍历元素的过程中不准使用集合对对象对集合元素经行修改
      2、迭代器遍历元素和增强for循环的区别:使用迭代器遍历元素时可以删除集合元素,而增强for循环遍历集合元素时,不能调用迭代器里面的remove方法删除元素.
      3、普通for循环与增强for循环的区别:普通for循环可以没有变量目标,而增强for循环一定要有变量目标

 public class Demo2 {
public static void main(String[] args) {
int[] arr={12,2,5,0}; //普通for循环
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
} //增强for循环
for (int i : arr) {
System.out.println(i);
}
}
}

四、 breakcontinue关键字

1、break关键字:break 语句用于终止最近的封闭循环或它所在的 switch 语句。控制传递给终止语句后面的语句(如果有的话)。

适用:for循环 、 switch判断语句。

要点:
  1,结束循环之用
  2,改变循环执行次数
  3,只跳出本循环

break的用法:

  1. 单独使用。
  2. 与标签一起使用。(标签:即一个名字,满足标识符的条件即可)。

使用细节: 不要再break语句之后,编写其他语句,永远都执行不到,编译报错。

2、continue关键字:语句将控制权传递给它所在的封闭迭代语句的下一次迭代。(跳出本循环,执行下一次循环)。

适用于:while 、 do while 、 for循环语句

要点:
  1,没有终止整个循环
  2,没有改变循环执行次数
  3,只在本层循环当中起作用

使用细节:

  1. 如果continue出现在循环的末尾(最后一条语句),那么可以省略。

  2. 如果continue出现在循环的第一条语句,那么后面的语句都无法执行,所以编译报错。

  3. 可以结合标记使用。

 3、小结:

  break: 结束了一个循环
  continue:结束了一次循环
如图所示:

原创作者:DSHORE

作者主页:http://www.cnblogs.com/dshore123/

原文出自:http://www.cnblogs.com/dshore123/p/8656779.html

欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!

java基础3 循环语句:While 循环语句、do while 循环语句、 for 循环语句 和 break、continue关键字的更多相关文章

  1. Java基础复习之二:运算符,键盘录入,流程控制语句,if语句,三元运算

    1.运算符 1.1.算术运算符  +(加法有三个用法:加法,正号,字符串连接符)  -  *  /  %  ++  -- 1.1.1./ 是取商,%是取余 1.1.2.++ 与--的用法(a:作用是自 ...

  2. java 基础 03 运算符 分支结构 循环结构

    今天内容: (1)运算符 (2)分支结构 (3)循环结构 1运算符 1.1赋值运算符 (1)简单赋值 = 表示赋值运算符,用于将=右边的数据赋值给=左边的变量来覆盖原来的数值. 笔试题: ia == ...

  3. day05-Python运维开发基础(双层循环、pass/break/continue、for循环)

    # ### 双层循环练习 # 十行十列小星星 j = 0 while j<10: # 逻辑代码写在下面 # 打印一行十个小星星 i = 0 while i<10: print(" ...

  4. Java 基础 break和continue关键字的使用

    break&continue关键字的使用 break:使用在switch...case语句或者循环结构语句中,表示结束当前循环. 示例代码: public class TestBreak { ...

  5. 050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句

    050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句 本文知识点:continue语句 continue语句 continue ...

  6. 049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句

    049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句 本文知识点:break语句 break语句 break语句前情回顾 1.swi ...

  7. 《Java基础——循环语句》

    Java基础--循环语句       1. while语句: 规则: 1. 首先计算表达式的值. 2. 若表达式为真,则执行循环语法,直至表达式为假,循环结束.   格式: while(表达式) 语句 ...

  8. 【Java基础】【04循环语句&方法】

    04.01_Java语言基础(循环结构概述和for语句的格式及其使用) A:循环结构的分类 for,while,do...while B:循环结构for语句的格式: for(初始化表达式;条件表达式; ...

  9. Java基础之循环语句、条件语句、switch case 语句

    Java 循环结构 - for, while 及 do...while 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: whi ...

随机推荐

  1. ORACLE 存储过程异常捕获并抛出

    for tab_name in tables loop execute immediate 'drop table '||tab_name; --此处可能会报错 end loop; 当前情况是,循环表 ...

  2. C++11Mutex(互斥锁)详解

    多个线程访问同一资源时,为了保证数据的一致性,最简单的方式就是使用 mutex(互斥锁). (1).直接操作 mutex,即直接调用 mutex 的 lock / unlock 函数.此例顺带使用了 ...

  3. 【BZOJ2756】奇怪的游戏(二分,网络流)

    [BZOJ2756]奇怪的游戏(二分,网络流) 题面 BZOJ Description Blinker最近喜欢上一个奇怪的游戏. 这个游戏在一个 N*M 的棋盘上玩,每个格子有一个数.每次 Blink ...

  4. 【读书笔记】《HTTP权威指南》:Web Hosting

    一.概述 从零开始构建一个真正意义的网站需要做很多事情,包括购买计算机硬件.建造机房.注册域名.购买网络带宽.开发Web服务器软件.管理网站内容等等.在互联网发展的早期,构建网站的这一系列动作通常都是 ...

  5. Educational Codeforces Round 20 C 数学/贪心/构造

    C. Maximal GCD time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  6. HDU 4584 splay

    Shaolin Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Sub ...

  7. 11.UiAutomator 相关JAVA知识

    一.封装方法与模块化用例 1.方法: 在JAVA中,方法就好比日常生活中的一个动作,由动作组合成一系列完整的操作. 方法结构: 方法修饰符 方法返回值类型 方法名 { 方法体 } 比如: public ...

  8. C++ ------ 创建对象 new 和不 new 的区别

    1.作用域不同 不用new:作用域限制在定义类对象的方法中,当方法结束时,类对象也被系统释放了,(安全不会造成内存系统泄漏). 用new:创建的是指向类对象的指针,作用域变成了全局,当程序结束时,必须 ...

  9. HDU 3926 并查集 图同构简单判断 STL

    给出两个图,问你是不是同构的... 直接通过并查集建图,暴力用SET判断下子节点个数就行了. /** @Date : 2017-09-22 16:13:42 * @FileName: HDU 3926 ...

  10. css table-border

    1.table上设边框,td上设边框: <style> table{border-right:1px solid #F00;border-bottom:1px solid #F00} ta ...