首页 > 编程语言 >Java方法

Java方法

时间:2025-01-23 17:33:58浏览次数:1  
标签:return int static 参数 Java 方法 public

Java方法

例如:System.out.println( );---->分别为 (类.对象.方法)

  • Java方法是语句的集合。它们在一起执行一个功能。
    • 方法是解决一类问题的步骤的有序组合
    • 方法包含于类或对象中
    • 方法在程序中被创建,在其他地方被引用
  • 设计方法的原则:一个方法只完成一个功能,这样有利于我们后期的扩展。

1.方法的定义

  • Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段
  • 方法包含一个方法头和方法体。
    • 修饰符:这是可选的
    • 返回值类型: 如果方法有返回值,则为返回值的数据类型,如果没有返回值,则为void
    • 方法名:是方法的实际名称
    • 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的 ,方法可以不包含任何参数。
      • 形式参数:在方法被调用时用于接收外界输入的数据
      • 实参:调用方法时实际传给方法的数据
    • 方法体:方法体包含具体的语句,定义该方法的功能

语法:

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

​ ...

​ 方法体

​ ...

​ return 返回值;

}

其中 return 0; 可以终止方法

  • 扩展:值传递(Java)和引用传递
    • 值传递:在值传递中,函数参数是实际值的副本。在进行函数调用时,会将实际参数的值复制一份给形式参数,所以在函数内对形式参数进行修改不会影响到实际参数的值。这意味着在函数内部对形式参数进行修改不会影响到函数外部的变量。
    • 引用传递:在引用传递中,函数参数是实际参数的引用,是指向实际参数的内存地址。在函数调用时,传递给函数是实际参数的地址,索引函数内对形式参数进行修改会直接影响到实际参数的值。

例子:

package com.yehuan.method;

public class Dome02 {
    public static void main(String[] args) {
        int max = max(10, 20);
        System.out.println(max);
    }
    //比大小
    public static int max(int num1, int num2) {
        int result = 0;

        if(num1 == num2){
            System.out.println("num1 == num2");
            return 0;//终止方法
        }
        if (num1 > num2){
            result = num1;
        }else {
            result = num2;
        }
        return result;
    }
}

2.方法的重载

  • 重载就是在一个类中,有相同的函数名称,但形参不同的函数。
  • 方法的重载的规则:
    • 方法名必须相同
    • 参数列表必须不同(个数不同、或类型不同、参数排序顺序不同的等)
    • 方法的返回类型可以相同也可以不同
    • 仅仅返回类型不同不足以成为方法的重载
  • 实现理论
    • 方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失效,则编译器报错

例子:

package com.yehuan.method;

public class Dome01 {
    //main方法
    public static void main(String[] args) {

        //实际参数:实际调用传递给他的参数
        int sum = add(1, 2,3);//6
        System.out.println(sum);
    }

    //加法
    //形式参数,用来定义作用的
    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;
    }
}

3.可变参数

  • JDK1.5开始,Java支持传递同类型的可变参数给一个方法
  • 在方法声明中,在指定参数类型后面加一个省略号(...)
  • 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
package com.yehuan.method;

public class Dome03 {
    public static void main(String[] args) {
        Dome03 dome03 = new Dome03();
        dome03.test(1,2,23,4,5,6);
    }
    public void test(int x,int... i){

    }
}

其本质其实就是数组

4.递归

  • 递归就是:自己调用自己
  • 递归结构包括两个部分:
    • 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环(导致栈溢出)
    • 递归体:什么时候需要调用自身方法

递归实例:

package com.yehuan.method;
//递归
public class Dome04 {
    public static void main(String[] args) {
        System.out.println(f(5));
    }
    //n的阶乘
    public static int f(int n){
        if(n==1){
            return 1;
        }else {
            return n*f(n-1);
        }
    }
}

标签:return,int,static,参数,Java,方法,public
From: https://www.cnblogs.com/zlyh/p/18688250

