重生之javaSE_方法

/*
    方法 :  *****
        解决事情的办法
    
    作用 : 实现功能的办法
    
    注意: 
        方法定义在类中方法外,方法本身不能嵌套
        方法不调用不执行
    
    优点 : 
        提高了代码的复用性
        提高了程序的安全性
        
    语法 : 
        么有返回值类型的方法
            修饰符 void 方法名(参数列表){
                实现功能的代码段;
                [return;]
            }
        
        有返回值类型的方法
            修饰符 返回值类型 方法名(参数列表){
                实现功能的代码段;
                return 返回值;
            }
        
        修饰符 : 访问权限修饰符
            目前为 : public static
        方法值 : 方法执行完毕之后是否需需要得到一个结果(值)
            结果值的数据类型 : 就是有返回值类型方法的返回值类型
            void : 没有返回值类型的
        方法名 : 标识符->命名规则|规范
            调用方法需要跟随方法名调用
        
        参数列表 :  功能定义的时候是否存在未知的数据,有可能会改变的数据,如果存在定义在参数列表中
            可以定义参数,可以不定义参数
            参数 :数据类型 参数名,数据类型 参数名..
                相当于局部变量的声明--> 作用域只属于当前的方法 
                数据类型 : 可以为基本数据类型|引用数据类型
        
        {} : 方法体
            具体实现功能的代码段
        
        return : 
            1. 提前结束方法
            2. 带出返回值 -> return 返回值;
        
        
        方法的调用 : 
            执行方法中的代码
            基础调用 : 方法名(参数列表);
            赋值调用 : 数据类型 变量名 = 方法名(参数列表);
            输出调用 : System.out.println(方法名(参数列表));
            赋值调用与输出调用关注返回值,接收使用了返回值,基础调用调用只是执行方法中的代码没有接收返回值
 */ 

 

public static void main(String[] args) {
    //有返回值方法调用
    //基础调用
    getPI();
    //赋值调用
    double pi = getPI();
    System.out.println(pi);
    //输出调用
    System.out.println(getPI());

    System.out.println(getSum(3,5));
    System.out.println(getSum(7,5));

    //没有返回值方法调用
    //基础调用
    print();
    print();
    print();
    print();
}

//需求 : 返回pi的值
//参数 : 没有参数
//返回值 : 返回pi的值  double
//方法名 : getPI
public static double getPI(){
    System.out.println("没有参数有返回值类型的方法");
    return 3.1415926;
}

//需求 : 计算两个整数的和
//参数 : int x,int y
//返回值 : int
//方法名 : getSum
public static int getSum(int x,int y){
    System.out.println("有参数有返回值类型的方法");
    return x+y;
}

//需求 : 输出99乘法表
//参数 : 没有
//返回值 : 不需要
//方法名 : print
public static void print(){
    for(int i=1;i<=9;i++){
        for(int j=1;j<=i;j++){
            System.out.print(j+"*"+i+"="+i*j+"\t");
        }
        System.out.println();
    }
}

 

  • 练习

public class Class034_Practice {
	
	public static void main(String[] args) {
		System.out.println(getSum(1.1,2.2));
		System.out.println(getMax(1,2));
		System.out.println(equals('a','a'));
		
		print(5);
		print(7);
		
		System.out.println(getSum2(11,10));
	}
	
	/*
		1.求和方案:求两个小数的和
		2.参数 : double x,double y
		3.返回值 : double --> 必须存在return 返回值;
		4.方法名 : getSum 
	*/
	public static double getSum(double x,double y){
		//实现功能的代码段
		//返回结果
		return x+y;
	}
	//获取两个数中的较大值
	//返回值 : 最大的值  int
	//参数 : int a,int b
	//方法名 : getMax
	public static int getMax(int a,int b){
		return a>b?a:b;
	}
	
	
	//比较两个数据是否相同
	//参数 : char ch1,char ch2
	//返回值 : boolean|String
	//方法名 : equals
	/*
	public static boolean equals(char ch1,char ch2){
		return ch1==ch2;
	}
	
	public static boolean equals(char ch1,char ch2){
		if(ch1==ch2){
			return true;
		}
		return false;	
	}
	*/
	public static String equals(char ch1,char ch2){
		String msg;
		if(ch1==ch2){
			msg = "相等";
		}else{
			msg = "不想等";
		}
		return msg;
	}
	
