Java自学笔记 (零基础)------ Day 5

目录

一、多重循环控制(难点!重点!)

1、练习:依次输入三个班各5个学生成绩 ,计算每个班的平均分和三个班的平均分

2、练习:打印“九九乘法表”

3、打印空心金字塔

二、跳转控制语句-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方式完成

5.2、实现判断一个整数,属于哪个范围:大于0;小于0;等于0 

 5.3、判断一个整数是否是水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。例如:153= 1*1*1 +3*3*3 +5*5*5

5.4、输出小写的a~z,和大写的Z~A:

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);
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值