小言_互联网的博客

java入门小记_方法

364人阅读  评论(0)

1 方法的定义

访问修饰符 返回值类型 方法名(参数列表){
方法体
}

  • 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴
  • 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值
  • 方法名:定义的方法的名字,必须使用合法的标识符
  • 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开

static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法

static方法一般称作静态方法,可以不依赖于任何对象,直接通过类名来访问

static变量一般称作静态变量,静态变量和非静态变量的区别:
        静态变量被所有对象共享,在内存中只有一个副本,在类初次加载的时候才会初始化
        非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响


  
  1. public class HelloWorld {
  2. //定义了一个方法名为 print 的方法,实现输出信息功能
  3. public void print() {
  4. System.out.println( "Hello World");
  5. }
  6. public static void main(String[] args){
  7. //在 main 方法中调用 print 方法
  8. HelloWorld test= new HelloWorld();
  9. test.print();
  10. }
  11. }

 

2 无参无返回值方法


  
  1. public class HelloWorld {
  2. public static void main(String[] args) {
  3. // 创建对象,对象名为hello
  4. HelloWorld hello = new HelloWorld();
  5. // 调用方法。通过 对象名.方法名(); 实现
  6. hello.showMyLove();
  7. }
  8. // 定义无参无返回值的方法
  9. public void showMyLove() {
  10. System.out.println( "Hello World!");
  11. }
  12. }

3 无参带返回值方法

  • 如果方法的返回类型为 void ,则方法中不能使用 return 返回值!
  • 方法的返回值最多只能有一个,不能返回多个值
  • 方法返回值的类型必须兼容,例如,如果返回值类型为 int ,则不能返回 String 型值

  
  1. public class HelloWorld {
  2. public static void main(String[] args) {
  3. // 创建名为hello的对象
  4. HelloWorld hello = new HelloWorld();
  5. // 调用hello对象的calcAvg()方法,并将返回值保存在变量avg中
  6. double avg = hello.calcAvg();
  7. System.out.println( "平均成绩为:" + avg);
  8. }
  9. // 定义一个返回值为double类型的方法
  10. public double calcAvg() {
  11. double java = 92.5;
  12. double php = 83.0;
  13. double avg = (java + php) / 2; // 计算平均值
  14. // 使用return返回值
  15. return avg;
  16. }
  17. }

4 带参无返回值方法

  • 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应
  • 调用方法时,实参不需要指定数据类型
  • 方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组等
  • 当方法参数有多个时,多个参数间以逗号分隔

  
  1. public class HelloWorld {
  2. public static void main(String[] args) {
  3. // 创建对象,对象名为hello
  4. HelloWorld hello = new HelloWorld();
  5. // 调用方法,传入两门课程的成绩
  6. hello.calcAvg( 94, 81);
  7. }
  8. /*
  9. * 功能:计算两门课程考试成绩的平均分并输出平均分
  10. * 定义一个包含两个参数的方法,用来传入两门课程的成绩
  11. */
  12. public void calcAvg(int num1, int num2) {
  13. double avg = (num1+num2) / 2.0;
  14. System.out.println( "平均分:"+avg);
  15. }
  16. }

5 带参带返回值方法


  
  1. import java.util.Arrays;
  2. public class HelloWorld {
  3. public static void main(String[] args) {
  4. HelloWorld hello = new HelloWorld();
  5. int[] scores={ 79, 52, 98, 81};
  6. //调用方法,传入成绩数组,并获取成绩的个数
  7. int count=hello.sort(scores);
  8. System.out.println( "共有"+count+ "个成绩信息!");
  9. }
  10. /*
  11. * 功能:将考试成绩排序并输出,返回成绩的个数
  12. * 定义一个包含整型数组参数的方法,传入成绩数组
  13. * 使用Arrays类对成绩数组进行排序并输出
  14. * 方法执行后返回数组中元素的个数
  15. */
  16. public int sort(int[] scores){
  17. Arrays.sort(scores);
  18. System.out.println(Arrays.toString(scores));
  19. return scores.length;
  20. //返回数组中元素的个数
  21. }
  22. }

6 main方法

在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法。

方法的名字必须是main,方法必须是public static void 类型的,方法必须接收一个字符串数组的参数。这是java的规范。


  
  1. public class HelloWorld {
  2. public static void main(String args[]) {
  3. System.out.println( "Hello World!");
  4. }
  5. }

7 方法的重载

问: 什么是方法的重载呢?
答: 如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。

问: 如何区分调用的是哪个重载方法呢?
答: 当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。

判断方法重载的依据:
1、 必须是在同一个类中
2、 方法名相同
3、 方法参数的个数、顺序或类型不同
4、 与方法的修饰符或返回值没有关系


  
  1. public class HelloWorld {
  2. public static void main(String[] args) {
  3. // 创建对象
  4. HelloWorld hello = new HelloWorld();
  5. // 调用无参的方法
  6. hello.print();
  7. // 调用带有一个字符串参数的方法
  8. hello.print( "hello");
  9. // 调用带有一个整型参数的方法
  10. hello.print( 18);
  11. }
  12. public void print() {
  13. System.out.println( "无参的print方法");
  14. }
  15. public void print(String name) {
  16. System.out.println( "带有一个字符串参数的print方法,参数值为:" + name);
  17. }
  18. public void print(int age) {
  19. System.out.println( "带有一个整型参数的print方法,参数值为:" + age);
  20. }
  21. }

 


转载:https://blog.csdn.net/zhsworld/article/details/105941316
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场