Java基础——方法

方法

在我们的日常生活中,会遇到各种各样的问题,而我们需要寻求这些问题的解决办法,也就是解决方法,所以方法在日常生活中也是无处不在的。在java中,我们去解决某个问题并找到这个问题的解决办法就是方法。方法中封装的是解决问题的具体代码实现的功能,而我们只需要调用这个方法名就可以去解决这个问题。像之前学过的随机数的调用,就是调用的nextInt()方法来实现随机数的产生。

定义方法的格式:

修饰符 返回值类型 方法名(参数列表…){

功能实现的具体代码

return;

}

方法格式分析:

修饰符:用于修饰该方法的各种状态,修饰符比较多,现在先是固定的,会面会逐渐进行接触的,public static,public权限修饰符,权限最大化,static,静态的,也是数据共享的意思。

返回值类型:方法实现功能返回结果的数据类型,返回结果什么类型就写什么类型。

方法名:方法名的定义遵循标识符的规则,第一个单词都小写,后面每个单词的首字母都大写。

参数列表:是否有未知数据的参与,没有就不定义

return:有两个作用,其一是返回这个功能的结果,其二是用于结束方法。

下面通过一个代码来演示方法定义的具体情况:

/*
需求:计算长方形的面积(在方法中实现这个功能)
思路:1、定义一个方法getArea()在方法中实现
           2、修饰符:public static
           3、返回值类型:计算长方形的面积返回后是一个整数类型的值,int
           4、方法名:遵循标识符的定义规则getArea()
           5、参数列表:在功能实现过程中,有未知的数据参与运算,长和宽,int length,int weight
           6、return的是面积。
           7、调用该方法的功能,在main方法中进行调用
*/
public class MethodDemo{
         public static void main(String[] args){
                   //调用getArea()方法,传入长和宽的值
                   int area = getArea(4,8);
                   //打印该面积的值
                   System.out.println("该长方形的面积是:"+area);
         }
         //定义方法,实现功能的封装
         public static int getArea(int length,int weight){
                   //计算面积的功能实现
                   //int area = length * weight;
                   return length * weight;
         }
}

方法定义练习

练习一:打印三行三列的“*”矩形

/*
需求:打印三行三列的”*“矩形
思路:1、定义功能方法
           2、修饰符:public static
           3、返回值类型:在控制台打印图形即可 ,没有返回值类型void
           4、方法名:符合标识符的定义规则即可,printRect()
           5、参数列表:已经规定是三行三列,不需要定义参数列表
*/
public class MethodDemo_1{
         public static void main(String[] args){
                   //调用功能方法
                   printRect();
         }
         //定义功能方法
         public static void printRect(){
                   //使用for循环遍历打印矩形
                   for(int i=0;i<3;i++){
                            for(int j=0;j<3;j++){
                                     System.out.print("*");
                            }
                            System.out.println();
                   }
         }
}

练习二:键盘输入一个数并打印这个数

/*
需求:键盘输入一个数并打印这个数
思路:1、定义功能方法
           2、修饰符:public static
           3、返回值类型:需要返回输入的这个数,int
           4、方法名:遵循标识符的定义规则即可,getNumber()
           5、参数列表:没有未知数据的参与,只需要自己在键盘输入这个数即可
*/
import java.util.Scanner;
public class MethodDemo_2{
         public static void main(String[] args){
                   //调用功能方法
                   //int num = getNumber();
                   System.out.println(getNumber());
         }
         //定义方法功能
         public static int getNumber(){
                   //定义Scanner类,完成键盘的输入
                   Scanner sc = new Scanner(System.in);
                   //int number = sc.nextInt();
                   //返回输入的数据给调用者
                   return sc.nextInt();
         }
}

练习三:打印指定M行,每行N个*号的矩形

/*
需求:打印指定M行,每行N个*号的矩形
思路:1、定义功能方法
           2、修饰符:public static
           3、返回值类型:打印图形,无返回值void
           4、方法名:符合标识符的定义规则即可,printRect()
           5、参数列表:需要自己去指定图形的行数和列数,int m,int n
           6、调用功能方法
*/
public class MethodDemo_3{
         public static void main(String[] args){
                   //调用功能方法
                   printRect(6,7);
         }
         //定义功能方法
         public static void printRect(int m,int n){
                   //通过for循环遍历打印图形
                   for(int i=0;i<m;i++){
                            for(int j=0;j<n;j++){
                                     System.out.print("*");
                            }
                            System.out.println();
                   }
         }
}

练习四:求三个数的平均数

/*
需求:求三个数的平均数
思路:1、定义功能方法
           2、修饰符:public static
           3、返回值类型:求平均数结果需要返回这三个数的平均数的值,int
           4、方法名:符合标识符的定义规则即可,getAvg()
           5、参数列表:需要三个未知数据的参与,int a,int b,int c
           6、调用功能方法
*/
public class MethodDemo_4{
         public static void main(String[] args){
                   //调用功能方法
                   int avg = getAvg(4,8,9);
                   System.out.println("三个数的平均值是:"+avg);
         }
         //定义功能方法
         public static int getAvg(int a,int b,int c){
                   //返回计算后的值
                   return (a+b+c)/3;
         }
}

定义方法时的一些注意事项:

1、 方法写在类中,方法与方法不能嵌套,也就是说一个方法不能写进另一个方法中,

2、 在调用方法时方法名和参数列表一定不能写错,否则失败

3、 方法的返回值如果是void,ruturn可以省略不写,但是方法中return后面一定不能写其他语句,否则会访问不到编译失败

4、 方法的返回值类型必须和return的类型相匹配。

