java头歌之 Java入门 - 方法的使用

第1关:如何定义方法

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

package step1;

public class HelloWorld {
	/********** Begin **********/

    //定义一个方法,用来和老师打招呼
    public static void hello(){
        System.out.print("hello teacher!");
    }

	/********** End **********/	
    public static void main(String[] args) {

		/********** Begin **********/	
		
        //调用方法 
        hello();

		/********** End **********/
    }
}

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

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

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返回值
        return avg;


	/********** End **********/
    }
}

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

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

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 a,int b){
  System.out.println("平均分:"+(a+b)/2);


}

	/********** End **********/

}

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

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

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 **********/
		//在这里调用方法获取返回值

        System.out.println( i+"和"+j+"比较,最大值是:"  + getMax(i,j)   );
		/********** End **********/
    }

	/*在这里创建getMax方法,以两个整数作为参数,返回两个整数中较大的值*/
    
	/********** Begin **********/
	public static  int getMax(int a,int b){
        int max=0;
        if(a>b){
            max=a;
        }else{
            max=b;
        }
        return max;

    }

    /********** End **********/
}

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

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

package setp10;
import java.util.Arrays;

public class HelloWorld {
    public static void main(String[] args) {
     HelloWorld hello=new HelloWorld();
        int[] scores={79,52,98,81};
		/********** Begin **********/
        //调用方法,传入成绩数组,并获取成绩的个数
        int count= hello.sort(scores);
		/********** End **********/
        System.out.println("共有"+count+"个成绩信息!");
    }

    /*
     * 功能:将考试成绩排序并输出,返回成绩的个数
     * 
     */
	/********** Begin **********/	
    public  int sort( int[] scores   ){
       // 数组从小到大排序处理
   for(int i=0;i<scores.length-1;i++){
       for(int j=0;j<scores.length-i-1;j++){
           int max=0;
           if(scores[j]>scores[j+1]){
               max=scores[j];
               scores[j]=scores[j+1];
               scores[j+1]=max;
               
           }
       }

   }
       // 打印出数组
System.out.print("[");
for(int  i=0;i<scores.length-1;i++){
    System.out.print(scores[i]+", ");
}

System.out.print(scores[3]+"]");

System.out.println();
       //返回数组中元素的个数
return scores.length;
    }
	/********** End **********/
}

第6关:方法的重载

任务描述
本小节需要你掌握一个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 id){
     System.out.println("带有一个整型参数的print方法,参数值为:"+id);
 }
	
    /********** End **********/
}

             第7关:选择题

第8关:方法通关挑战

任务描述
本关任务:

定义一个方法,接收两个int类型的参数 a和b,求两个数的和,方法名为:getSum;

定义一个方法,接收三个double类型参数a,b,c, 返回这三个数的平均值 返回值类型为double,方法名为:getAvg;

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

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

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

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 **********/
    
    
}	

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值