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+"");
}
}
}
求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);
}
}
可变长度的参数,指的是参数的个数可以是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();
}
}
参数传递
形参列表:数据类型 变量名,数据类型 变量名
实参列表:按照形参的要求(个数,数据类型,顺序)
实参和形参的关系:
当形参发生变化时,实参会不会变化?
方法内:形参的改变,不影响实参的值