java学习笔记(四)

今天上午学习了一下java中的方法,在C语言中叫做函数,接下来就要学习类了,激动~

如何定义 Java 中的方法
所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。
一般情况下,定义一个方法的语法是:
访问修饰符 返回值类型 方法名(参数列表){
    方法体
}
其中:
1、 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,从字面上很容易理解这些修饰符的含义,其中 public 表示该方法可以被其他任何代码调用,
2、 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值
3、 方法名:定义的方法的名字,必须使用合法的标识符
4、 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开 
根据方法是否带参、是否带返回值,可将方法分为四类:
Ø 无参无返回值方法
Ø 无参带返回值方法
Ø 带参无返回值方法

Ø 带参带返回值方法

例:

public class HelloWorld {
    //定义了一个方法名为 print 的方法,实现输出信息功能
    public void print() {
		System.out.println("Hello World");
	}
    public static void main(String[] args){
        //在 main 方法中调用 print 方法
        HelloWorld test=new HelloWorld();
        test.print();
    }
}

Java 中无参无返回值方法的使用:

如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法。
方法的使用分两步:
第一步,定义方法
注意:
1、 方法体放在一对大括号中,实现特定的操作
2、 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式
第二步,调用方法

当需要调用方法执行某个操作时,可以先创建类的对象,然后通过  对象名.方法名();  来实现

public class HelloWorld {
    public static void main(String[] args) {
		// 创建对象,对象名为hello
		HelloWorld hello = new HelloWorld();
		// 调用方法
		hello.showMyLove();
	}
	/*
	 * 定义无参无返回值的方法
	 */
	public void showMyLove() {
		System.out.println("I love China!");
	}
}
Java 中无参带返回值方法的使用
不容忽视的“小陷阱”:
1、 如果方法的返回类型为 void ,则方法中不能使用 return 返回值!
2、 方法的返回值最多只能有一个,不能返回多个值

3、 方法返回值的类型必须兼容,例如,如果返回值类型为 int ,则不能返回 String 型值

栗子:

public class HelloWorld {
    public static void main(String[] args) {
		// 创建名为hello的对象
		HelloWorld hello = new HelloWorld();
		// 调用hello对象的calcAvg()方法,并将返回值保存在变量avg中
		double avg = hello.calcAvg();
		System.out.println("平均成绩为:" + avg);
	}
	// 定义一个返回值为double类型的方法
	public double calcAvg() {
		double java = 92.5;
		double php = 83.0;
		double avg = (java + php) / 2; // 计算平均值
		// 使用return返回值
                return avg;
	}
}

Java 中带参无返回值方法的使用

调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值
把定义方法时的参数称为形参,目的是用来定义方法需要传入的参数的个数和类型;把调用方法时的参数称为实参,是传递给方法真正被处理的值。
一定不可忽视的问题:
1、 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应
2、 调用方法时,实参不需要指定数据类型
3、 方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组等

4、 当方法参数有多个时,多个参数间以逗号分隔。

例子:

public class HelloWorld {
    public static void main(String[] args) {
		// 创建对象,对象名为hello
		HelloWorld hello = new HelloWorld();	
                // 调用方法,传入两门课程的成绩
		hello.calcAvg(94, 81);
	}
	/*
	 * 功能:计算两门课程考试成绩的平均分并输出平均分
	 * 定义一个包含两个参数的方法,用来传入两门课程的成绩
	 */
	 public void calcAvg(int a,int b){
	     double avg = (a+b)/2.0;
	     System.out.println("平均分:"+avg);
	 }
}

Java 中带参带返回值方法的使用

import java.util.Arrays;

public class HelloWorld {
    public static void main(String[] args) {
		HelloWorld hello = new HelloWorld();
		int[] scores={79,52,98,81};
		//调用方法,传入成绩数组,并获取成绩的个数
		int count= hello.sort(scores);
		System.out.println("共有"+count+"个成绩信息!");
	}
   	/*
	 * 功能:将考试成绩排序并输出,返回成绩的个数
	 * 定义一个包含整型数组参数的方法,传入成绩数组
	 * 使用Arrays类对成绩数组进行排序并输出
	 * 方法执行后返回数组中元素的个数
	 */
    public int sort(int []scores){
		Arrays.sort(scores);
		System.out.println(Arrays.toString(scores));
                //返回数组中元素的个数
                return scores.length;
	}
}

Java 中方法的重载

问: 什么是方法的重载呢?
答: 如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。
问: 如何区分调用的是哪个重载方法呢?
答: 当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。
判断方法重载的依据:
1、 必须是在同一个类中
2、 方法名相同
3、 方法参数的个数、顺序或类型不同

4、 与方法的修饰符或返回值没有关系

例:

public class HelloWorld {
    public static void main(String[] args) {
		// 创建对象
		HelloWorld hello = new HelloWorld();
		// 调用无参的方法
		hello.print();
		// 调用带有一个字符串参数的方法
	        hello.print("imooc");
		// 调用带有一个整型参数的方法
	        hello.print(18);
	}
	public void print() {
		System.out.println("无参的print方法");
	}
	public void print(String name) {
		System.out.println("带有一个字符串参数的print方法,参数值为:" + name);
	}
	public void print(int age) {
		System.out.println("带有一个整型参数的print方法,参数值为:" + age);
	}
}

编写一个 JAVA 程序,实现输出考试成绩的前三名

要求:

1、 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 64 , 91 , 119 , 52 , 73

2、 要求通过自定义方法来实现成绩排名并输出操作,将成绩数组作为参数传入

3、 要求判断成绩的有效性( 0—100 ),如果成绩无效,则忽略此成绩

//导入java.util.Arrays;
import java.util.Arrays;
public class HelloWorld {
    public static void main(String[] args) {
         // 创建对象,对象名为hello
    	HelloWorld hello = new HelloWorld();        
        // 调用方法并将返回值保存在变量中
	int[] nums = hello.getArray(8);
        // 将数组转换为字符串并输出
	System.out.println(Arrays.toString(nums)); 
	}
	/*
	 * 功能:创建指定长度的int型数组,并生成100以内随机数为数组中的每个元素赋值
	 * 定义一个带参带返回值的方法,通过参数传入数组的长度,返回赋值后的数组
	 */
    public int[] getArray(int length) {
        // 定义指定长度的整型数组
	int[] nums = new int[length];
        // 循环遍历数组赋值
	for (int i=0;i<length;i++) {        
	// 产生一个100以内的随机数,并赋值给数组的每个成员
	    nums[i]= (int)(Math.random() * 100);
        
	}
	return nums; // 返回赋值后的数组
	}
} 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值