1.break&continue
break:
作用范围 :switch-case和循环结构
作用 :1.在循环结构中用来结束当前循环
2.在switch-case中用来跳出switch-case结构
3.在嵌套循环中用来结束包含它的那层循环的当前循环
continue:
作用范围 :循环结构
作用 :1.在循环结构中用来结束当次循环
2.在嵌套循环中用来结束包含它的那层循环的当次循环
结束外层循环:
1.给外层循环起名字 - lable是外层循环的名字,该名字可以随意去写。
2.break后面写需要结束循环的名字
注意 :break和continue的后面不能直接再跟其它执行语句,因为不可能访问的到。
break:
作用范围 :switch-case和循环结构
作用 :1.在循环结构中用来结束当前循环 2.在switch-case中用来跳出switch-case结构
3.在嵌套循环中用来结束包含它的那层循环的当前循环
continue:
作用范围 :循环结构
作用 :1.在循环结构中用来结束当次循环 2.在嵌套循环中用来结束包含它的那层循环的当次循环
结束外层循环:
1.给外层循环起名字 - lable是外层循环的名字,该名字可以随意去写。
2.break后面写需要结束循环的名字
注意 :break和continue的后面不能直接再跟其它执行语句,因为不可能访问的到。
*/
public class BreakContinueTest{
public static void main(String[] args){
for(int i = 1; i <= 5; i++){
System.out.println(i);
if(i == 3){
break;//用来结束当前循环(跳出当前循环结构)
//System.out.println("==============================");//编译错误因为永远访问不到
}
}
System.out.println();
System.out.println("----------------------------------");
for(int i = 1; i <= 5; i++){
if(i == 3){
continue;//用来结束当次循环(当次的循环体不再执行)
//System.out.println("==============================");//编译错误因为永远访问不到
}
System.out.println(i);
}
System.out.println();
System.out.println("-------------嵌套循环---------------------");
for(int i = 1; i <= 3; i++){
for(int j = 1; j <= 3; j++){
System.out.println("j==" + j);
if(j == 2){
break; //在嵌套循环中用来结束包含它的那层循环的当前循环
}
}
System.out.println("i===" + i);
}
System.out.println();
System.out.println("-------------嵌套循环---------------------");
for(int i = 1; i <= 3; i++){
for(int j = 1; j <= 3; j++){
if(j == 2){
continue; //在嵌套循环中用来结束包含它的那层循环的当次循环
}
System.out.println("j==" + j);
}
System.out.println("i===" + i);
}
System.out.println();
System.out.println("-------------使用break用来结束嵌套循环的外层某个循环---------------------");
/*
结束外层循环:
1.给外层循环起名字 - lable是外层循环的名字,该名字可以随意去写。
2.break后面写需要结束循环的名字
*/
lable : for(int i = 1; i <= 3; i++){
for(int j = 1; j <= 3; j++){
System.out.println("j==" + j);
if(j == 2){
break lable;
}
}
System.out.println("i===" + i);
}
System.out.println("程序结束");
}
}
public class BreakContinueTest{
public static void main(String[] args){
for(int i = 1; i <= 5; i++){
System.out.println(i);
if(i == 3){
break;//用来结束当前循环(跳出当前循环结构)
//System.out.println("==============================");//编译错误因为永远访问不到
}
}
System.out.println();
System.out.println("----------------------------------");
for(int i = 1; i <= 5; i++){
if(i == 3){
continue;//用来结束当次循环(当次的循环体不再执行)
//System.out.println("==============================");//编译错误因为永远访问不到
}
System.out.println(i);
}
System.out.println();
System.out.println("-------------嵌套循环---------------------");
for(int i = 1; i <= 3; i++){
for(int j = 1; j <= 3; j++){
System.out.println("j==" + j);
if(j == 2){
break; //在嵌套循环中用来结束包含它的那层循环的当前循环
}
}
System.out.println("i===" + i);
}
System.out.println();
System.out.println("-------------嵌套循环---------------------");
for(int i = 1; i <= 3; i++){
for(int j = 1; j <= 3; j++){
if(j == 2){
continue; //在嵌套循环中用来结束包含它的那层循环的当次循环
}
System.out.println("j==" + j);
}
System.out.println("i===" + i);
}
System.out.println();
System.out.println("-------------使用break用来结束嵌套循环的外层某个循环---------------------");
/*
结束外层循环:
1.给外层循环起名字 - lable是外层循环的名字,该名字可以随意去写。
2.break后面写需要结束循环的名字
*/
lable : for(int i = 1; i <= 3; i++){
for(int j = 1; j <= 3; j++){
System.out.println("j==" + j);
if(j == 2){
break lable;
}
}
System.out.println("i===" + i);
}
System.out.println("程序结束");
}
}
2.嵌套循环案例
嵌套循环 :一个循环a作为另一个循环b的循环体,那么a循环叫作内层循环,b循环叫作外层循环
说明:
1.外层循环控制行,内层循环控制列
2.循环体执行的次数 = 外层循环的次数 * 内层循环的次数
3.外层循环循环一次,内层循环执行一轮。
public class ForForTest{
public static void main(String[] args){
//需求: 请输出*****每次只能输出一颗*
for(int i = 1; i <= 5; i++){
System.out.print("*");
}
System.out.println();
System.out.println("------------------------------------------------");
/*
需求:
*****
*****
*****
*****
*****
*/
for(int j = 1; j <= 5; j++){ //外层循环控制行
for(int i = 1; i <= 5; i++){//内层循环控制列
System.out.print("*");
}
System.out.println();
}
System.out.println();
System.out.println("------------------------------------------------");
/*
需求:
i j
* 1 1
** 2 2
*** 3 3
**** 4 4
***** 5 5
*/
for(int i = 1; i <= 5; i++){
for(int j = 1; j <= i; j++){
System.out.print("*");
}
System.out.println();
}
System.out.println();
System.out.println("------------------------------------------------");
/*
需求:
i j
***** 1 5
**** 2 4
*** 3 3
** 4 2
* 5 1
*/
for(int i = 1; i <= 5; i++){
for(int j = 1; j <= 6 - i; j++){
System.out.print("*");
}
System.out.println();
}
System.out.println();
System.out.println("------------------------------------------------");
/*
需求:
i j k
----* 1 1 4
---* * 2 2 3
--* * * 3 3 2
-* * * * 4 4 1
* * * * * 5 5 0
*/
for(int i = 1; i <= 5; i++){
for(int k = 1; k <= 5 - i; k++){ //-
System.out.print(" ");
}
for(int j = 1; j <= i; j++){ //*
System.out.print("* ");
}
System.out.println();
}
}
}
3.制作九九乘法表
需求:
/**
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
......
*/
public class NineNineTest{
public static void main(String[] args){
for(int i = 1; i <= 9; i++){
for(int j = 1; j <= i; j++){
System.out.print(j + "*" + i + "=" + j * i + " ");
}
System.out.println();
}
}
}
4.区分正负数
需求:
/**
从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序。
*/
import java.util.Scanner;
public class PositiveNegativeTest{
public static void main(String[] args){
//注意:写在循环结构的外面即可
Scanner sc = new Scanner(System.in);
boolean boo = true;
int positiveNumber = 0;//正数的个数
int negativeNumber = 0; //负数的个数
while(boo){
//从键盘读取数据
System.out.println("请输入一个数:");
int number = sc.nextInt();
if(number > 0){
positiveNumber++;
}else if(number < 0){
negativeNumber++;
}else{
//终止循环
break;
}
}
System.out.println("正数的个数:" + positiveNumber + " 负数的个数:" + negativeNumber);
}
}