Java方法

方法:用于解决一类问题的代码的有序组合,是一个功能模块

**public static void main(String[] args)
1、访问修饰符:方法允许的访问的权限范围

返回类型,可以是任何数据类型,包括基本数据类型和引用数据类型

在这里插入图片描述如图返回值为数组类型,返回数组名,调用方法后存储到数组中
在这里插入图片描述

2、参数列表=参数类型+参数实例
args为字符串数组类型参数
3、参数列表中为方法定义的局部变量,只在方法的大括号中有效,类似for中的循环变量定义
4、参数传值可以传变量或字面值
5、普通方法或主方法中的变量名可以与方法名相同,如在主方法中可定义变量main**

无参有返回值方法

Scanner sc = new Scanner(System.in);
String week = sc.next();//next()无参带返回值方法,week接收返回值
week=week.toLowerCase();//字符串中所有字母转成小写

在方法中调用方法,(封装方法,减少主方法中的代码,一个编程思路)

public void swap(int a,int b) {
int temp=0;
temp=a;
a=b;
b=temp;
System.out.println(a+" "+b);
float a1=2.3f;
float a2=4.5f;
compare(a1,a2);//与在主方法中调用方法不同,
//普通方法无需创建对象后再调用,可直接调用
//封装方法,减少主方法中的代码
}

随机数

**int num=Math.random();//[0,1)区间随机数,double类型
int num2=Math.random()*10; [0,10)
int num3=Math.random()10+1; [1,11)
int num4=(int)(Math.random()10+1);

若数组作为方法参数,则调用时传入数组名

数组传值和普通变量传值

普通变量传值,方法对主方法中定义的变量无影响
数组传值,arr(数组名)与a(参数列表的数组名)指向同一片内存空间,方法对主方法中定义的数组有影响(引用数据类型)

可变参数列表

在这里插入图片描述

增强for循环

public void sum(int… n) {
int sum=0;
for(int i:n) {
sum+=i;//每次从可变参数列表中取一个元素放入i中,直到取完所有元素
}
}

参数列表只能有一个可变参数

public boolean searchTask2(int a,int… n) {
for(int i:n) {
if(i==a) {
return true;
}
}
return false;
}//参数列表中如果有两个以上的参数,可变参数一定在最后,可变参数类型int…
//因此一个参数列表中只能有一个可变参数

可变参数与数组的关系:可变参数列表可以与数组兼容,可以将数组传递给可变参数列表,反之不行(数组做参数时,不能传多个值给数组)

**public boolean searchTask(int target,int[] arr) {
for(int i=0;i<arr.length;i++) {
System.out.println(i);
if(arr[i]==target) {

			return true; 
		}
	}
	return false;
}

boolean result=com1.searchTask(36, array3);
//可变参数列表可以与数组兼容,可以将数组传递给可变参数列表,反之不行**

在这里插入图片描述在这里数组与可变参数等价

可变参数的重载问题

在这里插入图片描述

在这里插入图片描述注意方法调用:若实例化对象后调用成员方法,成员方法无需加static
若直接调用方法,需在方法前添加static,为静态方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值