Java基础-4

知识点:

        嵌套 for 循环 方法

一、switch 结构

1.1 概述

        switch case 语句用来判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
当一个 case 成立,从这个 case 向后穿透所有 case,包括 default,直到程序结束或者遇到 break 程序才结束

1.2 形式

switch ( expression ){
        case value : syso(1) //语句 break ; //可选
        case value : syso(2) //语句 break ; //可选
        case value : syso(3) //语句 break ; //可选
        case value : syso(4) //语句 break ; //可选
        //可以有任意数量的 case 语句
        default : syso(0) //语句//可选 //语句
}

1.3 练习 1:数字匹配

创建 Java 工程: DAY04
创建包: cn.tedu.basic
创建类: Test1_Switch.java
package cn.mbh.basic;
/**
*@author MBH:
*@version 创建时间:2022年7月2日 下午10:32:01
*/
/**本类用于测试switch结构*/
public class Test1_Switch {

	public static void main(String[] args) {
		int a = 2;
		switch (a) {
		case 1 :  System.out.println(1);
		case 2 :  System.out.println(2);
		case 3 :  System.out.println(3);break;
		case 4 :  System.out.println(4);
		case 5 :  System.out.println(5);
			
		default:System.out.println(0);
		}
		System.out.println("****************************");
		/*
		* 执行的顺序
		* 1.先拿到表达式的值(a),然后将a的值与case的值进行匹配
		* 2.当成功匹配到case的值后,会执行此case后的代码
		* 3.判断此行代码是否有break,如果有,结束执行,如果没有,会继续向后执行穿透所有case,包括default
		* 4.如果没有匹配到任何的case,只会执行default的代码
		*/
		String s = "Monday";
		switch(s) {//a--可以支持5种类型:byte short int char jdk1.5以后支持String
		case "Monday" : System.out.println(1); break;
		case "Tuesday" : System.out.println(2); 
		case "Wedsday" : System.out.println(3);
		case "Thursday" : System.out.println(4); 
		case "Friday" : System.out.println(5); 
		case "Saturday" : System.out.println(6); 
		case "Sunday" : System.out.println(7); 
		default:System.out.println(0);
		}
	}

}

1.4 switch 结构的注意事项

1) switch 语句中的变量类型可以是:
byte、short、int 、char、String(jdk1.5 以后支持)
2) switch 语句可以拥有多个 case 语句
3) 每个 case 后面跟一个要比较的值和冒号,且此值的数据类型必须与变量的数据类型一致
4) 当变量值与 case 语句值相等时,开始执行此 case 语句的内容,执行完会判断此行代码是否有 break,如果
有,结束执行,如果没有,会继续向后执行穿透所有 case,包括 default
5) switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置, 但建议在最后一个)default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句
6)如果在 default 之前的 case 有 break,则 default 不会执行

二、循环结构

2.1 for 概述

循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。
它由循环体中的条件,判断继续执行某个功能还是退出循环。
根据判断条件,循环结构又可细分为先判断后执行的循环结构和先执行后判断的循环结构。

2.2 for 形式

for ( 开始条件;循环条件;更改条件 ){
        syso 循环体;
}

 

2.3 练习 2-1:打印 0 到 10

创建 Java 工程: DAY04
创建包: cn.tedu.basic
创建类:Test2_For.j
package cn.mbh.basic;
/**
*@author MBH:
*@version 创建时间:2022年7月2日 下午10:38:46
*/
/**本类用于测试for循环*/
public class Test2_For {

	public static void main(String[] args) {
		//需求:打印0到10 
		//for(开始条件;循环条件;更改条件){循环体;}
		//循环变量i --i代表的就是每次获取到的值
		//0 1 2 3 4 5 6 7 8 9 10
		//初始值:0 结束值:10 变化:+1
		for (int i = 0; i <= 10; i++) {
			System.out.println(i);
		}

	}

}

2.4 练习 2-2:打印 10 到 0

