Java头歌 2.4 类和对象- 方法的使用

这篇具有很好参考价值的文章主要介绍了Java头歌 2.4 类和对象- 方法的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第1关:如何定义方法

任务描述

本关任务:定义一个用来和老师打招呼的方法。

相关知识

为了完成本关任务你需要掌握:1. 什么是方法; 2. 怎么定义和使用方法。

我们现阶段编写的代码都是放在main函数中,不过如果我们要做一个大型的项目,把所有的代码都放入main方法中有什么缺陷呢?

  1. 代码庞大;
  2. 难以阅读;
  3. 难以维护;
  4. 代码难以重用;
  5. 不利于合作开发。

怎么解决呢? 将庞大的程序划分为不同的功能小块,逐个突破,就像手机和电脑一样,把一整个电脑拆分成一个个的小功能块,例如内存,CPU等。然后在主板中将这些功能模块组合。 这里主板就相当于main方法,CPU,内存这些模块,就相当于我们自己定义的方法,接下来我们就来认识一下Java中的方法吧!

什么是方法

方法也叫函数,就是用来解决一类问题的代码的有序组合,是一个功能模块

怎么定义和使用方法

一般情况下,定义一个方法的语法是:

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言

其中:

  1. 访问修饰符:在现阶段你只需要记住访问修饰符都用public即可;

  2. 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为void;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用return语句返回值;

  3. 方法名:定义的方法的名字,必须使用合法的标识符;

  4. 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开。

根据方法是否带参、是否带返回值,可将方法分为四类:

  • 无参无返回值方法;

  • 无参带返回值方法;

  • 带参无返回值方法;

  • 带参带返回值方法。

在本关你需要学习的是无参数无返回值方法。

方法的使用分两步:

第一步,定义方法:

例如:下面代码定义了一个方法名为 helloEducoder ,没有参数,且没有返回值的方法,执行的操作为输出 welcome to educoder

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言

注意哦:

  1. 方法体放在一对大括号中,实现特定的操作;

  2. 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式;

  3. 现阶段我们使用的方法都是static(静态的)。

第二步:调用方法:

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言

输出:

welcome to educoder

编程要求

根据提示,在右侧编辑器Begin-End处补充代码,定义一个方法名为hello的方法用来和老师打招呼; 调用此方法输出如下结果:

hello teacher!

package step1;
 
public class HelloWorld {
	/********** Begin **********/
public static void hello(){
    System.out.println("hello teacher!");
}
    //定义一个方法,用来和老师打招呼
 
	/********** End **********/	
    public static void main(String[] args) {
 
		/********** Begin **********/	
		hello();
        //调用方法 
 
		/********** End **********/
    }
}

第2关:掌握无参有返回值方法的调用

任务描述

定义一个方法,用来计算两门课程成绩的平均值,并返回结果。

相关知识

如果方法不包含参数,但有返回值,我们称为无参带返回值的方法。

例如:下面的代码,定义了一个方法名为 numberPlus ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果。

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言

numberPlus() 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值。

调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理。如:

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言

回顾与展望

在上一节中你已经掌握了无参数无返回值方法的调用,这一节将要掌握有返回值方法的调用。

一定不可忽视的问题

1、 如果方法的返回类型为 void ,则方法中不能使用 return 返回值!

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言

2、 方法的返回值最多只能有一个,不能返回多个值。

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言

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

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言

编程要求

请根据任务描述 ,在编辑器Begin-End中定义一个名为 calcAvg 的方法,用来计算两门课程成绩的平均值,并返回结果。

测试说明

程序会对你编写的代码进行测试:

需要你的程序输出:

平均成绩为:87.75

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

第3关: 掌握有参数无返回值方法的调用

任务描述

本关任务:编写带参方法计算两门课程考试成绩的平均分。

相关知识

有时方法的执行需要依赖于某些条件,就像生活中我们做一件事情时,也许需要前提条件,而方法的参数就相当于前提条件。

