1.什么时候用到方法
代码重复量过大,具有独立功能就可以写进去一个方法里面,供不同的对象来实现。
2.如何定义一个方法
public class TOP8 {
public static void main(String[] args) {
}
//下面定义一个方法,方法名称为playGame
public static void playGame(){
System.out.println("1");
System.out.println("5");
System.out.println("3");
System.out.println("4");
System.out.println("6");
}
}
方法该如何去调用呢
public class TOP8 {
public static void main(String[] args) {
//程序在执行的时候首先会找主程序main,所以只需要在main里面调用方法playGame就可以
playGame();
}
//下面定义一个方法,方法名称为playGame
public static void playGame(){
System.out.println("1");
System.out.println("5");
System.out.println("3");
System.out.println("4");
System.out.println("6");
}
}
下面再来做一个练习,定义一个带参的方法,并且要求计算他们的和
public static void sum(int a,int b){
int c = a+b;
System.out.println(c);
}
}
下面就是调用的操作步骤
public class TOP8 {
public static void main(String[] args) {
//这个就有一个要主要的点,在调用带有形参的方法的时候,必须要把方法中所有的变量参数都给赋值也就是都必须填写
//还有就是数据类型必须得能对的上,多参数之间要用,隔开
sum(1,2);
}
}
在补充一点
//在上面代码参数的定义的学名
//像是这种的在方法内部定义参数的时候这个参数被称为:形参
public static void sum(int a,int b){
}
//这种调用的就是实参
public static void main(String[] args)
sum(1,2);
}
下面讲解一下retrun的使用方式,也就是返回值
public class top9 {
public static void main(String[] args) {
//现在开始调用这个方法一共展示三种调用
//方法一,跟以前一一样,这种方式呢就只是赋值了上去,因为下面定义的方法并没有输出语句,所以也不会有结果的
getSum(10,2,300);
//方法二将方法的结果赋值给变量并输出变量
int yye=getSum(10,2,300);
System.out.println(yye);
//第三种方法就更加的简单,直接输出调用,顾名思义就是直接将方法的结果输出出来,其实呢说白了就是下面不用定义
//输出语句了在这定义也行
System.out.println(getSum(10,2,300));
}
/*先看下面再看下面比较好,我给的建议一定要先看下面!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
//现在要去计算一个商场一个季度的营业额,所以顾名思义定了一个三个月的营业额
//现在使用的是return给返回值类型的操作方法,返回值是int所以将之前的void改成了int这里呢代表的也就是返回值类型
public static int getSum(int num1,int num2 ,int num3){
int sum=num1+num2+num3;
return sum;
/*在这里就是返回数据,返回的数据是谁呢,其实也不难看出来,就是上面我们所计算的sum,在这里
一般情况下就是将返回的数据返回给方法的调用者
*/
}
}
//加一个注意点return 必须放在方法的最下方
方法的重载使用
知识点:在同一个类中,方法名字相同,参数不通的方法,与返回值类型无关=方法的重载
参数不同可以分为几点,个数不同,也就是定义的形参列表的数量不一样 ,类型不同,就是就算数量一样,但是方法的数据类型不一样,也是可以的 ,顺序不通就是假如(int a,int b)和(int b,int a)也是可以
public class top10 {
public static void main(String[] args) {
//比较两个整数与两个浮点数的大小是否一样,下面定义一个方法sum,紧接着又定义了一个重载的方法
//这俩方法参数的类型是不一样的(数据类型)
//这个在定义数据赋值的时候,可以直接在外面定义数据类型,再去做赋值
double d1 =10.2;
double d2=2.366;
sum(d1,d2);
}
public static void sum (int a,int b){
System.out.println(a==b);
}
public static void sum (double d1,double d2){
System.out.println(d1==d2);
}
}
练习题比较大小
public class top12 {
public static void main(String[] args) {
int num1 [] ={66,55,44,88,99,151};
//在这求最大值,首先在main方法里面声明了一个num的数组
System.out.println("最大值是"+ max(num1));
}
//在这定义形参内容也为num,之后在main方法里面判断的时候,直接将main方法里面的num数组,传递给下面max方法的形参内
public static int max (int num []){
int a=num[0];
int max1 = 0;
for (int i = 0; i < num.length; i++) {
if(a<num[i]){
max1 = num[i];
}else {
}
}
return max1;
}
}
下面遍历数组判断数字是否存在与数组当中
public class top13 {
//一个数字有没有存在一个数组当中
public static void main(String[] args) {
//定义了一个数组,并且紧着这调用下面的方法,输入下面的形参的内容,形参内容调用一个数组和一个整数
int shuzu1[] = {1515, 112, 12145, 65};
num(shuzu1, 6);//这个地方别看是数组一,它相当于是直接带入进去了下面的shuzup[]
//我不知道这个好理解不,就是反正下面是什么跟下面的有关系跟上面在调用是没有任何关系的,这个就是相当于把shuzu1[]赋值给了shuzu[],好好理解一下
}
public static boolean num(int shuzu[], int a) {
//遍历数组并判断,下面if就是在判断带入进来的a的值是否与数组当前所遍历的相同,相同直接return一个true就是过了
for (int i = 0; i < shuzu.length; i++) {
if (shuzu[i] == a) {
System.out.println("这个数存在"+a);
return true;
}
}
//如果上面都没相同,直接放回一个没有存在的就可以了
System.out.println("数字不存在"+a);
return false;
}
}