目录
1、练习:依次输入三个班各5个学生成绩 ,计算每个班的平均分和三个班的平均分
2.1、break语句可以退出当前的switch结构、for、while、do while循环结构(就近原则);
2.2、break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块;
3.1、continue语句用于结束本次循环,继续执行下一次循环;
3.2、continue语句出现在多层嵌套的循环结构时,可以使用标签指明要跳到哪层循环体中,使用规则同break;
4.1、return使用在方法,表示跳出所在的方法,在讲解方法的时候,会详细的介绍,这里我们简单的提一下。注意:如果return写在main方法,退出程序;
5.2、实现判断一个整数,属于哪个范围:大于0;小于0;等于0
5.3、判断一个整数是否是水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。例如:153= 1*1*1 +3*3*3 +5*5*5
5.5、求1+(1+2)+(1+2+.3)+(1+2+3+4) +...+(1+2+3+..+100)的结果
一、多重循环控制(难点!重点!)
1、练习:依次输入三个班各5个学生成绩 ,计算每个班的平均分和三个班的平均分
import java.util.Scanner;
public class MulForwhile {
public static void main(String[] args) {
double total = 0;
int cls = 1;
for (;cls <= 3;cls++) {
int stu = 1;
double sum = 0;
for (;stu <= 5;stu++) {
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入"+cls+"班的"+"学生"+stu+"的成绩");
double score = myScanner.nextDouble();
sum += score;
}System.out.println(cls+"班的平均分为"+(sum/5));
total += sum;
}System.out.println("三个班的平均分为"+(total/(5*3)));
}
}
2、练习:打印“九九乘法表”
public class MulForwhile01 {
public static void main(String[] args) {
for (int j = 1;j <= 9;j++) {
for (int i = 1;i <= j;i++) {
System.out.print(i+"*"+j+"="+(i*j)+" ");
}System.out.println("") ;
}
}
}
3、打印空心金字塔
//空心金字塔
public class MulForwhile02 {
public static void main(String[] args) {
int tl = 10;//totalLevel
//currentLevel
for (int cl = 1;cl < tl;cl++) {
for (int x = 1;x <= tl*2-1;x++) {
if (x == tl-cl+1 || x == tl+cl-1){
System.out.print("*");
}
else {
System.out.print(" ");
}
}System.out.println("");
}
for(int i = 1;i <= 2*tl-1;i++){
System.out.print("*");
}
}
}
二、跳转控制语句-break
2.1、break语句可以退出当前的switch结构、for、while、do while循环结构(就近原则);
2.2、break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块;
(1)break语句可以指定退出哪层;
(2)label1是标签,名字由程序员指定;
(3)break后指定到哪个label 就退出到哪里;
(4)在实际的开发中,老韩尽量不要使用标签;
(5)如果没有指定break,默认退出最近的循环体。
语法如下:
三、跳转控制语句-continue
3.1、continue语句用于结束本次循环,继续执行下一次循环;
3.2、continue语句出现在多层嵌套的循环结构时,可以使用标签指明要跳到哪层循环体中,使用规则同break;
四、跳转控制语句-return
4.1、return使用在方法,表示跳出所在的方法,在讲解方法的时候,会详细的介绍,这里我们简单的提一下。注意:如果return写在main方法,退出程序;
五、本章练习
5.1、编程实现如下功能:
某人有100,000元,每经过一次路口,需要交费,规则如下:1)当现金>50000时,每次交5%;2)当现金<=50000时,每次交1000;
编程计算该人可以经过多少次路口,要求:使用while break方式完成
public class Exe01 {
public static void main(String[] args){
double money = 100000;
double rate = 0.05;
int count = 0;
while(true){
if(money>50000){
money *= (1-rate);
count++;
}else if(money >= 1000){
money -=1000;
count++;
}else {
break;
}
}
System.out.println("可以过"+count+"个路口");
}
}
5.2、实现判断一个整数,属于哪个范围:大于0;小于0;等于0
import java.util.Scanner;
public class Exe02 {
public static void main(String[] args){
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = myScanner.nextInt();
if(num < 0){
System.out.println("小于0");
}else if(num > 0){
System.out.println("大于0");
}else{
System.out.println("等于0");
}
}
}
5.3、判断一个整数是否是水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。例如:153= 1*1*1 +3*3*3 +5*5*5
import java.util.Scanner;
public class Exe03 {
public static void main(String[] args){
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入一个三位数:");
int num = myScanner.nextInt();
int b = num / 100;
int s = num % 100 / 10;
int g = num % 10;
if(b * b * b + s * s * s + g * g * g == num){
System.out.println(num+"是水仙花数");
}else{
System.out.println(num+"不是水仙花数");
}
}
}
5.4、输出小写的a~z,和大写的Z~A:
public class Exe04 {
public static void main(String[] args){
for(char n1 = 'a';n1 <= 'z';n1++){
System.out.print(n1);
}System.out.println();
for(char n2 = 'Z';n2 >= 'A';n2--){
System.out.print(n2);
}
}
}
5.5、求1+(1+2)+(1+2+.3)+(1+2+3+4) +...+(1+2+3+..+100)的结果
public class Exe05 {
public static void main(String[] args){
int sum = 0;
for(int i = 1;i <= 100;i++){
for(int j = 1;j <= i;j++){
sum += j;
}
}System.out.println(sum);
}
}