我们先来看一个带参数,但没有返回值的方法:

 
  1. /*
  2. *带参无返回值
  3. */
  4. public static void show(String name){
  5. System.out.println(name);
  6. }

上面的代码定义了一个 show() 方法,带有一个参数 name ,实现输出欢迎消息。

调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值。

例如:

 
  1. public static void main(String[] args) {
  2. //调用方法,得到结果
  3. show("我是Java爱好者");
  4. }

运行后控制台打印结果为:

我是Java爱好者

很多时候,我们把定义方法时的参数称为形参,目的是用来定义方法需要传入的参数的个数和类型;把调用方法时的参数称为实参,是传递给方法真正被处理的值。

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言

一定不可忽视的问题:

1、 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应。

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言

2、 调用方法时,实参不需要指定数据类型,如。

 
  1. public static void main(String[] args) {
  2. //调用方法,得到结果
  3. show("我是Java爱好者");
  4. }

3、 方法的参数可以是基本数据类型,如 intdouble 等,也可以是引用数据类型,如 String数组等。

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

 
  1. public static int test(int number1 , int number2){
  2. System.out.println("内部逻辑");
  3. }
编程要求

根据提示,在右侧编辑器Begin-End处补充代码,编写并调用求平均值的方法,传入两门成绩,求出平均值。

测试说明

测试输入:90,80 预期输出: 平均分:85

测试输入:100,90 预期输出: 平均分:95

package setp9;
 
import java.util.Scanner;
 
public class HelloWorld {
    public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int score1 = sc.nextInt(); //第一门成绩
		int score2 = sc.nextInt(); //第二门成绩
		/********** Begin **********/
        // 调用方法,传入两门课程的成绩
        calcAvg(score1,score2);
		/********** End **********/
    }
 
    /*
     * 功能:计算两门课程考试成绩的平均分并输出平均分
     * 定义一个包含两个参数的方法,用来传入两门课程的成绩
     */
	/********** Begin **********/
public static void calcAvg(int score1,int score2){
  int score=0;
score=(score1+score2)/2;
System.out.println("平均分:"+score);
}
 
	/********** End **********/
 
}

第4关:掌握有参数有返回值方法的调用

任务描述

本关任务:定义一个有参数有返回值方法(函数)并调用。

相关知识

要完成本关任务你需要掌握:1.怎么定义有参数有返回值的方法,2.怎么调用。

怎么定义有参数有返回值的方法

如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法。

例如:下面的代码,定义了一个 welcome 方法,带有一个参数 name ,方法执行后返回一个 String 类型的结果。

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言

怎么调用

调用带参带返回值的方法:

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言

运行结果为: 欢迎你张三丰

编程要求

Begin-End区域创建一个 名为getMax的方法,以两个整数作为参数, 返回两个整数变量较大的值,最后在main方法中调用该方法,传入输入的数据。

测试说明

测试输入:5,4 预期输出: 5和4比较,最大值是:5

测试输入:2,3 预期输出: 2和3比较,最大值是:3

package step3;
 
import java.util.Scanner;
 
public class HelloWorld {
    public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int i = sc.nextInt();   //获取第一个输入的整数
        int j = sc.nextInt();	//获取第二个输入的整数
		
		/********** Begin **********/
		//在这里调用方法获取返回值
int a =getMax(i,j);
        System.out.println( i+"和"+j+"比较,最大值是:"  +   a );
		/********** End **********/
    }
 
	/*在这里创建getMax方法,以两个整数作为参数,返回两个整数中较大的值*/
    
	/********** Begin **********/
	public static int getMax(int x,int y){
		if(x>y)
		return x;
		else return y;
 
	}
 
    /********** End **********/
}

 

第5关:掌握数组作为参数的使用

任务描述

本关任务:将考试成绩排序并输出,返回成绩的个数。

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言

相关知识
  • 数组作为参数的样例:
 
  1. public static void main(String[] args) {
  2. // 调用方法时传递一个数组
  3. int [] arrayData = {1 ,2 ,3 };
  4. arrayManage(arrayData);
  5. }
  6. public static void arrayManage(int [] data){
  7. for(int i = 0 ; i < data.length ;i++){
  8. // 打印数组
  9. System.out.println(data[i]);
  10. }
  11. }
  • 输出结果。 1 2 3
