图书馆氛围还是很好的,但愿能勤来
Java中定义一个方法的语法是:
访问修饰符 返回值类型 函数名(参数列表){方法体}
访问方法:对象名。方法名(参数);
形式有四种:
1.无参无返回值
2.无参有返回值
3.有参无返回值
4.有参有返回值
注意
1, 如果方法的返回类型为 void ,则方法中不能使用 return 返回值!
2、 方法的返回值最多只能有一个,不能返回多个值
3、 方法返回值的类型必须兼容,例如,如果返回值类型为 int ,则不能返回 String 型值
1、 要求通过定义无参带返回值的方法来实现,返回值为最大年龄
2、 方法中将学生年龄保存在数组 ages 中,数组元素依次为 18 ,23 ,21 ,19 ,25 ,29 ,17
运行效果为: 最大年龄为:29
public static void main(String[] args) {
// 创建对象,对象名为hello
liwei hello = new liwei();
// 调用方法并将返回值保存在变量中
int maxScore=hello.getMaxAge();
// 输出最大年龄
System.out.println("最大年龄为:" + maxScore);
}
/*
* 功能:输出学生年龄的最大值
* 定义一个无参的方法,返回值为年龄的最大值
* 参考步骤:
* 1、定义一个整形数组 ages ,保存学生年龄,数组元素依次为 18 ,23 ,21 ,19 ,25 ,29 ,17
* 2、定义一个整形变量 max ,保存学生最大年龄,初始时假定数组中的第一个元素为最大值
* 3、使用 for 循环遍历数组中的元素,并与假定的最大值比较,如果比假定的最大值要大,则替换当前的最大值
* 4、使用 return 返回最大值
*/
public int getMaxAge() {
int[] ages={18 ,23 ,21 ,19 ,25 ,29 ,17};
int max=ages[0];
int x=0;
for(int age:ages)
{
if(ages[x]>max)
max=ages[x];
x++;
}
return max;
}
有实参注意:
1、 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应
2、 调用方法时,实参不需要指定数据类型,如
3、 方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组等
4、 当方法参数有多个时,多个参数间以逗号分隔
public static void main(String[] args) {
HelloWorld hello = new HelloWorld();
int[] scores={79,52,98,81};
//调用方法,传入成绩数组,并获取成绩的个数
int count=hello(scores);
System.out.println("共有"+count+"个成绩信息!");
}
/*
* 功能:将考试成绩排序并输出,返回成绩的个数
* 定义一个包含整型数组参数的方法,传入成绩数组
* 使用Arrays类对成绩数组进行排序并输出
* 方法执行后返回数组中元素的个数
*/
public int sort( int[] scores ){
Arrays.sort(scores);
System.out.println(Arrays.toString(scores));
int x=0;
for(int score:scores)
x++;
return x+1;
//返回数组中元素的个数
}
方法重载:
同一个函数,参数不同
1、 必须是在同一个类中
2、 方法名相同
3、 方法参数的个数、顺序或类型不同
4、 与方法的修饰符或返回值没有关系
生成随机数(int)(Math.random*100):生成100以内随机数;
编程练习:
import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
HelloWorld hello=new HelloWorld();
int[] scores={ 89 , -23 , 64 , 91 , 119 , 52 ,73};
hello.san(scores);
}
public void san(int[] scores){
Arrays.sort(scores);
System.out.println("考试成绩前三名为:");
int a=3;
for(int i=scores.length-1;i>=0;i--)
{
if(scores[i]<0||scores[i]>100)
continue;
else
System.out.println(scores[i]);
a--;
if(a==0)
break;
}
}
}