5、 方法不能够重复定义。

6、 在调用方法时,方法的返回值是void,调用的时候不能使用输出语句,没用返回值打印数据也就不存在,逻辑错误。

方法的重载

所谓的重载就是在同一个类中,功能的方法名可以一样,但是它的参数列表里面的数据类型和数据个数不一样。

下面的代码演示了重载的情况:

/*
重载的情况:求数据的和,个数和类型不确定,所以需要用到重载
*/
public class MethodOverload{
         public static void main(String[] args){
                   //调用功能
                   int sum1 = add(3,5);
                   int sum2 = add(4,5,6);
                   double sum3 = add(2.1,6.3);
                   System.out.println(sum1);
                   System.out.println(sum2);
                   System.out.println(sum3);
         }
         //求和的功能实现
         public static int add(int a,int b){
                   return a+b;
         }
         public static int add(int a,int b,int c){
                   return a+b+c;
         }
         public static double add(double a,double b){
                   return a+b;
         }
}

重载的注意事项

1、 方法的参数列表必须不同(数据个数、数据类型、数据顺序)

2、 方法的重载与变量名无关

3、 方法的重载和返回值类型无关

4、 方法的重载和修饰符无关

所以方法的重载只和参数列表有关,和其他无关

时间: 2024-10-09 19:48:08

Java基础——方法的相关文章

java基础---------方法和方法重载

一.方法的基本使用方法的格式: 修饰符 返回类型 方法名(参数类型 参数1,参数类型 参数2){ 方法体语句: Return 返回值 } package java基础; import com.sun.corba.se.impl.orb.ParserTable; /** * 测试方法的使用 */ public class TestMethod { public static void main(String[] args) { //通过对象调用普通方法 TestMethod tm=new Test

-Java基础-方法

1.方法: 方法就是对一片代码包装起来,给这片代码按上一个名字.什么时候用到这片代码就调用这个名字就可以了. 1.方法必须申请在类中 2.方法中除了不能方法和类,其他想怎么写就这么写. 3.方法中可以调用[学Java,到凯哥学堂kaige123.com]其他的方法,但不能相互调用,会出现方法嵌套调用溢出错误 "java.lang.StackOverflowError" 4.主要按值传递(基本数据类型)和按引用传递.  5.集合参数 一个数据类型加上三个点再加上一个变量名 static

JAVA基础——方法笔记

java方法_学习笔记 由于我本人对java方法已经比较熟悉了,java方法的定义和使用也比较简单,这里只列举了基于我自身容易搞错的地方,希望对大家的学习有帮助!! 方法的参数可以是基本数据类型,如 int.double 等,也可以是引用数据类型,如 String.数组. 方法的重载 判断方法重载的依据: 1. 必须是在同一个类中 2. 方法名相同 3. 方法参数的个数.顺序或类型不同 4. 与方法的修饰符或返回值没有关系

Java基础---方法进阶(三十八)

public class HelloWorld {        //完成 main 方法    public static void main(String[] args) {                // 创建对象,对象名为hello  HelloWorld hello = new HelloWorld();                 // 调用方法并将返回值保存在变量中        int maxScore=hello.getMaxAge();          // 输出最

JAVA基础-----方法重载

overload--方法重载 方法重载 1. 概念: 一个类中的一组方法 有相同方法的名字 不一样的参数列表 这样的一组方法 参数的不同体现在哪里? 参数的个数 参数的类型 参数的顺序 2. 作用:为了让使用者便于记忆与调用 只需要记录一个名字 执行不同的操作 3. 自己也可以设计重载 通过对象.方法名字 调用方法 可以直接通过方法的名字定位方法 如果方法名字一致 通过放的参数列表类型 来定位方法 如果没有与传递参数类型一致的方法,可以找一个参数类型可进行转化(自动):例如char 和 int

Java基础学习第五天——方法与数组

文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 2016.02.24 lutianfei none 第三章Java基础语法 方法 方法就是完成特定功能的代码块,即函数. 格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2-) { 函数体; return 返回值; } 详细解释: 修饰符,目前就用public static,后详解. 返回值类型:就是功能结果的数据类型. 方法名:符合命名规则即可,方便我们的调用. 参数: 实际参数:就是实际参与运算的.

1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用

1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用 成员变量(属性)①类中添加成员变量 访问修饰符 类型 变量名 private String name ②实例化对象调用类的构造方法类构造对象,Teacher one = new Teacher(): 有static的可以直接调用,因为static是类级别的 ③JavaBean里边一般规则应该有公共的无参构造应该有符合命名规范的get/set方法 ④对象的回收:没有任何引用指向该对象时,GC会回收 主动回收:对象 = nu

1.28 Java基础总结 ①方法重载②构造方法

1.28 Java基础总结 ①方法重载②构造方法 一.方法的重载在同一个类中,方法名相同,形参列表不同访问修饰符.返回类型和是否重载无关:按顺序对应的形参列表类型不同即可 二.构造器在类创建一个实例时被调用,构造方法只能用new关键字调用目的:初始化实例,初始化类属性(0,0.0,null,false)无返回值,和类名一致,用来构造对象作用:为对象分配内存, 创建并初始化成员变量(通过类创建,所以可以在static方法中调用构造方法) 返回引用,引用.属性:引用.方法(所以无返回值) 三.构造方

java基础知识回顾之---java String final类普通方法

辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      *      * 1,获取:     * 1.1 获取字符串中字符的个数(长度).     *         int length();     * 1.2 取字符串中的某一个字符,其中的参数index指的是字符串中序数.字符串的序数从0开始到length()-1 .     *