实现思路
  • 定义一个带有数组参数的方法;
  • 在方法内部参考第八章数组排序将数组排序,并且打印;
  • 返回数组的长度信息。
提示

快速输出数组的方法: System.out.println(Arrays.toString(要输出的数组));


验货啦,验货啦,开始你的任务吧!

编程要求

根据提示,在右侧编辑器Begin-End处补充代码,程序给出了部分代码,您需要参照实现思路达到 任务描述的需求。

package setp10;
import java.util.Arrays;
 
public class HelloWorld {
    public static void main(String[] args) {
     
        int[] scores={79,52,98,81};
		/********** Begin **********/
        //调用方法,传入成绩数组,并获取成绩的个数
        int count=sort(scores);
        
		/********** End **********/
        System.out.println("共有"+count+"个成绩信息!");
    }
 
    /*
     * 功能:将考试成绩排序并输出,返回成绩的个数
     * 
     */
	/********** Begin **********/	
    public static int sort(int[] data){
       // 数组从小到大排序处理
       
for(int i=0;i<data.length-1;i++){
    for(int j=i+1;j<data.length;j++){      
    if(data[i]>data[j])
     {
        int temp=data[i];
       data[i]=data[j];
       data[j]=temp;
       }
    }
}
       // 打印出数组
System.out.println(Arrays.toString(data));
       //返回数组中元素的个数
return 4;
    }
	/********** End **********/
}

第6关:方法的重载

任务描述

本小节需要你掌握一个Java方法重载的小程序,在每一个重载的方法中打印相应的语句。

相关知识

问: 什么是方法的重载呢?

答: 如果同一个类中包含了两个或两个以上方法名相同,方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。如下所示 3 个方法名称都为 print ,但方法的参数有所不同,因此都属于方法的重载:

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言

问: 如何区分调用的是哪个重载方法呢?

答: 当调用被重载的方法时,Java会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。如:

 
  1. public static void main(String[] args) {
  2. // 调用无参的方法
  3. print();
  4. // 调用带有一个字符串参数的方法
  5. print("小强");
  6. // 调用带有一个整型参数的方法
  7. print("老肖",38);
  8. }

运行结果:

无参的print方法 带有一个字符串参数的print方法,参数值为:小强 您好老肖,今年38岁

判断方法重载的依据:

1、 必须是在同一个类中;

2、 方法名相同;

3、 方法参数的个数、顺序或类型不同;

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

敲黑板

方法重载:在同一个类中,方法名相同,参数类型不同


编程要求

在编辑器Begin-End处对print方法进行重载,并通过传入不同的参数调用匹配的重载方法。

请在相应行中将代码填写完整。

测试说明

预期输出:

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言

package setp15;
 
/**
 * @author tangzhiqiang
 * @date 2018-04-25 22:31
 */
public class HelloWorld {
    public static void main(String[] args) {
 
		/********** Begin **********/
        // 调用无参的方法
print();
        // 调用带有一个字符串参数的方法	
print("educoder") ;       // 调用带有一个整型参数的方法
print(666);
        /********** End **********/
    }
 
    /********** Begin **********/
    // 无参print方法的定义
public static void print(){
    System.out.println("无参的print方法");
}
    
    // 字符串print方法的定义
 
    public static void print(String name){
        System.out.println("带有一个字符串参数的print方法,参数值为:"+name);
    }
    // 整型print方法的定义
public static void print(int a){
    System.out.println("带有一个整型参数的print方法,参数值为:"+a);
}
	
    /********** End **********/
}

第7关:选择题

  • 1、请选择下列选项中对方法描述正确的所有选项:BDE

    A、方法重载时方法名不能相同
  • B、静态方法可以直接调用,不需要通过类实例
    C、方法名与方法参数相同的两个方法可以同时在一个类中
    D、方法重载必须在同一个类中
    E、调用有参方法时传入的值可以为object