	//输出m行乘法表
	//参数 : int m
	//返回值 : 不需要 void
	public static void print(int m){
		for(int i=1;i<=m;i++){
			for(int j=1;j<=i;j++){
				System.out.print(j+"*"+i+"="+i*j+"\t");
			}
			System.out.println();
		}
	}
	
	//求一个范围内所有整数的和
	//参数 : int min,int max
	//返回值 : int
	public static int getSum2(int min,int max){
		//增强程序健壮性 
		if(min>max){
			System.out.println("最小值大于最大值!!!!");
			return 0;
		}
		int sum = 0;
		for(int i=min;i<=max;i++){
			sum+=i;
		}
		return sum;
	}
	
}
  • 返回值类型转换

 /*
    return : 
        有返回值类型的方法中 : 必须存在return,同时需要带出返回值
            1)提前结束方法  2)带出返回值返回给方法的调用出
        没有返回值类型的方法中 : 可以存在return,但是不能带出返回值
            1)提前结束方法
            
    问 : break,continue,return之间的区别
        1)作用 : break结束终止   continue跳过本次之间进入下一次    return终止返回
        2)应用场景 : break->switch|循环   continue->循环    return ->方法
        
    兼容类型 : 
        1.参数兼容类型 : 
            形参类型 >= 实参类型
        
        2.返回值兼容类型
            接收返回值的变量类型>=方法的返回值类型>= return后面结果的类型
            
 */

 

public class Class036_Return{
	
	public static void main(String[] args) {
		byte b = 1;
		byte i = test(b);
	}
	
	public static int test(int i){
		return 'a';
	}
}
  • 方法的重载

/*
    方法的重载 : 
        实现重载的3个条件 : 
            1.一个类中的多个方法
            2.方法名相同
            3.参数列表不同 | 方法签名不同
                参数个数不同
                参数类型不同
                不同类型的参数顺序不同
        方法签名 : 方法的唯一标识
            方法名+参数列表 = 方法签名
        
        重载方法的调用 : 
            根据实参区分
        
    分析 : 
        1.方法的重载与参数名无关
        2.方法的重载与方法的修饰符无关
        3.方法的重载与方法的返回值无关]
    
    总结 : 方法的重载只与方法名与参数列表有关
           方法就是封装的体现
           方法的重载就是多态的一种体现
    
*/

public class Class037_OverLoad{
	
	public static void main(String[] args) {
		getSum(3.0,5.0);
	}
	
	//求2个数的和 : 
	//返回值 
	//2个参数
	//getSum
	public static void getSum(int i,int j){
		System.out.println("两个int类型整数的和"+(i+j));
	}
	private  boolean getSum(int i,int j){
		System.out.println("两个int类型整数的和"+(i+j));
		return false;
	}
	
	public static void getSum(double i,double j){
		System.out.println("两个double类型的和"+(i+j));
	}
	public static void getSum(int i,double j){
		System.out.println("1个int1个double类型的和"+(i+j));
	}
	public static void getSum(double i,int j){
		System.out.println("1个double个int类型的和"+(i+j));
	}
}

 /*
    方法的重载 : 
        实现重载的3个条件 : 
            1.一个类中的多个方法
            2.方法名相同
            3.参数列表不同 | 方法签名不同
                参数个数不同
                参数类型不同
                不同类型的参数顺序不同
        方法签名 : 方法的唯一标识
            方法名+参数列表 = 方法签名
        
        重载方法的调用 : 
            根据实参区分
        
    分析 : 
        1.方法的重载与参数名无关
        2.方法的重载与方法的修饰符无关
        3.方法的重载与方法的返回值无关]
    
    总结 : 方法的重载只与方法名与参数列表有关
           方法就是封装的体现
           方法的重载就是多态的一种体现
    
*/

 

public class Class037_OverLoad{
	
	public static void main(String[] args) {
		getSum(3.0,5.0);
	}
	
	//求2个数的和 : 
	//返回值 
	//2个参数
	//getSum
	public static void getSum(int i,int j){
		System.out.println("两个int类型整数的和"+(i+j));
	}
	private  boolean getSum(int i,int j){
		System.out.println("两个int类型整数的和"+(i+j));
		return false;
	}
	
	public static void getSum(double i,double j){
		System.out.println("两个double类型的和"+(i+j));
	}
	public static void getSum(int i,double j){
		System.out.println("1个int1个double类型的和"+(i+j));
	}
	public static void getSum(double i,int j){
		System.out.println("1个double个int类型的和"+(i+j));
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值