JavaSE基础学习之带参方法和参数传递

  • 回顾面向对象:
  • 带参方法
  • 课后作业
  • 参数传递


回顾面向对象:

对象,类。
解决思路:
1、抽象类(名词)
2、抽象属性
3、抽象方法:一个功能一个方法
4、创建对象:
类名 对象名=new 类名();
利用对象间的相互合作,完成任务;
消息传递的方式:属性,方法调用(返回值,参数);

带参方法

访问控制符(public) 返回值 方法名(参数列表){
方法体
}
返回值:是否要给调用者返回数据
参数列表:数据类型 变量名,数据类型 变量名
形参列表:定义方法的时候,数据类型,变量名,数据类型,变量名,,,不需要赋值
实参列表:调用方法的时候,直接写表达式(必须要赋值才能使用)
实参列表必须按照形参列表的要求出入数据。

课后作业

合并两个升序排列

package Daican;

import java.util.Arrays;

public class Work2 {
	public int[] hebing(int[] num1,int[] num2) {
		int[] num3=new int[num1.length+num2.length];
		for (int i=0;i< num1.length; i++) {
			num3[i]=num1[i];
		}
		for (int i=0;i< num2.length;i++) {
			num3[i+num1.length]=num2[i];
		}
		Arrays.sort(num3);
		return num3;
	}
	public static void main(String[] Args) {
		Work2 er=new Work2();
		int num1[]= {20,26,28,16,18};
		int num2[]= {66,68,88,56,181};
		int num3[]=er.hebing(num1,num2);
		for (int i : num3) {
			System.out.println(i+"");
		}
	}
}

java newInstance带参数 代替 java带参数的方法作业_java


求PI:

public class PICal {
	public double PIcal(int n) {
		double result=0;
		for(int i=1;i<=n;i++) {
			if(i%2==1) {
				result+=4*(1.0/(2*i-1));	
			}else {
				result-=4*(1.0/(2*i-1));
		}
	}
		return result;
	}
public static void main(String[] agrs) {
	PICal a=new PICal();
	double P=a.PIcal(20000);
	System.out.println(P);
}
}

java newInstance带参数 代替 java带参数的方法作业_java_02


可变长度的参数,指的是参数的个数可以是0-多个

方法体内使用变量,就像使用数组一样

局限:参数的数据类型要一致

形参列表中最多只有一个可变长度的参数

可变长度和普通参数可以同时存在,可变长的参数必须是最后一个。

买票练习:根据游客不同年龄段,所需付的价钱不一样:

public class Ticket {
	tourist t=new tourist();
	int money;
	int TouristNumbers;
	int count=0;
	int tmoney;
	int population=0;
	
	public int price() {
		t.PersonalInformation();
		population++;
		if(t.age<60&& t.age>6) {
			count++;
			money=20;
		}else {
			System.out.print(t.name+"免票");
		}
		tmoney=count*money;
		return tmoney;
	}
	public void Allmoney() {
		price();
		System.out.println("共"+population+"人购票");
		System.out.println("免票人数为:"+(population-count));
		System.out.println("实际购票人数:"+count);
		System.out.println("---------------------------");
		System.out.println("本票所属游客:");
		System.out.println("\t姓名:"+t.name);
		System.out.println("\t年龄:"+t.age);
		System.out.println("\t票价:"+money);
		System.out.println("---------------------------");
		System.out.println("一共需要支付:"+tmoney);
	}
	

}
public class TextTicket {

	public static void main(String[] args) {
		Ticket tour=new Ticket();
		tour.Allmoney();

	}

}

java newInstance带参数 代替 java带参数的方法作业_变量名_03


java newInstance带参数 代替 java带参数的方法作业_java_04

参数传递

形参列表:数据类型 变量名,数据类型 变量名
实参列表:按照形参的要求(个数,数据类型,顺序)
实参和形参的关系:
当形参发生变化时,实参会不会变化?
方法内:形参的改变,不影响实参的值