Java的学习成长

嵌套循环和方法
1.潜逃循环
嵌套循环
	为了让大家能够更好的理解循环嵌套之后的一个操作,后期代码中,一些算法中,都会使用到嵌套循环。
	以下练习题我们要学会推导过程!!!		
1.1入门
/*
	*****
	*****
	*****
	*****
	*****
*/
class Dome1 {
	public static void main(String[]args) {
		
		for (int i = 1; i <=8; i++ ) {
			for (int j = 1; j <=8; j++ ) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
}
1.2在入门
/*
*
**
***
****
*****
******
*/
class Dome2 {
	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();
		}
	}
}
1.3再再入门
/*

*/
1.5加一点佐料
/*

*/
class Dome5 {
	public static void main(String[]args) {
		char ch = 'A';
		for (int i = 1; i <= 5; i++) {
			for (int j = 1; j <= 5-i; j++) {
				System.out.print(" ");
			}
			for (int k = 1; k <=i * 2 - 1; k++) {
				System.out.print(ch);
			}
			System.out.println();
			ch += 1;
		}
	}
}
1.6加点辣椒
/*

*/
class Dome6 {
	public static void main(String[]args) {
		
		for (int i = 1; i <= 5; i++) {
			for (int j = 1; j <= 5 - i; j++){
				System.out.print(" ");
			}
			for (int k = 1; k <= 2 * i - 1 ; k++) {
				System.out.print("*");
			}
			System.out.println();			
		}	
		
		for (int i = 1; i <= 4; i++) {
			for (int j = 1; j <= i; j++){
				System.out.print(" ");
			}
			for (int k = 1; k <= (4 - i) * 2 + 1; k++) {
				System.out.print("*");
			}
			System.out.println();			
		}	
	}
}
2.方法【重点】
2.1为什么使用方法
	生活中使用的工具,
		1.复用,重复使用
		2.挑高效率
		
	开发中,存在代码需要复用的情况。虽然循环可以解决一部分代码复用的问题,但是无法从根本上解决需要多处使用的情况。
	这里需要用到方法
	代码中使用循环解决复用的问题
	1. 代码冗余!!!
	2. 维护性极差!!!
	3. 阅读性极差!!!
2.2比葫芦画瓢
//main java中主方法格式
public static void main(String[]args) {
    
}
public static returnType methodName(Argunments) {
    Method Body
}
/*
	public static : 不要问!!!固定格式

	void: 返回值类型 void 表示当前方法没有返回值返回值类型是当前
	方法运行完成之后对方法外的一个返回数据

	main: 方法名,方法名是一个名字,要求符合命名规范小驼峰命名法,见名知意,动宾结构
	(形式参数列表): 当前方法运行所需的外来数	据,这里需要告知调用者数据类型
{}: 方法体
方法格式:
	public static 返回值类型方法名(形式参数列表) {
	方法体
	}
	public static returnType methodName(Arguments)
{
	Method Body
	}
*/
2.3 第一次自定义实现方法
2.3.1方法分析过程
需求:
	使用方法展示一个hello world
	
方法分析:
	固定格式:public static
	返回值类型:
		这里不需要返回值类型,采用void
	方法名:
		printHelloWorld
		见名之意,动宾结构,小驼峰命名法
	形式参数列表:
		当前方法没有任何的外来数据需求,不需要参数()
		
【方法声明】
	public static void printHelloWorld()

2.3.2方法实现工程
/**
* 文档注释
* 	1. 对于方法的功能解释
*	2.方法所需参数介绍
*	3.返回值类型介绍和含义
*	4.方法处理过程中出现的异常
*/

/**
*展示打印到控制台一个Hello World
*/
public static void printHelloWorld() {
    System.out.prinln("Hello World");
}
2.3.3方法在代码中实现的位置
方法存放的位置
	1.class大括号以内【】
	2.其他方法之外目前要求
