再探java基础——break和continue的用法
break
break可用于循环和switch...case...语句中。
用于switch...case中:
执行完满足case条件的内容内后结束switch,不执行下面的语句。
eg:
public static void breakSwitch1() {
int n = 1;
switch (n) {
case 1:
System.out.println("this is one.");
break;
case 2:
System.out.println("this is two.");
break;
default:
System.out.println("Others.");
}
}
结果:
this is one.
eg2:
public static void breakSwitch2() {
int n = 1;
switch (n) {
case 1:
System.out.println("this is one.");
//break;
case 2:
System.out.println("this is two.");
break;
default:
System.out.println("Others.");
}
}
结果:
this is one.
this is two.
用于循环中
break;结束本层循环。
eg:
public static void breakTest1() {
System.out.println("begin to circulating.");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (i == 2 && j==3) {
System.out.println("break is executed!");
break;
}
System.out.print(i + "*" + j + "=" + i * j + "\t");
}
System.out.println();
}
}
结果:
begintocirculating.
0*0=0
0*1=0
0*2=0
0*3=0
0*4=0
1*0=0
1*1=1
1*2=2
1*3=3
1*4=4
2*0=0
2*1=2
2*2=4
breakisexecuted!
3*0=0
3*1=3
3*2=6
3*3=9
3*4=12
4*0=0
4*1=4
4*2=8
4*3=12
4*4=16
break[flag];结束带有[flag]标记层到本层的所有循环。
eg1:
public static void breakTest2() {
System.out.println("begin to circulating.");
loop:for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (i == 2 && j==3) {
System.out.println("break is executed!");
break loop;
}
System.out.print(i + "*" + j + "=" + i * j + "\t");
}
System.out.println();
}
}
结果:
begintocirculating.
0*0=0
0*1=0
0*2=0
0*3=0
0*4=0
1*0=0
1*1=1
1*2=2
1*3=3
1*4=4
2*0=0
2*1=2
2*2=4
breakisexecuted!
eg2:
public static void breakTest3() {
loop: for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.print("level " + i + ":");
for (int k = 0; k < 5; k++) {
if (i == 1 && j == 2 && k == 3) {
break loop;
}
System.out.print(i + "+" + j + "+" + k + "=" + i + j + k
+ "\t");
}
System.out.println("\t\t");
}
System.out.println();
}
}
结果
level0:0+0+0=000
0+0+1=001
0+0+2=002
0+0+3=003
0+0+4=004
level0:0+1+0=010
0+1+1=011
0+1+2=012
0+1+3=013
0+1+4=014
level0:0+2+0=020
0+2+1=021
0+2+2=022
0+2+3=023
0+2+4=024
level0:0+3+0=030
0+3+1=031
0+3+2=032
0+3+3=033
0+3+4=034
level0:0+4+0=040
0+4+1=041
0+4+2=042
0+4+3=043
0+4+4=044
level1:1+0+0=100
1+0+1=101
1+0+2=102
1+0+3=103
1+0+4=104
level1:1+1+0=110
1+1+1=111
1+1+2=112
1+1+3=113
1+1+4=114
level1:1+2+0=120
1+2+1=121
1+2+2=122
continue
continue;结束本层的本次循环。
eg1:
public static void continueTest1() {
for (int i = 0; i < 10; i++) {
if (i == 6) {
continue;
}
System.out.print(i + "\t");
}
}
结果:
0
1
2
3
4
5
7
8
9
eg2:
public static void continueTest2() {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (i == 2 && j == 3) {
continue;
}
System.out.print(i + "*" + j + "=" + i * j + "\t");
}
System.out.println();
}
}
结果:
0*0=0
0*1=0
0*2=0
0*3=0
0*4=0
1*0=0
1*1=1
1*2=2
1*3=3
1*4=4
2*0=0
2*1=2
2*2=4
2*4=8
3*0=0
3*1=3
3*2=6
3*3=9
3*4=12
4*0=0
4*1=4
4*2=8
4*3=12
4*4=16
continue[flag];结束带有[flag]标记层的本次循环,且终止[flag]层以内的层在[flag]标记层本次循环下的循环。有点绕口,也很难表述清楚,直接看例子吧:
eg1:
public static void continueTest3() {
loop: for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (i == 3 && j == 4) {
continue loop;
}
System.out.print(i + "*" + j + "=" + i * j + "\t");
}
System.out.println();
}
}
结果
0*0=0
0*1=0
0*2=0
0*3=0
0*4=0
0*5=0
0*6=0
0*7=0
0*8=0
0*9=0
1*0=0
1*1=1
1*2=2
1*3=3
1*4=4
1*5=5
1*6=6
1*7=7
1*8=8
1*9=9
2*0=0
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18
3*0=0
3*1=3
3*2=6
3*3=9
4*0=0
4*1=4
4*2=8
4*3=12
4*4=16
4*5=20
4*6=24
4*7=28
4*8=32
4*9=36
5*0=0
5*1=5
5*2=10
5*3=15
5*4=20
5*5=25
5*6=30
5*7=35
5*8=40
5*9=45
6*0=0
6*1=6
6*2=12
6*3=18
6*4=24
6*5=30
6*6=36
6*7=42
6*8=48
6*9=54
7*0=0
7*1=7
7*2=14
7*3=21
7*4=28
7*5=35
7*6=42
7*7=49
7*8=56
7*9=63
8*0=0
8*1=8
8*2=16
8*3=24
8*4=32
8*5=40
8*6=48
8*7=56
8*8=64
8*9=72
9*0=0
9*1=9
9*2=18
9*3=27
9*4=36
9*5=45
9*6=54
9*7=63
9*8=72
9*9=81
eg2:
public static void continueTest4() {
loop: for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.print("level " + i + ":");
for (int k = 0; k < 5; k++) {
if (i == 1 && j == 2 && k == 3) {
continue loop;
}
System.out.print(i + "+" + j + "+" + k + "=" + i + j + k
+ "\t");
}
System.out.println("\t\t");
}
System.out.println();
}
}
结果:
level0:0+0+0=000
0+0+1=001
0+0+2=002
0+0+3=003
0+0+4=004
level0:0+1+0=010
0+1+1=011
0+1+2=012
0+1+3=013
0+1+4=014
level0:0+2+0=020
0+2+1=021
0+2+2=022
0+2+3=023
0+2+4=024
level0:0+3+0=030
0+3+1=031
0+3+2=032
0+3+3=033
0+3+4=034
level0:0+4+0=040
0+4+1=041
0+4+2=042
0+4+3=043
0+4+4=044
level1:1+0+0=100
1+0+1=101
1+0+2=102
1+0+3=103
1+0+4=104
level1:1+1+0=110
1+1+1=111
1+1+2=112
1+1+3=113
1+1+4=114
level1:1+2+0=120
1+2+1=121
1+2+2=122
level2:2+0+0=200
2+0+1=201
2+0+2=202
2+0+3=203
2+0+4=204
level2:2+1+0=210
2+1+1=211
2+1+2=212
2+1+3=213
2+1+4=214
level2:2+2+0=220
2+2+1=221
2+2+2=222
2+2+3=223
2+2+4=224
level2:2+3+0=230
2+3+1=231
2+3+2=232
2+3+3=233
2+3+4=234
level2:2+4+0=240
2+4+1=241
2+4+2=242
2+4+3=243
2+4+4=244
level3:3+0+0=300
3+0+1=301
3+0+2=302
3+0+3=303
3+0+4=304
level3:3+1+0=310
3+1+1=311
3+1+2=312
3+1+3=313
3+1+4=314
level3:3+2+0=320
3+2+1=321
3+2+2=322
3+2+3=323
3+2+4=324
level3:3+3+0=330
3+3+1=331
3+3+2=332
3+3+3=333
3+3+4=334
level3:3+4+0=340
3+4+1=341
3+4+2=342
3+4+3=343
3+4+4=344
level4:4+0+0=400
4+0+1=401
4+0+2=402
4+0+3=403
4+0+4=404
level4:4+1+0=410
4+1+1=411
4+1+2=412
4+1+3=413
4+1+4=414
level4:4+2+0=420
4+2+1=421
4+2+2=422
4+2+3=423
4+2+4=424
level4:4+3+0=430
4+3+1=431
4+3+2=432
4+3+3=433
4+3+4=434
level4:4+4+0=440
4+4+1=441
4+4+2=442
4+4+3=443
4+4+4=444
PS
突然记得我以前用C语言写过类似的程序,并传到了百度库中。后来找来看了一下,发现写的好简单,但当时硬是写了大半天,而且写完之后还特别高兴,觉得这就是我的杰作,并传到了百度文库中……那时是刚上大学,在读大一刚入门的时候写的。程序员就是这样,总是沉醉于自己的作品之中,那怕是很简单,只要是在进步,把自己不会的东西写出来了,就特别高兴,这也是我们不断努力的动力啊!
有几个例子还是挺有意思的,拿出来秀一下:
例1:输入一批考试分数,用-1作为结束标志,若输入大于100,\n则提示重新输入。然后计算最高分、最低分和平均值。
#include<stdio.h>
void main()
{
int mark,n=0,sum=0,max=0,min=100;
float average;
for(;;)
{
scanf("%d",&mark); //输入学生成绩
if(mark>100) //如果输入的成绩大于100,则重新输入
{
printf("Please reinput:\n");
continue; //结束本次循环,返回for循环
}
if(mark==-1) //-1表示输入学生成绩结束
break; //终止整个循环,跳出循环体
n++;
sum=sum+mark;
if(mark>max) max=mark; //max存放最大的成绩
if(mark<min) min=mark; //min存放最小的成绩
}
average=(float)sum/n;
//“(float)sum”是强制型类型变换,使average的值一定为实数
printf("max=%d,min=%d,average=%f\n",max,min,average);
}
例2:计算半径从1到20时圆的面积,直到面积大于200为止。
#include<stdio.h>
#define PI 3.14159265
void main()
{
int r;
float s;
for(r=1;r<=20;r++)
{
s=PI*r*r;
if(s>200) break;
printf("r=%d,s=%.2f\n",r,s);
}
}
例3:输出50到150之间不能被5整除的整数。
#include<stdio.h>
void main()
{
int i;
for(i=50;i<=150;i++)
{
if(i%5==0)
{
printf("\n"); //使输出的显示每五个数换一行。
continue;
}
printf("%5d",i);
}
printf("\n");
}
分享到:
相关推荐
这份“java基础——————试题库”资源旨在帮助学习者系统地复习和深入理解Java的基础知识,确保他们能够全方位地掌握这一强大的编程工具。下面将详细阐述Java的基础知识点。 1. **Java简介** - Java是由Sun ...
Java是一种广泛使用的面向...总结,Java的基础知识涵盖了从基本语法到面向对象编程,再到高级特性和框架。理解并熟练运用这些知识,是成为一名合格的Java开发者的关键。希望本文能为你的Java学习之路提供有力的支持。
- **流程控制语句**:if语句、switch语句、循环语句(for、while、do-while)以及break、continue等控制流关键字的用法。 - **数组与字符串操作**:一维数组和多维数组的定义与使用方法,字符串的创建与常用操作方法...
流程控制语句如break和continue可用于提前结束循环或跳过当前迭代。 #### 二、方法与数组 **1. 什么是方法(Method)?** 方法是一组完成特定任务的语句。它可以接受输入参数并返回结果。 **2. Java中方法的格式*...
### Java——知识点归纳总结 #### 概述 Java是一种简单且强大的面向对象编程语言,以其跨平台特性闻名,即“一次编写,到处运行”。Java语言的设计原则包括分布性、安全性、健壮性和多线程性,使其成为互联网时代...
* 理解Java中的流程控制语句,包括if、switch、while、for、break、continue等。 * 熟悉使用Java中的循环语句,例如for循环、while循环等。 三、面向对象思想 * 理解面向对象编程的基本概念,例如类、对象、继承、...
Java简化了C++的一些复杂特性,例如移除了goto语句,采用break和continue来控制流程,同时不支持操作符重载和多继承。Java不使用预处理程序,也不需要显式内存管理,因为它拥有自动垃圾回收机制。 面向对象是Java的...
3. **语法基础**:Java的基础语法包括数据类型(如整型、浮点型、字符型和布尔型)、变量、运算符、控制结构(如if语句、switch语句、for循环、while循环)、流程控制(如break和continue)、方法和类的定义。...
5. 控制流程:包括条件语句(if, if-else, switch)、循环语句(for, while, do-while)和跳转语句(break, continue)。 五、面向对象编程 Java是一门纯面向对象的编程语言,主要特性包括封装、继承、多态。 1. ...
Java的语句包括条件语句(if-else)、循环语句(for、while、do-while)、跳转语句(break、continue)以及switch语句。 在Java中,包(package)用于组织类,提供命名空间,防止类名冲突。类的访问修饰符(public...
1. **基础语法**:包括数据类型(如整型、浮点型、字符型和布尔型)、变量、运算符、控制结构(如if-else、switch、for、while循环)以及流程控制(如break和continue)。 2. **类与对象**:讲解面向对象编程的核心...
Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和强大的库支持而闻名。这份压缩包中的PDF文件涵盖了Java的基础语法,对于学习和理解Java编程至关重要。让我们逐一解析每个主题: 1. **Java语言基础**...
以下是基于描述中提到的两个文件——"Java基础每日复习笔记-JavaSE基础阶段.edf"和"Java基础每日复习笔记-JavaSE高级阶段.edf"——所包含的知识点的详细阐述: 1. **Java SE基础阶段**: - **Java简介**:了解Java...
运算符、表达式与语句章节将涵盖算术、比较、逻辑、位和赋值运算符,以及条件语句(if-else)、循环语句(for、while、do-while)和跳转语句(break、continue)。此外,还将讨论如何使用表达式组合这些元素来实现...
5. **控制结构**:Java提供了if-else语句、switch语句进行条件控制,for、while、do-while循环用于重复执行代码,以及break和continue语句来改变流程。 6. **方法**:方法是Java中组织代码的单元,可以接受参数并...
对于jump语句,则重点讲述了break和continue的作用及其在嵌套结构中的使用技巧。此外,还涉及了语句块和方法的基本概念及实现。 适合人群:面向初学者,尤其是正在学习Java语言的新手开发者。 使用场景及目标:帮助...
Java语言基础实例是针对初学者精心设计的一系列编程示例,旨在帮助新手快速掌握Java编程的基本概念和常用语法。在这些实例中,你将学习到Java语言的核心特性,包括数据类型、控制结构、函数、类与对象等。下面将详细...
基础语法涵盖变量声明、常量定义、运算符(算术、比较、逻辑、位操作等)、流程控制语句(如if条件语句、switch多分支语句、循环语句如while、do...while和for循环)以及跳转语句(break和continue)。 面向对象是...
《Java程序员面试宝典——2012版》是一份针对Java程序员面试的全面指南,旨在帮助准备面试的程序员深入理解和掌握Java的核心概念和技术。以下是对该文档标题、描述及部分内容涉及的重要知识点的详细解析: ### Java...
变量的声明和初始化后,便是流程控制语句,如条件语句(if-else)、循环语句(for、while、do-while)和跳转语句(break、continue)。这些语句是程序逻辑的核心,使得程序可以根据不同的条件执行不同的操作。 在...