第8关:方法通关挑战

任务描述

本关任务:

  1. 定义一个方法,接收两个int类型的参数 ab,求两个数的和,方法名为:getSum

  2. 定义一个方法,接收三个double类型参数abc, 返回这三个数的平均值 返回值类型为double,方法名为:getAvg

  3. 定义一个方法,接收两个整数 a b 打印ab列的一个矩形,方法名为:printRect

  4. 定以一个方法,接收整形数组为参数,对这个数组进行升序排序,最后输出该数组,方法名为:sortArr

  5. 定义一个方法,完成99乘法表的打印,方法名为 :Print99

相关知识
编程要求

根据任务描述,在右侧编辑器Begin-End处补充代码,定义五个方法,并编写代码实现方法对应的功能,达到输出要求。

测试说明

我会对你编写的代码进行测试: 第一题:求和

测试输入:1,2

预期输出: 3

第二题:求平均值

测试输入:1,2,3 预期输出: 2.0

第三题:输出矩形

测试输入:2,3

预期输出: *** ***

第四题:数组升序排序

测试输入:5,7,12,9,32

预期输出: 5 7 9 12 32

第五题:打印99乘法表

测试输入:

预期输出:

类和对象的定义与使用头歌,Java实训,头歌Java,Java方法使用,java,开发语言文章来源地址https://www.toymoban.com/news/detail-771030.html

package setp17;
 
import java.util.Arrays;
import java.util.Scanner;
 
public class HelloWorld {
	
    /********** Begin **********/
    /**
     * 第一题:定义一个方法 接收两个整数类型的参数 a和b,返回两个数的和  返回值类型为int 方法名为:getSum
     */
public static int getSum(int a ,int b){
        int sum = a + b;
        return sum;}
 
 
    /**
     * 第二题: 定义一个方法 接收三个double类型参数a,b,c, 返回这三个数的平均值 返回值类型为double 方法名为:getAvg
     */
public static double getAvg(double a ,double b,double c){
        double avg = (a + b + c) / 3;
        return avg;}
 
