javaSE中关于方法的定义

本文深入探讨了Java中的方法,包括内置方法如Math.pow和Math.sqrt的使用,自定义方法的语法结构,值传递与引用传递的概念,以及方法重载的实现。此外,还介绍了不定长度参数的应用,强调了方法在编程中的重要性。
摘要由CSDN通过智能技术生成

方法的基本结构

 

一、方法的概念(记忆)

  是为完成一个操作而组合在一起的语句组

1.1 分类

  1. 内置方法 , 由官方提供的方法

  2. 自定义方法,手动编写的方法

二、内置方法(了解使用)

2.1 练习需要用到的内置方法

Math.pow(数值,2) , 求平方

Math.sqrt(数值) ,求开方

Math.acos() , 反余弦 , 临边比斜边

Math.toDegrees() , 传入弧度求角度

 内置方法练习伪代码

变量 输入  
提示并用变量接收
变量 A点x = ;
变量 A点y =;
变量 B点x =;
变量 B点x =;
变量 C点x =;
变量 C点y =;


变量  边a = Math.sqrt(Math.pow(C点x - B点x,2)+Math.pow(C点y - B点y,2));
变量  边b = Math.sqrt(Math.pow(A点x - C点x,2)+Math.pow(A点y - C点y,2));
变量  边c = Math.sqrt(Math.pow(A点x - B点x,2)+Math.pow(A点y - B点y,2));

变量 弧度A = Math.acos((a*a-b*b-c*c)/(-2*b*c));
变量 弧度B = Math.acos((b*b-a*a-c*c)/(-2*a*c));
变量 弧度C = Math.acos((c*c-b*b-a*a)/(-2*a*b));

变量 角度A = Math.toDegrees(弧度A);
变量 角度B = Math.toDegrees(弧度B);
变量 角度C = Math.toDegrees(弧度C);

2.2 内置方法使用注意(关键)

  学会查看官方文档(API) 

  1. 记忆类型所在包名

  2. 在文档的包位置查找对应包

  3. 找到包之后查找对应类名

  4. 展开类之后注意查看概要列表中的方法

  5. 查看方法详细描述2.3 常用内置方法

2.3 常用内置方法

// Arrays.toString()      直接输出数组
    // Arrays.sort();         给数组排序
    // Arrays.copyOf();        拷贝一个数组中的数据到一个新的数组中
    // System.arraycopy();    拷贝一个数组中的数据到另一个数组中 

2.4 字面量与匿名数组

不给名字的变量称为字面量(没有名字的变量,匿名变量)

不给名字的数组称为匿名数组

三、自定义方法(掌握)

3.1 语法结构

修饰符 返回类型 方法名(参数1,参数2...){
    方法体
    [return 返回值]
}

说明:

  1. 修饰符暂时记住 public static

  2. 返回类型可以是任意类型,当不需要返回时使用void

  3. 方法名规则与变量名规则一致

 

四、值传递与引用传递(记忆并掌握)

Java中的方法主要在虚拟机内存空间中执行。其中使用new 申请的数据主要存储在虚拟机空间中。对于引用类型(比如数组)而言,栈中主要存放数据的引用(或地址),堆中存放主要数据。

4.1 值传递

当一个方法(调用者)调用另外一个方法(执行者)传递参数数据类型为基本数据类型时发生。

调用者将自己的数据本身复制一份传递给执行者

在执行者内部对传递数据的修改不会影响调用者用于传递的数据

4.2 引用传递

 

当一个方法(调用者)调用另外一个方法(执行者)传递参数数据类型为引用数据类型时发生。

调用者将自己数据的引用(地址)复制一份传递给执行者

在执行者内部通过引用对存放在堆中的数据进行修改,由于修改的是堆中的数据,那么调用者再通过引用查看或者使用数据时,得到的是被执行者修改后的数据

五、不定长度参数(了解,可以运用更好)

在方法的参数列表的长度可以不受限制,传递任意多个

5.1 语法结构

方法定义

修饰符 返回类型  方法名(类型... 参数名){
    // 方法中,参数名当成数组
    // 方法操作
}

方法调用  

方法名();
方法名(参数1);
方法名(参数1,参数2);
方法名(参数1,参数2,...); 

说明:

  1. 在方法定义时,方法中代码可以将不定长度参数名当做数组使用。 如: 参数名.length ; 参数名[0]

  2. 在方法调用时,可以向调用方法传递不限制数量的参数个数

注意

  1. 不定长度参数只能放在参数列表中的最后一个位置

  2. 在一个方法中只能定义一个不定长度参数

六、方法重载(掌握)

6.1 概念

在同一个类型中,有多个名称相同,参数列表不同的方法

说明: 参数列表不同主要体现为

  1. 个数不同 , 两个或者多个方法参数的个数不相同fn(int num),fn(int num1,int num2)

  2. 顺序不同,两个或者多个方法参数类型的顺序不同 fn(int num1,double num2),fn(double num1,int num2)

  3. 类型不同,两个或者多个方法参数个数相同时,各个参数的类型不相同fn(int num),fn(long num)

         

七、变量作用域范围

局部变量

所有变量的作用域范围,

从定义的行开始,一直到所在代码块对应的大括号结束为止

在方法中声明的变量,成为局部变量

全局变量

在类中定义之后,类的所有范围都可以使用。如果需要在static方法中调用变量,则需要对变量使用static进行修饰

static 关键字

对类的成员进行修饰,让调用者可以通过定义者的类名+成员名(类名.成员名)进行调用

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值