class Method1{
	public static void main(String[]args) {
		
	{
	/**
	*展示打印到控制台一个Hello World
	*/
	public static void printHelloWorld() {
		System.out.prinln("Hello World");
		
	}
}
2.3.4自定义方法调用过分
记住一句话
	方法名是条狗,哪里需要哪里吼
	
	1.在需要调用方法的位置,使用方法名调用方法
	2.方法和变量的最大区别
		方法后面一定有小括号!!!
class Method1{
	public static void main(String[]args) {
		//调用方法一定要有小括号
		printHelloWorld();
		printHelloWorld();
		printHelloWorld();
		printHelloWorld();
		printHelloWorld();
		printHelloWorld();
	}
	/**
	*展示打印到控制台一个Hello World
	*/
	public static void printHelloWorld() {
		System.out.println("Hello World");
		
	}
}
2.3.5 自定义方法小总结
1.目前我们有且只考虑在main方法中来调用其他方法
2.main方法是目前我们现在程序的唯一入门,如果想要哪一个代码执行,哪一个方法调用,都需要经过main方法完成
3.方法书写一定要注意代码格式
4.方法位置在class之内,其他方法之外
2.4无形式参数无返回值的方法
/*
需求:
	在控制台展示10个烤羊排!!!
	
方法分析:
	固定格式:public static 不要问
	返回值类型:
		在控制台展示输出,这里不需要返回值
	方法名:
		BBQ 烧烤
	形式参数列表:
		当前方法没有一个对于外来数据的需求
		()没有参数
		
【方法声明】
	public static void BBQ()
	
*/
/**
*展示10次烧烤内容
*/
public static void BBQ() {
	for (int i = 1; i <= 10; i++){
		System.out.println("烤羊肉串...");
	}
}

/* 无形式参数无返回值类型的方法 */
classMethod2 {
    publicstaticvoidmain(String[] args) {
    	// 方法是条狗,哪里需要哪里吼
        // 方法调用一定有小括号
        BBQ();
   	}
        // 注释颜色
    /**
    * 展示10次烧烤内容
    */
    publicstaticvoidBBQ() {
        for (inti=1; i<=10; i++) {
            System.out.println("烤羊排...");
        }
    }   
}
2.5有参数无返回值的方法
2.5.1方法实现过程
/*
需求:
	展示用户告知的int类型数据
	用户调用该方法,传入一个int类型,在控制台打印显示int类型数据。
	固定格式:
		public static 
	返回值类型:
		展示打印一个int类型数据,不要返回值!!!
		void
	方法名:
		printInNumber
		小驼峰命名法,见名知意,动宾结构
	形式参考列表:
		该方法需要展示的数据是用户传入的,而且是int类型
		(int num) 参数声明
		int 是参数的数据类型
		num 是参数的名字,可以认为是方法内的一个变量,可以供方法使用
【方法声明】
	public static void printIntNumber(int num)
	*/
	
	/*
文档注释细节
	1. @param num 是告知编译器,这里在解释方法参数num
	2. 方法功能概述和之后的参数解释,返回值解释需要空一行,标准格式代码
	3. 文档注释可以帮助我们后期更好的阅读代码
	*/
	/**
	* 展示用户传入的int类型数据
	*
	* @param num 这里需要一个int类型数据			
	*/
	publicstaticvoidprintIntNumber(intnum) {
		// 用户调用该方法时,会将数据存储于num中,展示num中的数据就OK了
		System.out.println(num);  
		}
	}
/* 有参数无返回值方法演示 */
class Method3 {
	public static void main(String[] args) {
		// 方法是条狗,哪里需要哪里吼
		// 当前方法需要参数,这里调用时调用者必须给他参数
		printIntNumber(10);
		}
		/*
		*
		* 展示用户传入的int类型数据
		*
		* @param num 这里需要一个int类型数据
		*/
		public static void printIntNumber(int num) {
			// 用户调用该方法时,会将数据存储于num中,展示num中的数据就OK了
			System.out.println(num);  
		}
	}
2.5.2调用带有参数的方法注意事项
1. 方法如果需要参数,必须在调用过程中给予对应的参数
2. 方法如果没有给定参数,报错!!!编译不通过
3. 方法如果给定的实际参数,数据类型不符合形式参数列表要求的数据类型,报错!!!编译不通过,数据类型一致化问题!!!
4. 方法如果在调用的过程中给定的参数个数,不是方法所预期的参数个数,报错!!!编译不通过
2.6形式参数和实际参数是什么?
形式参数:
	我要做菜烤羊排:
		材料列表:羊排,孜然粉,烧烤料,辣椒粉,葱姜蒜,洋葱以			上就是做烤羊排需要的材料!!!【形式参数列表】
		
		public static void printIntNumber(int num)
		int num 只是告诉调用者,这里需要的是一个int类型数据
		
实际参数:
	从菜市场,JD上采购羊排
	买了2斤羊排孜然粉 100G
	烧烤料 100G
	辣椒粉 50G
	葱一根
	姜 50G
	蒜 5-6
	瓣洋葱一个
	这里是实实在在,采购回来的物料,【实际参数】
	
	printIntNumber(10);10 就是一个当前方法,所需的实际参数,符合方法要求的数据类型
2.7练一练
2.7.1一顿操作猛如虎
【方法声明】
    class Method4 {
    public static void main(String[] args) {
        printPic(30);
    }
    /**
    * 展示一个等腰梯形字符图形
    *
    * @param line 控制图形展示的行数
    */
    public static void printPic(int line) {
        // 定义一个字符变量,变量初始化为字符'A'
		char ch='A';
        // 外层循环控制总行数,总行数7行
        for (int i=1; i <= line; i++) {
        // 内存循环1: 控制空格的个数
        for (int j=1; j <= line-i; j++) {
			System.out.print(' ');
			}
        // 内存循环2: 控制字符个数
            for (int k=1; k<=2*i-1; k++) {
                System.out.print(ch);
            }
            System.out.println();
            // 字符变量需要在每一次展会完毕之后,进行自增
            ch += 1;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值