    /**
     * 第三题: 定义一个方法 接收两个参数 a 和b 打印a行 b列的一个矩形  不需要返回值   方法名为:printRect
     */
 public static void printRect(int a , int b){
        for (int i = 1 ; i <= a ;i++) {
            for (int k = 1 ; k <= b;k++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
 
 
	
	/**
	 * 第四题:定以一个方法,接收整形数组 为参数  对这个数组进行升序排序  最后输出该数组 不需要返回值 方法名为 sortArr  
	 */
 public static void sortArr(int[] arr){
        for(int i = 0; i< arr.length-1;i++){
            for(int j = i+1; j< arr.length;j++){
                if(arr[i] > arr[j]){
                     int tmp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = tmp;
                }
            }
        }
        for(int i = 0; i< arr.length;i++){
                System.out.println(arr[i]);
        }
        }
 
 
	
    /**
     *  第五题
     * 你只需要实现for 循环括号的内容就可 ,打印语句系统已经给你完成 
     */
    public static void Print99() {
        for (  int i = 1 ; i<=9;i++ ) {
            for(   int j = 1;j <= i ;j++) {
                System.out.print(j + " * " + i + " = " + i * j + "\t");
            }
            System.out.println();
        }
    }
 
    /********** End **********/
    
    
}	

到了这里,关于Java头歌 2.4 类和对象- 方法的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据库原理 头歌实训 数据库常用对象

    任务描述 本关任务:创建计算机系的学生信息的视图 student_cs。 相关知识 行列子集视图是指视图的结果集来源于基本表,没有经过二次计算。 #####创建视图 CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTIO

    2024年02月04日
    浏览(50)
  • [正式学习java①]——java项目结构,定义类和创建对象,一个标准javabean的书写

    目录 一、创建第一个java文件 二、 初始类和对象 三、符合javabean规范的类 要想写代码,你得有文件啊 以前的创建方式: 右键新建文本文档,开始写代码,写完改后缀名,保存……这样文件一旦多了很难管理 现在我们要规范项目结构 每一个类就是一个java文件,每一个包存放

    2024年02月08日
    浏览(40)
  • 【Java 基础】类和对象 & 方法重载详解

    《 Java 零基础入门到精通 》 专栏持续更新中。通过本专栏你将学习到 Java 从 入门 到 进阶 再到 实战 的全套完整内容,所有内容均将集中于此专栏。无论是初学者还是有经验的开发人员,都可从本专栏获益。 订阅专栏后添加我微信或者进交流群,进群可找我领取 前端/Java

    2023年04月11日
    浏览(61)
  • ​​​​​​​头歌(EduCoder)Java实训作业答案

    搜集整理了一份最新最全的头歌(EduCoder)Java实训作业答案,分享给大家~ (EduCoder)是信息技术类实践教学平台。(EduCoder)涵盖了计算机、大数据、云计算、人工智能、软件工程、物联网等专业课程。超60000个实训案例,建立学、练、评、测一体化实验环境。   第一关 第二关 C

    2024年02月08日
    浏览(45)
  • Educoder/头歌JAVA实训——JAVA循环与分支语句编程练习

    为了完成本关任务,你需要掌握:1、数组的定义; 2、循环语句的熟练使用。 实现思路: 可以通过三层循环的方式,第一层循环用于控制百位数的变化,第二层循环用于控制十位数的变化,第三层循环用于控制个位数的变化。 由于题目要求百位数、十位数、个位数互不重复

    2023年04月08日
    浏览(76)
  • 头歌实践教学平台答案(Java实训作业答案)

    搜集整理了一份最新最全的头歌(EduCoder)Java实训作业答案,分享给大家.(EduCoder)是信息技术类实践教学平台。(EduCoder)涵盖了计算机、大数据、云计算、人工智能、软件工程、物联网等专业课程。超60000个实训案例,建立学、练、评、测一体化实验环境。这份是头歌实践教学平

    2023年04月11日
    浏览(84)
  • 头歌(educoder)实训作业题目及答案分享 ——1-4 Java入门 - 分支结构

    📜个人简介 :  作者简介:大家好,我是Passenger.n✌️  支持一下:点赞👍+收藏🌟+留言📪 📣 系列专栏:java基础🍁 ✉️格言:花有重开日,人无再少年!🌞 万事开头难,既然迈开了这一步,那就坚持走下去! 这是我的第一篇博客,希望萌新看了有收获,大佬看了给指

    2024年02月06日
    浏览(105)
  • 【Java基础教程】(十五)面向对象篇 · 第九讲:抽象类和接口——定义、限制与应用的细节,初窥模板设计模式、工厂设计模式与代理设计模式~

    掌握 抽象类和接口的定义、使用、区别、常见设计模式; 抽象类是代码开发中的重要组成部分,利用抽象类可以明确地定义子类需要覆写的方法,这样相当于在语法程度上对子类进行了严格的定义限制,代码的开发也就更加标准。下面具体介绍抽象类的概念。 普通类可以直

    2024年02月16日
    浏览(48)
  • 头歌(educoder)实训作业题目及答案分享 ——1-7 Java入门-分支与循环练习

    📜个人简介 :  作者简介:大家好,我是Passenger.n✌️  支持一下:点赞👍+收藏🌟+留言📪 📣 系列专栏:java基础🍁 ✉️格言:花有重开日,人无再少年!🌞 万事开头难,既然迈开了这一步,那就坚持走下去! 这是我的第一篇博客,希望萌新看了有收获,大佬看了给指

    2024年02月04日
    浏览(83)
  • jvm中类和对象定义存储基础知识

    Class文件结构主要有两种数据结构: 无符号数和表 • 无符号数 :用来表述数字,索引引用、数量值以及字符串等,比如 图1中类型为u1,u2,u4,u8分别代表1个字节,2个字节,4个字节,8个字节的无符号数 • 表 :表是有由多个无符号数以及其它的表组成的复合结构,比如图1中类

    2024年02月08日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包