//需求2:打印10到0
		//10 9 8 7 6 5 4 3 2 1 0 
		//初始值:10 结束值:0 变化:-1
		for (int i = 10; i >= 0; i--) {
			System.out.println(i);
		}

2.5 练习 2-3:打印 8,88,888,8888,

// 需求 3: 打印 8,88,888,8888,
//8, 88, 888, 8888,
// 初始值 :8 结束值 :8888 变化 :*10+8
for ( int i = 8; i <=8888; i = i *10+8) {
System. out .print( i + "," ); //print() 打印后不换行
}

三、嵌套 for 循环

3.1 嵌套 for 概述

存在至少 2 层 for 循环,根据外层的条件,判断里层能否执行
如果能执行,就把里层代码都循环完毕后,再继续判断是否执行外层循环的下一次循环

3.2 嵌套 for 形式

for ( 开始条件;循环条件;更改条件 ){ //外层循环
        for ( 开始条件;循环条件;更改条件 ){ //内层循环
                循环体;
        }
}

3.3 练习 3:嵌套 for 循环入门案例

创建类:Test3_ForDemo.java
        总结 1:外循环执行 1 次,内循环执行多次
        总结 2:外循环控制行,内循环控制列
package cn.mbh.basic;
/**
*@author MBH:
*@version 创建时间:2022年7月2日 下午10:49:52
*/
/**本类用于测试嵌套for循环*/
public class Test3_ForDemo {
	//总结1:外层循环执行1次(控制轮数),内层循环执行多次(每轮执行的次数)
	//外层循环打印1 2 3
	public static void main(String[] args) {
		for (int i = 1; i < 4; i++) {
			System.out.println("外层循环第"+i+"轮");
			//内层循环打印0-5
			for(int j =1; j<6 ; j++) {//内层循环控制的是每轮执行的次数,执行了5次
				System.out.println("内层循环"+j);
			}
		}
		System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
		//总结2:外层循环控制行,内层循环控制列
		for(int i=1;i<=3;i++) {//外循环,执行3次,控制行,打印了3行
			for(int j=1; j<=5 ; j++) {//内循环,执行5次,控制列,打印了5个*
				System.out.print("*");
		}
		System.out.println();//空白行用于换行
		}
	}

}

3.4 练习 4:打印左直角三角形

创建类:Test4_ForTriangle .java
package cn.mbh.basic;
/**
*@author MBH:
*@version 创建时间:2022年7月2日 下午10:55:33
*/
/**需求:利用for循环打印直角三角形*/
//行1星1 * 
//行2星2 * *
//行3星3 * * *
//行4星4 * * * *
//行i星i * * * * *
public class Test4_ForTriangle {

	public static void main(String[] args) {
//		for (int i = 1; i < 6; i++) {
//			for (int j = 1; j <= i; --j) {
//				System.out.print("*");
//			}
//			System.out.println();//左上直角三角形
//		}
		
//		for (int i = 1; i < 6; i++) {
//			for (int j = 1; j <= 6-i; j++) {
//				System.out.print("*");
//			}
//			System.out.println();//左下直角三角形
//		}
		for (int i = 0; i < 6; i++) {
			for (int j = 0; j < 5-i; j++) {
				System.out.print(" ");
			}
			for (int j = 0; j <= i; j++) {
				System.out.print("* ");
			}
			System.out.println();//等腰三角形
		}
		
		
	}

}

3.5 练习 5:打印 99 乘法表

创建类:Test5_For99Excel .java
package cn.mbh.basic;
/**
*@author MBH:
*@version 创建时间:2022年7月2日 下午11:00:51
*/
/**本类用于完成99乘法表*/
//1*1=1
//2*1=2 2*2=4
//3*1=3 3*2=6 3*3=9
//4*1=4 4*2=8 4*3=12 4*4=16
//5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
//6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
//7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
//8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
//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
public class Test5_For99Excel {

	public static void main(String[] args) {
		for(int i = 1; i <= 9;i++) {//控制行数,打印9行
			for(int j=1; j<=i; j++) {//控制列数,n行打印n列
				//System.out.print("*");
				//System.out.print("2*3=6");
				System.out.print(i+"*"+j+"="+(i*j)+" ");//拼接打印算式,后面需要加一个空格
			}
			System.out.println();//空白行用于换行
			}

	}

}

