一、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. [HNOI2007]分裂游戏 博弈论

    题面 题面 题解 这题的思路比较特别,观察到我们的每次操作实质上是对于一颗豆子的操作,而不是对一瓶豆子的操作,因此我们要把每颗豆子当做一个独立的游戏,而它所在的瓶子代表了它的SG值. 瓶子数量很少,因 ...

  2. LOJ2430:[POI2014]沙拉餐厅Salad Bar——题解

    https://loj.ac/problem/2430 是的我BZOJ又没卡过……懒得卡了. 参考:https://blog.csdn.net/zqh_wz/article/details/52887 ...

  3. SC命令(windows服务开启/禁用)

    原文链接地址:https://blog.csdn.net/cd520yy/article/details/30976131 sc.exe命令功能列表: 1.更改服务的启动状态(这是比较有用的一个功能) ...

  4. 洛谷P1242 新汉诺塔 【神奇的递归】

    题目描述 设有n个大小不等的中空圆盘,按从小到大的顺序从1到n编号.将这n个圆盘任意的迭套在三根立柱上,立柱的编号分别为A.B.C,这个状态称为初始状态. 现在要求找到一种步数最少的移动方案,使得从初 ...

  5. 函数式编程(1)-高阶变成(1)-map/reduce

    map/reduce Python内建了map()和reduce()函数. 如果你读过Google的那篇大名鼎鼎的论文“MapReduce: Simplified Data Processing on ...

  6. Linux基础-配置网络、集群内主机名设定、ssh登入、bash命令、通配符(元字符)

    作业一:临时配置网络(ip,网关,dns)+永久配置 设置临时网络配置: 配置IP ifcongfig ens33 192.168.16.177/24 (ifconfig 网卡 ip地址    /24 ...

  7. Codeforces Round #412 (rated, Div. 2, base on VK Cup 2017 Round 3) A B C D 水 模拟 二分 贪心

    A. Is it rated? time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  8. 手动搭建高可用的kubernetes 集群

    之前按照和我一步步部署 kubernetes 集群的步骤一步一步的成功的使用二进制的方式安装了kubernetes集群,在该文档的基础上重新部署了最新的v1.8.2版本,实现了kube-apiserv ...

  9. grep index.php *

    zb@zb-computer:/usr/local/nginx/conf/vhost$ grep index.php * caomall17.conf: index index.html index. ...

  10. sleep php函数

    <?php echo date('h:i:s') . "<br />"; //暂停 10 秒 sleep(10); //重新开始 echo date('h:i:s ...