1.Java中的定义和语法:
定义:用来解决一类问题的代码的有序组合,是一个功能模块。
语法:
访问修饰符 返回值类型 方法名(参数列表){
方法体
}
1、访问修饰符:方法允许被访问的权限范围,可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴
2、 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值
3、 方法名:定义的方法的名字,必须使用合法的标识符
4、 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开根据方法是否带参、是否带返回值,可将方法分为四类:
Ø 无参无返回值方法
Ø 无参带返回值方法
Ø 带参无返回值方法
Ø 带参带返回值方法
2.Java中无参无返回值方法的使用:
1.定义:如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法。 2.方法的使用分两步: 第一步,定义方法: public void show(){ System.out.println(" welcome to Java"); } PS:1、 方法体放在一对大括号中,实现特定的操作。 2、 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式。 第二步,调用方法: 当需要调用方法执行某个操作时,可以先创建类的对象,然后通过 对象名.方法名(); 来实现。如下所示: public class HelloWorld { public static void main(String[] args) { // 创建对象,对象名为hello HelloWorld hello = new HelloWorld(); // 调用方法 hello.showMyLove(); } /* * 定义无参无返回值的方法 */ public void showMyLove() { System.out.println("我爱慕课网!"); } }
2.Java中无参带返回值方法的使用:
扫描二维码关注公众号,回复:
6016705 查看本文章
1.定义:如果方法不包含参数,但有返回值,我们称为无参带返回值的方法。 2.方法的使用分两步: 第一步,定义方法: public int calSum(){ int a = 5; int b = 2; int sum = a+b; return sum; } PS:1、 在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值。 第二步,调用方法: 调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理。如: public class HelloWorld { public static void main(String[] args) { // 创建名为hello的对象 HelloWorld hello = new HelloWorld(); // 调用hello对象的calcAvg()方法,并将返回值保存在变量avg中 double avg = hello.calcAvg(); System.out.println("平均成绩为:" + avg); } // 定义一个返回值为double类型的方法 public double calcAvg() { double java = 92.5; double php = 83.0; double avg = (java + php) / 2; // 计算平均值 // 使用return返回值 return avg; } }
习题:定义一个无参带返回值的方法,实现输出学生年龄的最大值
public class HelloWorld { //完成 main 方法 public static void main(String[] args) { // 创建对象,对象名为hello HelloWorld hello = new HelloWorld(); // 调用方法并将返回值保存在变量中 int maxScore = hello.getMaxAge(); // 输出最大年龄 System.out.println("最大年龄为:" + maxScore); } /* * 功能:输出学生年龄的最大值 * 定义一个无参的方法,返回值为年龄的最大值 * 参考步骤: * 1、定义一个整形数组 ages ,保存学生年龄,数组元素依次为 18 ,23 ,21 ,19 ,25 ,29 ,17 * 2、定义一个整形变量 max ,保存学生最大年龄,初始时假定数组中的第一个元素为最大值 * 3、使用 for 循环遍历数组中的元素,并与假定的最大值比较,如果比假定的最大值要大,则替换当前的最大值 * 4、使用 return 返回最大值 */ public int getMaxAge() { int max = 0; int[] age = {19,25,29,17}; for(int i=0;i <age.length;i++){ System.out.println(age[i]); if(age[i] > max){ max = age[i]; } } return max; } }
3.Java中带参无返回值方法的使用:
1.定义:如果方法包含参数,且无返回值,我们称为带参无返回值的方法。 2.方法的使用分两步: 第一步,定义方法: public void show(String name){ System.out.println(" 欢迎你:"+name); } PS:1、 上面的代码定义了一个 show 方法,带有一个参数 name ,实现输出欢迎消息。 第二步,调用方法: 调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值。如: public class HelloWorld { public static void main(String[] args) { // 创建对象,对象名为hello HelloWorld hello = new HelloWorld(); // 调用方法,传入两门课程的成绩 hello.calcAvg(94, 81); } /* * 功能:计算两门课程考试成绩的平均分并输出平均分 * 定义一个包含两个参数的方法,用来传入两门课程的成绩 */ public void calcAvg(int a, int b){ int avg = (a+b)/2; System.out.println("平均成绩为:"+avg); } PS: 1、 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应。 2、 调用方法时,实参不需要指定数据类型,如hello.calcAvg(94, 81); 3、 方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组等。 4、 当方法参数有多个时,多个参数间以逗号分隔。
4.Java中带参带返回值方法的使用:
1.定义:如果方法包含参数,有返回值,我们称为带参带返回值的方法。 2.方法的使用分两步: 第一步,定义方法: public void show(String name){ return " 欢迎你:"+name; } PS:1、 上面的代码定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 String 类型的结果. 第二步,调用方法: 调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值。如: public class HelloWorld { public static void main(String[] args) { HelloWorld hello = new HelloWorld(); int[] scores={79,52,98,81}; //调用方法,传入成绩数组,并获取成绩的个数 int count=hello.sort(scores); System.out.println("共有"+count+"个成绩信息!"); } /* * 功能:将考试成绩排序并输出,返回成绩的个数 * 定义一个包含整型数组参数的方法,传入成绩数组 * 使用Arrays类对成绩数组进行排序并输出 * 方法执行后返回数组中元素的个数 */ public int sort(int[] scores){ Arrays.sort(scores); System.out.println(Arrays.toString(scores)); //返回数组中元素的个数 int number = scores.length; return number; } } PS: 1、 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应。 2、 调用方法时,实参不需要指定数据类型,如hello.calcAvg(94, 81); 3、 方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组等。 4、 当方法参数有多个时,多个参数间以逗号分隔。
5:Java中方法的重载:
public class Overloading { public static void main(String[] args) { System.out.println("--------"); } //无参构造方法 public void show(){ System.out.println("-------"); } //重载,有参 public void show(String name){ System.out.println("-------"); } //重载,有参,参数个数 public void show(String name,int a ){ System.out.println("-------"); } //重载,有参,参数顺序 public void show(int a,String name){ System.out.println("-------"); } }
练习题:创建指定长度的 int 型数组,并生成 100 以内随机数为数组中的每个元素赋值,然后输出数组
import java.util.Arrays; public class HelloWorld { public static void main(String[] args) { // 创建对象,对象名为hello HelloWorld hello = new HelloWorld(); // 调用方法并将返回值保存在变量中 int[] nums = hello.getArray(8); // 将数组转换为字符串并输出 System.out.println(Arrays.toString(nums)); } /* * 功能:创建指定长度的int型数组,并生成100以内随机数为数组中的每个元素赋值 * 定义一个带参带返回值的方法,通过参数传入数组的长度,返回赋值后的数组 */ public int[] getArray(int length) { // 定义指定长度的整型数组 int[] nums = new int[length]; // 循环遍历数组赋值 for (int i=0;i<nums.length;i++) { // 产生一个100以内的随机数,并赋值给数组的每个成员 int num = (int)(Math.random() * 100); nums[i]=num; } return nums; // 返回赋值后的数组 } }
习题:编写一个 JAVA 程序,实现输出考试成绩的前三名
import java.util.Arrays; public class Overloading { //完成 main 方法 public static void main(String[] args) { int[] scores = {89 , -23 , 64 , 91 , 119 , 52 , 73}; Overloading hello = new Overloading(); int[] newScores = hello.getBeforThreeResults(scores); for (int i=0;i< newScores.length;i++){ System.out.println(newScores[i]); } } //定义方法完成成绩排序并输出前三名的功能 public int[] getBeforThreeResults(int[] scores){ Arrays.sort(scores); int[] newScore = new int[3]; int num =0; for(int i =scores.length-1;i>=0;i--){ if(num <3){ if(scores[i] >0 && scores[i] <= 100){ int score = scores[i]; newScore[num]= score; System.out.println("输出值为"+newScore[num]); num++; } }else{ break; } } return newScore; } }