JAVA方法详解

什么是方法?

一.java方法是语句的集合,它们再一起执行一个功能
   1.方法是解决是解决一类问题的步骤有序组合
   2.方法包含于类或者是对象中
   3.方法在程序中被创建,在其他地方被引用
   
二、设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只能完成一个功能,这样方便我们以后的扩展
   
   
三、方法的命名规则:驼峰模式

案例:

    //main  方法
   //实际参数:实际调用传递给他的参数
   int sum = add(1,2);
   System.out.println(sum);
      test();
?
}
?
//加法
//形式参数:来用定义作用的
public static int  add(int a,int b){
   return  a+b;
}
?
?
public static void  test(){
   for (int i  = 0; i  < 1000; i ++) {
       if(i%5==0){
           //莫5等于0 说名能够被5整除
           System.out.print(i + "\t");
      }
       if(i%(5*3)==0){
?
           System.out.println();
           // System.out.print("\n");
           //或者用这个
?
?
      }
?
  }
}
   
总结:1.简单来说定义一个类=名字,如add,test()
    2.在add的括号内定义一个多个形参(下面会讲什么是形参),其必须要是一样类型的
    3.在main方法内统一调用就可以了
   
  二、注意什么:
      1.给上static类 要和main 类一致
      2.给上返回值数据类型,int,double,long,float等等,前面后面保持一致
      3.定义名字
      4.给上形参
 
  三:总结了这些大概也知道方法怎么使用了

结果:JAVA方法详解

 

 

形参,实参

接着上面的案例要说下实参跟形参

1.形参:形式参数:来用定义作用的

 add(int a,int b)//就如定义的名字后面的的,int a int b,没有具体的数字

2.实参:实际参数:实际调用传递给他的参数

int sum = add(1,2); //就如在add后面加上具体的数字



方法的定义

  1. java 的方法类似与其他语言的函数,是一段用来完成特定功能的代码片段,定义一个方法包含一下片段:

  2. 方法包含一个方法头和方法体。下面是所有的部分

    • 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型

    • 返回值类型:方法可能会返回值,returnValueType是返回值的数据类型,有些方法执行所需要的操作,但没有返回值。这种情况下returnValueType是关键字void

    • 方法名:是方法实际名称,方法名是参数表共同构成方法签名

    • 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数,这个值被称为实参或者变量。参数列表是指方法的参数类型。顺序和参数的个数。参数是可选的,方法可以不包含任何参数

      • 形参:在方法被调用时用于接受外界输入数据

      • 实参:调用方法时实际传给方法的数距

    • 方法体:方法包含具体的语句,定义改方法的功能

      JAVA方法详解

       

       

 

方法调用

1.调用方法:对象名.方法名(实参列表)

2.java支持两种调用方法的方式,根据方法是否返回值来选择

3.当方法返回一个值的时候,方法调用通常被当作一

例如:

int larger =  max(30,40);

4.如果方法返回值是void,方法调用一定是一条语句

System.out.println("hello,lixin");

5.拓展:值传递和引用传递要去查查

 

 

 

 

案例:

public static void main(String[] args) {
  int max=max(10,30);
   System.out.println(max);
}
?
?
//比大小
public  static  int max(int num1,int num2){
   int result =0;
   //定义变成当存储
   if (num1 == num2){
       return 0;
  }
   if(num1>num2){
       result = num1;
  }else {
       result = num2;
  }
   return result;
?
}
?

JAVA方法详解

 

 




方法的重载

  1. 重载就是在一个类中,有相同的函数名。但形参不同的函数

  2. 方法的重载的规则:

    • 方法名称必须相同

    • 参数列表必须不同排列(个数不同、或类型不同、参数排列顺序不同等)。

    • 方法的返回类型可以相同也可以不相同

    • 仅仅返回类型不同不足以成为方法的重载

  3. 实现理论:

    • 方法名称相同时,编译器归根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错

  4. 案例

    public class Demo02 {
    ?
       public static void main(String[] args) {
          int max=max(10,30);
           System.out.println(max);
      }
    ?
       public  static double max(double num1,double num2){
           double result =0;
           //定义变成当存储
           if (num1 == num2){
               return 0;
          }
           if(num1>num2){
               result = num1;
          }else {
               result = num2;
          }
           return result;
    ?
      }
    ?
       //比大小
       public  static  int max(int num1,int num2){
           int result =0;
           //定义变成当存储
           if (num1 == num2){
               return 0;
          }
           if(num1>num2){
               result = num1;
          }else {
               result = num2;
          }
           return result;
    ?
      }
    ?
    ?
    总结:1.这里面用到了方法的重载,为什么叫重载,定义的名字一定要一样
        2.定义的数据类型不能一样
        3.调用的数据类型不能一样
       
    ?

1.重载注意不同的地方

 //注意数据类型的转化
int max(int num1,int num2)
   
double max(double num1,double num2)
//注意函数调用时候的数据类型的转化
    int max=max(10,30);
    double max = max(10,30)
       

2.相同的地方

//定义名字是相同的
int max(int num1,int num2)
double max(double num1,double num2)
int max=max(10,30);
double max = max(10,30)


命令行传参

1.意思:有时候你希望运行一个程序的时候在传输给他信息,这要靠传输命令行参数给main()函数实现

public static void main(String[] args) {
   for (int i = 0; i < args.length ; i++) {
       System.out.println("args["+ i +"]" + args[i]);
  }
}

2.步骤:

  • 1.点击当前文件夹的右击,找到下面的东西

JAVA方法详解

 

 

  • 2.找到文件夹打开cmd窗口输入一下命令

    JAVA方法详解

     

     

  • 3.就可以了




可变参数

1.jdk1.5开始,java支持传递同类型的可变参数给一个方法

2.在方法声明中,在指定参数类型后加一个省略号(...)。

3.一个方法中只能指定一个可变参数,它必须是最后一个参数,任何参数都必须在他声明之前

4.案例

public static void main(String[] args) {
   //调用可变参数的方法
   printmax(1,4,5,10,13.1,4);
   printmax(new double[]{1,2,3});
   //调用新的的double,数组赋值
?
?
}
public  static  void  printmax(double... numbers){
   //定义函数printmax 运用可变变量参数
   if(numbers.length==0){
       //判断如果数字的长度是0的话说明没有
       System.out.println("no argumont passed");
       //输出没有
       return;
       //返回出去
?
  }
   //排序取实参中最大的值
   double result =0;
   //定义一个double类型 的变量存储
   for (int i = 0; i < numbers.length; i++) {
       //用for循环来遍历数字里的内容
       if(numbers[i]>result){
           //判断当前数字是否大于刚刚结果
            result = numbers[i];
            //大于的话结果就等于现在的数字
      }
?
  }
?
   System.out.println("the max value is" + result);
   //输出结果,result
?
}
总结:
   1.可变参数... 放在数据类型的后面
   2.... 无论有多少个参数,都放在最后
   3.配合数组,是可以遍历出数组里的内容
   4.特点无论写多少实参在里面都可以

 

JAVA方法详解

上一篇:本机idea连接Linux的rabbitmq报错:java.net.ConnectException:Connection timed out:connect


下一篇:UG二次开发NXOpen-Python(九) NXOpen-python二次开发的学习途径