标签:基本 java int max static 参数 方法 public
java方法
我们书写的代码常常有着成千上万行,如果全部混在一起显得杂乱无比
所以java提供了方法
方法的性质
java方法是语句的集合,方法中包含若干代码,一起执行一个命令
方法的意义:
- 方法是解决一类问题的有序组合
- 方法包含于类或对象中
- 方法在程序中被创建,在其他方法中被调用
- 方法具有原子性,每个方法只为了一个任务,一个方法只负责一个功能
main方法和其他方法
方法分为main方法和其他方法
main方法是由系统调用的方法,我们常常在main方法中调用其他方法来构建整个框架
其他方法是由我们书写,为了实现某个目的而建立
方法创建的标准化
java中的方法类似于c中的函数
方法包含一个方法头,一个方法体
修饰符 返回类型 方法名(参数类型 参数名){
......
方法体
......
return;
}
下面书写一个比较函数作为例子:
//public static 为修饰符
//int 为返回类型
//max 为函数名
//num1,num2为参数
public static int max(int num1,int num2){
int result = 0;
if(num1 == num2){
System.out.println("a=b");
return 0;
}
if(num1>num2){
result = num1;
}else{
result = num2;
}
return result;
}
方法调用的标准化
当方法为static时:(相当于方法和类一同加载)
public static int max(int num1,int num2)
直接在主函数中调用即可:
public class Demo {
public static void main(String[] args) {
int max = max(20,20);
System.out.println(max);
}
}
当方法不为static时:(相当于类实体化后方法才加载)
public int max(int num1,int num2)
需要在主函数中提前声明对象,才可采用对象的方法:
public class Demo {
public static void main(String[] args) {
Demo demo = new Demo()
int max = demo.max(20,20);
System.out.println(max);
}
}
方法重载
在一个类中有着相同名字但不同参数的方法称为方法重载
方法重载的条件:
- 名称相同
- 参数列表不同(可以是数量不同,参数类型不同,参数类型排列顺序不同)
- 返回类型不受影响
在相同名称的方法调用时,由 编译器自行决定调用哪个方法
可变参数
java为了给方法提供便利性,允许同种类型的数量可变的参数加入进来
可变参数在方法的参数列表中加入: 参数类型 ... 参数名称
public static void name(int ... numbers){
.......
}
注意事项:
- 一个方法中只能存在一个可变参数
- 可变参数必须位于方法参数的最末尾
值传递和引用传递
java为值传递
值传递和引用传递的区别:
- 值传递:只有值传递过去,改变不对数据本身改变
测试代码:
public class Demo2 {
public static void main(String[] args) {
int a=1;
System.out.println(a);
change(a);
System.out.println(a);
}
public static void change(int a){
a=10;
}
}
结果:
1
1
- 引用传递:地址传递过去,改变会对数据本身改变
测试代码:
public class Demo1 {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);
change(person);
System.out.println(person.name);
}
public static void change(Person person){
person.name = "999感冒灵";
}
}
class Person{
String name;
}
结果:
null
999感冒灵
结束语
方法是java中最常用的部分,我们通过方法来构建整体框架的各个小部件,从而整合成大项目
标签:基本,java,int,max,static,参数,方法,public 来源: https://www.cnblogs.com/qiuluoyuweiliang/p/16449343.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。