Java方法详细介绍(一)

简介: Java方法详细介绍(一)

1. 方法概述



1.1 方法的概念


方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集


注意:


方法必须先创建才可以使用,该过程成为方法定义


方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用


2. 方法的定义和调用



2.1 无参数方法定义和调用


定义格式:


public static void 方法名 (   ) {
    // 方法体;
}


范例:


public static void method (    ) {
    // 方法体;
}


调用格式:


方法名();


范例:


method();


注意:


方法必须先定义,后调用,否则程序将报错


2.2 方法的调用过程


总结:每个方法在被调用执行的时候,都会进入栈内存,并且拥有自己独立的内存空间,方法内部代码调用完毕之后,会从栈内存中弹栈消失。


2.3 方法练习-奇偶数判断


需求:判断一个数是奇数还是偶数


代码:


public class Demo1Method {
    /*
        带参数方法的定义格式:
                public static void 方法名  ( 参数 )  { … … }
                public static void 方法名  ( 数据类型 变量名 )  { … … }
        带参数方法的调用格式:
                方法名 ( 参数 ) ;
                方法名 ( 变量名/常量值 ) ;
        tips: 参数可以是一个, 也可以是多个.
        需求: 判断一个数是奇数还是偶数
     */
    public static void main(String[] args) {
        isEvenNumber(10);
    }
    public static void isEvenNumber(int num){
        if(num % 2 == 0){
            System.out.println("偶数");
        }else{
            System.out.println("奇数");
        }
    }
}


3. 带参数方法的定义和调用


3.1 带参数方法定义和调用


定义格式:


参数:由数据类型和变量名组成 - 数据类型 变量名


参数范例:int a


public static void 方法名 (参数1) {
    方法体;
}
public static void 方法名 (参数1, 参数2, 参数3...) {
    方法体;
}


范例:


public static void isEvenNumber(int number){
    ...
}
public static void getMax(int num1, int num2){
    ...
}


注意:


方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错


方法定义时,多个参数之间使用逗号( ,)分隔

调用格式:


方法名(参数);
方法名(参数1,参数2);


范例:


isEvenNumber(10);
getMax(10,20);


方法调用时,参数的数量与类型必须与方法定义中的设置相匹配,否则程序将报错


3.2 形参和实参


形参:方法定义中的参数


等同于变量定义格式,例如:int number


实参:方法调用中的参数


等同于使用变量或常量,例如: 10 number


3.3 带参数方法的练习-打印n-m之间所有的奇数


需求:设计一个方法(print) 用于打印 n 到 m 之间所有的奇数


  • 思路:


1:定义方法,名称为print 2:为方法添加两个int类型的形参,准备接受调用者传递过来的实参 3:方法中设计for循环,循环从n开始,到m结束 4:循环中加入if判断,是奇数,则打印 5:main方法中调用print方法,传入两个实际参数


  • 代码:


package com.itheima.method2;
public class Demo2Method {
    public static void main(String[] args) {
        // 5:main方法中调用print方法,传入两个实际参数
        print(20,10);
    }
    //1:定义方法,名称为print
    // 2:为方法添加两个int类型的形参,准备接受调用者传递过来的实参
    public static void print(int n, int m){
        System.out.println(n + "到" + m + "之间的奇数为:");
        // 3:方法中设计for循环,循环从n开始,到m结束
        for(int i = 20; i <= 10; i++){
            // 4:循环中加入if判断,是奇数,则打印
            if(i % 2 == 1){
                System.out.println(i);
            }
        }
    }
}


4. 带返回值方法的定义和调用



4.1 带返回值方法定义和调用(掌握)


定义格式


public static 数据类型 方法名 ( 参数 ) { 
    return 数据 ;
}


范例


public static boolean isEvenNumber( int number ) {           
    return true ;
}
public static int getMax( int a, int b ) {
    return  100 ;
}


注意:


方法定义时return后面的返回值与方法定义上的数据类型要匹配,否则程序将报错


调用格式


方法名 ( 参数 ) ;
数据类型 变量名 = 方法名 ( 参数 ) ;


