函数

package cn.work.day01;

//函数
public class Function {
	public static void main(String[] args) {
		System.out.println(getResult(4)); // 调用函数 getResult
		getResult1(4);
		getResult2(4, 5);
		System.out.println(getResult3(4, 4));
		getResult4(4,9);
		getResult5(9,9);
	}

	public static int getResult(int x) {// 定义一个函数,用来运算 int型数据*3+5的结果并返回
		return x * 3 + 5;
	}

	public static void getResult1(int x) {// 当函数运算后,没有具体的返回值,就用关键字void来表示返回值类型
		System.out.println(x * 3 + 5);
		return; // 当函数返回值类型是void时, return可以不写,因为jvm会自动添加return.
	}

	public static void getResult2(int x, int y) {
		//这个功能定义思想有问题,调用者只为实现加法运算,至于结果是否需要打印那是调用者的事情.
		System.out.println(x * y + 100); // 两个明确,因为实参来明确形式参与的类型,明确返回值类型.
	}

	public static boolean getResult3(int x, int y) {
		// return x == y ? true:false; //三元运算符,做逻辑运算
		return x == y; // 简单吧..*_^
	}

	// 打印矩形
	// 明确结果,因为是直接打印,所有返回值类型是void.
	// 明确未知内容,有,两个.因为矩形的行和列是不确定的.
	public static void getResult4(int x, int y) { // 定义函数.用来打印矩形
												  // x是外循环表示行数,y是内循环表示列数
		for (int a = 0; a < x; a++) {
			for (int b = 0; b < y; b++) {
				System.out.print((char) 4); // 内循环for语句的作用空间内打印(char)4,不需要换行
			}
			System.out.println(); // 用于外循环 for语句的换行操作
		}
	}
	
	//打印99乘法表
	public static void getResult5(int x, int y) {
		for (int a = 1; a <= x; a++) {
			for (int b = 1; b <= a & b <= y; b++) { // 原创,完全靠本人超常人的分析能力.写出b<a & b<=y 牛啊!
				System.out.print(b + "x" + a + "=" + a * b + "\t"); //输出语句. 代码注释同上 不解释.
			}
			System.out.println();
		}
	}
}



/*函数
(1)函数就是定义在类中的具有特定功能的一段独立小程序。函数也称为方法。
(2)函数的格式
	修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…)
	{
		执行语句;
		return 返回值;
	}

	A:修饰符 后面会重点讲。public static
	B:返回值类型 这个特定的功能完成后,需要返回一个结果。这个地方就是返回结果的类型。
	C:函数名 为了方便使用这个函数,给它起个名字。这个名字要符合标识符命名规则。
	D:参数类型 形式参数的数据类型
		**:形式参数 自定义的接收方
		**:实际参数 发出方
	E:执行语句 那么这个语句是由多条语句组成。
	F:return 这个功能执行完以后,需要有一个返回值,那么这个值有关键字return带回。
(3)函数的特点
	A:函数只有被调用后,才执行。
	B:void 表示没有返回。在这个函数的结尾可以不写return。
		**其实jvm会自动的结尾处加上return;
(4)如果定义自己的函数 两个明确
	A:明确该功能的结果 其实就是该功能的返回类型。
	B:明确该功能的参数 其实就是明确该功能中是否需要未知内容(形式参数)参与运算。‘
			    明确未知内容的类型和个数。
(5)函数的重载
	A:函数名相同,参数列表不同。	
		**参数类型不同.
		**参数个数不同.
		**参数顺序不同.
	B:特点:与返回值类型无关,只看参数列表。
	C:好处:便于阅读,优化程序设计。*/
/*
 * 重载小练习: 判断是否与函数 void show (int a , char b, double c){} 重载?
 * 
 * a: void show   (int x , char y, double z){}     没有,因为它与原函数是一样的.
 * 
 * b: int show    (int a , double b, char c){}     重载,因为参数类型不同 注意,重载与返回值类型没有关系
 * 
 * c: void show   (int a , double b, char c){}     重载,因为参数类型不同 注意,重载与返回值类型没有关系
 * 
 * d: double show (int a , char b){}               重载,因为参数个数不同
 * 
 * e: void show   (int a ){}                       重载,因为参数个数不同
 * 
 * f: double show (int x , char y, double z){}     没有,因为这个函数不可以和给定的函数同时存在一个类中.
 * 												       因为不确定调用哪个函数返回什么类型
 */

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值