相关文章

  • 详细剖析Java动态线程池的扩容以及缩容操作
    前言在项目中,我们经常会使用到线程来处理加快我们的任务。但为了节约资源,大多数程序员都会把线程进行池化,使用线程池来更好的支持我们的业务。Java线程池ThreadPoolExecutor有几个比较核心的参数,如corePoolSize、maximumPoolSize等等。无论是在工作中还是在面试中,都会被问到,如何......
  • 探索JavaScript前端开发:开启交互之门的神奇钥匙(二)
     目录 引言四、事件处理4.1事件类型4.2事件监听器五、实战案例:打造简易待办事项列表5.1HTML结构搭建5.2JavaScript功能实现六、进阶拓展:异步编程与Ajax6.1异步编程概念6.2Ajax原理与使用七、前沿框架:Vue.js入门窥探7.1Vue.js简介7.2基础使用示......
  • 一文详解!大模型性能测试全指标、计算方法及优化指南
    最近一周,我参与了一些第三方大模型的性能测试,在过程中发现,对于那些对实时性和稳定性要求较高的应用场景,模型的性能指标已经成为衡量其优劣的关键。这些指标不仅直接影响用户体验,还决定了模型能否真正胜任复杂的业务需求。在近年来大模型技术的快速发展中,我们看到智谱、文......
  • Java 反射
    目录概述反射机制反射机制原理类加载概述类加载的时机:类加载各阶段完成的功能加载阶段连接阶段——验证连接阶段——准备连接阶段——解析初始化阶段Class类方法一:直接通过一个类class中的静态变量class获取:方法二:如果我们有一个类class的对象,可以通过该对象引用提供的get......
  • Java 泛型
    目录泛型概述使用泛型的好处泛型的定义与使用定义和使用含有泛型的类含有泛型的方法含有泛型的接口定义类时确定泛型的类型始终不确定泛型的类型,直到创建对象时,确定泛型的类型泛型通配符通配符基本使用通配符高级使用----受限泛型泛型概述在前面学习集合时,我们都知道集合中是可......
  • [新]Java8的新特性
    原文首发在我的博客:https://blog.liuzijian.com/post/86955c3b-9635-47a0-890c-f1219a27c269.html1.Lambda表达式lambda表达式是Java8的重要更新,lambda表达式可以用更简洁的代码来创建一个只有一个抽象方法的接口(函数式接口)的实例,从而更简单的创建匿名内部类的对象。语法和......
  • 电脑分区怎么调整分区大小,方法详解
    调整电脑分区大小可以通过Windows内置的磁盘管理工具或第三方分区软件来实现。以下是使用这两种方法的详细步骤:一、使用Windows内置的磁盘管理工具打开磁盘管理工具:右键点击“我的电脑”或“此电脑”,选择“管理”。在左侧列表中点击“存储”下的“磁盘管理”。或者,按下Win......
  • 基于Java的宠物医院管理系统 毕业设计源码14635
    目 录1绪论1.1选题背景1.2研究现状1.3论文结构与章节安排2 宠物医院管理系统系统分析2.1可行性分析2.1.1技术可行性分析2.1.2 操作可行性分析2.1.3 法律可行性分析2.2系统功能分析2.2.1功能性分析2.2.2非功能性分析2.3 系统用例分析......
  • JAVA 策略模式
    策略模式(strategypattern)的原始定义是:定义一系列算法,将每一个算法封装起来,并使它们可以相互替换。策略模式让算法可以独立于使用它的客户端而变化。不同国家发送短信验证码算法不同例如中国和哈萨克斯坦的短信模版、使用系统、签名不同策略模式实现策略模式的本质是通过Conte......
  • java基础Day6 java数组
    一、数组的定义二、数组的声明和创建dataType[]arrayRefVar;//首选方法dataTypearrayRefVar[];//效果相同,但不是首选方法int[]nums;//声明一个数组nums=newint[10];//创建一个数组//给数组元素赋值nums[0]=1;nums[1]=2;nums[2]=3;nums[3]=4;nums[4]=......