范例


isEvenNumber ( 5 ) ;
boolean  flag =  isEvenNumber ( 5 );


注意:


方法的返回值通常会使用变量接收,否则该返回值将无意义


4.2 带返回值方法的练习-求两个数的最大值(应用)


需求:设计一个方法可以获取两个数的较大值,数据来自于参数


  • 思路:


定义一个方法,声明两个形参接收计算的数值,求出结果并返回


使用 if 语句 得出 a 和 b 之间的最大值,根据情况return具体结果


在main()方法中调用定义好的方法并使用 【 变量保存 】


  • 代码:


/*
        需求:设计一个方法可以获取两个数的较大值,数据来自于参数
        1. 定义一个方法,声明两个形参接收计算的数值,求出结果并返回
        2. 使用 if 语句 得出 a 和 b 之间的最大值,根据情况return具体结果
        3. 在main()方法中调用定义好的方法并使用 【 变量保存 】
     */
    public static void main(String[] args) {
        // 3. 在main()方法中调用定义好的方法并使用 【 变量保存 】
        System.out.println(getMax(10,20));  // 输出调用
        int result = getMax(10,20);
        System.out.println(result);
        for(int i = 1; i <= result; i++){
            System.out.println("HelloWorld");
        }
    }
    // 方法可以获取两个数的较大值
    public static int getMax(int a, int b){
        if(a > b){
            return a;
        }else{
            return b;
        }
    }
}
目录
相关文章
|
18天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
67 4
|
29天前
|
Java API
Java 对象释放与 finalize 方法
关于 Java 对象释放的疑惑解答,以及 finalize 方法的相关知识。
48 17
|
22天前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
63 2
|
1月前
|
算法 Java Linux
java制作海报二:java使用Graphics2D 在图片上合成另一个照片,并将照片切割成头像,头像切割成圆形方法详解
这篇文章介绍了如何使用Java的Graphics2D类在图片上合成另一个照片,并将照片切割成圆形头像的方法。
49 1
java制作海报二:java使用Graphics2D 在图片上合成另一个照片,并将照片切割成头像,头像切割成圆形方法详解
|
30天前
|
Java 开发者
在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口
【10月更文挑战第20天】在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口。本文揭示了这两种方式的微妙差异和潜在陷阱,帮助你更好地理解和选择适合项目需求的线程创建方式。
20 3
|
1月前
|
Java 大数据 API
别死脑筋,赶紧学起来!Java之Steam() API 常用方法使用,让开发简单起来!
分享Java Stream API的常用方法,让开发更简单。涵盖filter、map、sorted等操作,提高代码效率与可读性。关注公众号,了解更多技术内容。
|
30天前
|
Java 开发者
在Java多线程编程中,选择合适的线程创建方法至关重要
【10月更文挑战第20天】在Java多线程编程中,选择合适的线程创建方法至关重要。本文通过案例分析,探讨了继承Thread类和实现Runnable接口两种方法的优缺点及适用场景,帮助开发者做出明智的选择。
19 2
|
30天前
|
安全 Java
Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧
【10月更文挑战第20天】Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧,包括避免在循环外调用wait()、优先使用notifyAll()、确保线程安全及处理InterruptedException等,帮助读者更好地掌握这些方法的应用。
19 1
|
30天前
|
Java 开发者
Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点
【10月更文挑战第20天】Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点,重点解析为何实现Runnable接口更具灵活性、资源共享及易于管理的优势。
34 1
|
30天前
|
Java
在Java多线程编程中,`wait()`和`notify()`方法的相遇如同一场奇妙的邂逅
在Java多线程编程中,`wait()`和`notify()`方法的相遇如同一场奇妙的邂逅。它们用于线程间通信,使线程能够协作完成任务。通过这些方法,生产者和消费者线程可以高效地管理共享资源,确保程序的有序运行。正确使用这些方法需要遵循同步规则,避免虚假唤醒等问题。示例代码展示了如何在生产者-消费者模型中使用`wait()`和`notify()`。
28 1
下一篇
无影云桌面