四、方法

4.1概述

被命名的代码块 main(){ },
可以含参数可以不含参数,
可以提高代码的复用性。

4.2 形式

方法的修饰符 方法的返回值 方法名 ([ 参数列表… ]){方法体;}

4.3 方法调用顺序图

4.4 练习 6-1:测试方法的调用顺序

创建类:Test6_Method .java
package cn.mbh.basic;
/**
*@author MBH:
*@version 创建时间:2022年7月3日 下午1:16:35
*/
public class Test6_Method {
	/**本类用于测试方法的基本知识1*/
	public static void main(String[] args) {
		System.out.println(1);
		method();
		System.out.println(2);
	}
	//创建method()测试方法的调用顺序
	 //方法的修饰符 方法的返回值 方法名 ([参数列表…]){ 方法体; }
	public static void method() {
		System.out.println(3);
		System.out.println(4);
		System.out.println(5);
		
	}
	

}
  

4.5 练习 6-2:测试方法的参数

package cn.mbh.basic;
/**
*@author MBH:
*@version 创建时间:2022年7月3日 下午1:16:35
*/
public class Test6_Method {
	/**本类用于测试方法的基本知识1*/
	public static void main(String[] args) {
		System.out.println(1);
		//调用不含参数的method()
		method();
		//调用含一个参数的method2()
		method2(10);
		//调用含多个参数的method3()
		method3("鲁班七号",10);
		System.out.println(2);
	}
	//创建method3()测试方法的参数2
	//方法的修饰符 方法的返回值 方法名(参数类型 参数名,参数类型 参数名){ 方法体; }
	public static void method3(String name, int age) {
		System.out.println(name+"今年"+age+"岁");
		
	}
	//创建method2()测试方法的参数1
	//方法的修饰符 方法的返回值 方法名(参数类型 参数名){ 方法体; }
	public static void method2(int num) {
		System.out.println(num*num);
		
	}
	
	//创建method()测试方法的调用顺序
	 //方法的修饰符 方法的返回值 方法名 ([参数列表…]){ 方法体; }
	public static void method() {
		System.out.println(3);
		System.out.println(4);
		System.out.println(5);
		
	}
	

}

4.6 练习 6-3:测试方法的返回值

package cn.mbh.basic;
/**
*@author MBH:
*@version 创建时间:2022年7月3日 下午1:16:35
*/
public class Test6_Method {
	/**本类用于测试方法的基本知识1*/
	public static void main(String[] args) {
		System.out.println(1);
		//调用不含参数的method()
//		method();
		//调用含一个参数的method2()
//		method2(10);
		//调用含多个参数的method3()
//		method3("鲁班七号",10);
		int result = method4(4,6);//谁调用,谁就能拿到方法的结果
		System.out.println(result);
		
		System.out.println(2);
	}
	//创建method4()测试方法的返回值
	//方法的修饰符 方法的返回值 方法名([参数列表...]){ 方法体; }
	public static int method4(int num1, int num2) {
		
		return num1+num2;//通过return关键字把运算结果返回调用的位置
	}
	//创建method3()测试方法的参数2
	//方法的修饰符 方法的返回值 方法名(参数类型 参数名,参数类型 参数名){ 方法体; }
//	public static void method3(String name, int age) {
//		System.out.println(name+"今年"+age+"岁");
//		
//	}
	//创建method2()测试方法的参数1
	//方法的修饰符 方法的返回值 方法名(参数类型 参数名){ 方法体; }
//	public static void method2(int num) {
//		System.out.println(num*num);
//		
//	}
	
	//创建method()测试方法的调用顺序
	 //方法的修饰符 方法的返回值 方法名 ([参数列表…]){ 方法体; }
//	public static void method() {
//		System.out.println(3);
//		System.out.println(4);
//		System.out.println(5);
//		
//	}
	

}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值