循环语句

功能

在循环条件满足的情况下,反复执行特定代码

循环语句的四个组成部分

初始化部分(init_statement)
循环条件部分(test_exp)
循环体部分(body_statement)
迭代部分(alter_statement)

循环语句分类

for 循环
while 循环
do/while 循环

for循环语句

语法格式

for (初始化表达式; 布尔值测试表达式; 更改表达式){
语句或语句块;

应用举例

package com.uncleyong;

public class TestFor {
public static void main(String[] args) {
//从 1 打印到 100
for(int i = 1; i <= 100; i++){
System.out.println(i);
}
}

while循环语句

语法格式

[初始化语句]
while( 布尔值测试表达式){
语句或语句块;
[更改语句;]
}  

应用举例

package com.uncleyong;

public class TestWhile {
public static void main(String[] args) {
int i = 1; while(i <= 100){
System.out.println(i);
i++;
}
}

do/while循环语句

语法格式

[初始化语句]
do{
语句或语句块;
[更改语句;]
}while(布尔值测试表达式);  

应用举例

package com.uncleyong;

public class TestDoWhile {
public static void main(String[] args) {
//do ... while 一定会执行一次循环体.
int j = 101;
do{
System.out.println("^^" + j++);
}while(j <= 100);
}

几个循环的应用场景

循环次数确定时一般使用for循环
循环次数不确定时一般使用while和do...while循环

特殊流程控制语句:break、continue

break

break语句用于终止某个语句块的执行,一般与if一起使用

break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块

label1: {   ……
label2: { ……
label3: { ……
break label2;
……
}
}
}
语法格式
{ ……
break;
……
}
应用举例
public class TestBreak{
public static void main(String args[]){
for(int i = 0; i<10; i++){
if(i==3)
break;
System.out.println(" i =" + i);
}
System.out.println("Game Over!");
}
}

continue

continue语句用于跳过某个循环语句块的一次执行,也就是跳出本次循环,执行下一次循环,本次循环尚未执行完的代码不再执行

continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环

语法格式
{ ……
continue;
……
}
应用举例
package com.uncleyong;

public class TestContinue {
public static void main(String [] args){ //continue语句用于跳过某个循环语句块的一次执行 for(int i = 1; i <= 100; i++){
if(i % 2 != 0){ //break和continue之后不能有其他的语句,
//因为程序永远不会执行break 和 continue之后的语句。
continue; // System.out.println("test");
} System.out.println(i);
}
}
}  

特殊流程控制语句(break、continue)说明

break只能用于switch语句和循环语句中。
continue 只能用于循环语句中。
标号语句必须紧接在循环的头部。标号语句不能用在非循环语句的前面。
break和continue之后不能有其他的语句,因为程序永远不会执行break 和 continue之后的语句,否则编译出错。

练习题(参考答案已放在Q群文件中)

1、求1到100之间所有偶数的和。用for和while语句分别完成

OuShu.java

2、从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序

TestCount.java

3、打印 1-100 之间的所有素数

SuShu.java

4、分别打印如下两个直角三角形

第一个:

*
***
*****
******* 第二个: ****
***
**
*

 

5、打印等腰三角形

6、【java笔试题】输入带*字符串,把*左移输出,其他字母按原顺序输出,例如:输入“as*c*gkl**o*p*h”,输出******ascgkloph

此参考答案不是最优的

package com.qzcsbj;

import java.util.Arrays;
import java.util.Scanner; /**
* @create : 2020/3/13 21:10
* @description : <描述>
* @博客 : www.cnblogs.com/uncleyong
* @QQ群 : 652122175
* @公众号 : 全栈测试笔记
*/ public class Test {
public static void main(String[] args) {
/**
* 【java笔试题】输入带*字符串,把*左移输出,其他字母按原顺序输出,
* 例如输入“as*c*gkl**o*p*h”,输出******ascgkloph
*/
System.out.print("请输入带*字符串:");
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
// String str = "as*c*g";
System.out.println("移动前:" + str);
char[] arr=str.toCharArray();
for (int i=0;i<arr.length-1;i++){
for (int j=1;j<arr.length-1-i;j++){
if (arr[j]=='*' && arr[j-1]!='*'){ // 把*左移
char temp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = temp;
}
}
System.out.println("第"+ (i+1) +"轮冒泡:" + Arrays.toString(arr));
}
// System.out.println(Arrays.toString(arr));
String s = "";
for (int i=0;i<arr.length;i++){
s+=arr[i];
}
System.out.println("移动后:" + s);
}
}

  

Java【第四篇】基本语法之--循环的更多相关文章

  1. CSDN markdown 编辑器 第四篇 LaTex语法

    Latex是为了写数学公式的. 嗯-但实际这样的语言的作用是为了排版的.数学公式仅仅是他的附加属性. 可是markdown引入这个全然是为了写公式.其它的Latex语法不支持. CSDN markdo ...

  2. 第四篇 :微信公众平台开发实战Java版之完成消息接受与相应以及消息的处理

    温馨提示: 这篇文章是依赖前几篇的文章的. 第一篇:微信公众平台开发实战之了解微信公众平台基础知识以及资料准备 第二篇 :微信公众平台开发实战之开启开发者模式,接入微信公众平台开发 第三篇 :微信公众 ...

  3. 用仿ActionScript的语法来编写html5——第四篇,继承与简单的rpg

    第四篇,继承与简单的rpg 这次用继承自LSprite的类来实现简单的rpg的demo先看一下最后的代码与as的相似度 var backLayer; //地图 var mapimg; //人物 var ...

  4. 你所不知道的库存超限做法 服务器一般达到多少qps比较好[转] JAVA格物致知基础篇:你所不知道的返回码 深入了解EntityFramework Core 2.1延迟加载(Lazy Loading) EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public? 藏在正则表达式里的陷阱 两道面试题,带你解析Java类加载机制

    你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不 ...

  5. Python入门篇-基础语法

    Python入门篇-基础语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编程基础 1>.程序 一组能让计算机识别和执行的指令. 程序 >.算法+ 数据结构= 程 ...

  6. mysql第四篇:数据操作之多表查询

    mysql第四篇:数据操作之多表查询 一.多表联合查询 #创建部门 CREATE TABLE IF NOT EXISTS dept ( did int not null auto_increment ...

  7. 零基础学Java第四节(字符串相关类)

    本篇文章是<零基础学Java>专栏的第四篇文章,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! String 本文章首发于公众号[编程攻略] 在Java中,我们经 ...

  8. Java中四种引用:强、软、弱、虚引用

    这篇文章非常棒:http://alinazh.blog.51cto.com/5459270/1276173 Java中四种引用:强.软.弱.虚引用 1.1.强引用当我们使用new 这个关键字创建对象时 ...

  9. 从.Net到Java学习第一篇——开篇

    以前我常说,公司用什么技术我就学什么.可是对于java,我曾经一度以为“学java是不可能的,这辈子不可能学java的.”结果,一遇到公司转java,我就不得不跑路了,于是乎,回头一看N家公司交过社保 ...

  10. Java SE 第二篇

    二.  Java SE 第二篇 1.  Arrays 数组 // 声明一维数组,[]内不允许有值 int[] arr; int arr[]; // 创建一维数组对象,[]内必须有值 arr = new ...

随机推荐

  1. 自定义HorizontalScrollView的scrollBar

    尊重劳动成果,转载请标明出处http://www.cnblogs.com/tangZH/p/8423803.html android滑动组件的scrollBar,看了不是很顺眼,没办法,因为项目需求, ...

  2. MAC MAMP 中安装配置使用 ThinkPHP

    MAMP PRO 是Mac OS X 平台上经典的本地环境应用 MAMP 的专业版.专门为专业的Web开发人员和程序员轻松地安装和管理自己的开发环境. MAMP这几个首字母代表Mac OS X系统上的 ...

  3. IntelliJ IDEA简介及简单操作

    IntelliJ IDEA简介         IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),IntelliJ在业界被公认为最好的java开发工具之一 ...

  4. C++客户端访问WebService VS2008

    VS2008及之后的版本已经不支持使用C++开发WEBService服务了,如果要在VS上开发WEBService,需要使用C#开发语言. 一.gSOAP简介 gSOAP编译工具提供了一个基于SOAP ...

  5. Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块

    Python第五天   文件访问    for循环访问文件    while循环访问文件   字符串的startswith函数和split函数  linecache模块 目录 Pycharm使用技巧( ...

  6. USB初学(一)---USB-HID的初步认识【转】

    HID是一种USB通信协议,无需安装驱动就能进行交互,在学习HID之前,先来复习一下USB协议的相关内容. USB设备描述符-概述 当插入USB设备后,主机会向设备请求各种描述符来识别设备.那什么是设 ...

  7. c/c++ linux 进程间通信系列1,使用signal,kill

    linux 进程间通信系列1,使用signal,kill 信号基本概念:  软中断信号(signal,又简称为信号)用来通知进程发生了异步事件.进程之间可以互相通过系统调用kill发送软中断信号.内核 ...

  8. Codechef Bear and Clique Distances

    题目:Bear and Clique Distances 描述:共有N个点,前1—K个点任意两点之间有一条无向边,边的权值为X,再任意给M条边(u,v,w)(不重复),求任意一点到其余各点的最短路. ...

  9. Nginx反向代理实现IP访问分流

    通过Nginx做反向代理来实现分流,以减轻服务器的负载和压力是比较常见的一种服务器部署架构.本文将分享一个如何根据来路IP来进行分流的方法. 根据特定IP来实现分流 将IP地址的最后一段最后一位为0或 ...

  10. 持续代码质量管理-SonarQube-7.3简单使用

    安装了SonarQube以及Sonar Scanner之后,就需要那代码检测了.当然为了方便我们使用已有现成的demo,知道到对应的git地址下载即可. 1. sonar-examples下载 htt ...