首页 > 编程语言 >Java学习笔记——第五天

Java学习笔记——第五天

时间:2024-03-04 13:57:05浏览次数:25  
标签:调用 Java 形参 笔记 return 类型 返回值 第五天 方法

方法

什么是方法

  • 方法是一种语法结构,它可以把一段代码封装成一个功能,以便重复调用。

  • 定义方法时可以指定形参,形参没有实际意义,仅仅起到占位和提示实参种类的作用,名字要有意义。

  • 调用方法时可以指定实参,实参由实际意义,是方法运行时事实上使用的数值。

  • return关键字可以用来返回变量或字面量到方法外部,程序一旦执行到return所在行,就会立即结束并跳出该方法的执行,不会再执行之后的代码。

为什么要使用方法

提高代码的复用性,提高开发效率,使程序逻辑更清晰。

方法的完整格式

修饰符 返回值类型 方法名(形参列表) {
    方法体代码(需要执行的功能代码);
    return 与返回值类型相同的变量或字面量;
}
  • 若方法申明了具体的返回值类型,则其内部必须使用return返回对应类型的数据。
  • 形参列表可以有多个形参,甚至可以没有。 如果有多个形参,多个形参之间必须用“, ”隔开,且不能给初始化值。

方法的其他格式

无参数方法

没有形参列表的方法。

修饰符 返回值类型 方法名() {
    方法体代码(需要执行的功能代码);
    return 与返回值类型相同的变量或字面量;
}
  • 方法如果不需要接收数据,则不需要定义形参,且调用方法时也不可以传数据给方法了。

无返回值方法

没有返回值的方法。

修饰符 void 方法名(形参列表) {
    方法体代码(需要执行的功能代码);
    return; //可以单独使用return来结束并跳出方法
}
  • 如果方法不需要返回数据,返回值类型必须申明成void(无返回值申明), 此时方法内部不可以使用return返回数据。

无参数且无返回值的方法

既没有形参列表,有没有返回值的方法。

修饰符 void 方法名() {
    方法体代码(需要执行的功能代码);
    return; //可以单独使用return来结束并跳出方法
}

方法如何执行

方法定义后,必须调用才可以执行,调用格式为:

方法名(实参列表);
  • Debug时可以进入方法内部。

方法使用时的常见问题

  • 方法在类中的位置放前放后无所谓,但一个方法不能定义在另一个方法里面。

  • 方法的返回值类型写void(无返回申明)时,方法内不能使用return返回数据,如果方法的返回值类型写了具体类型,方法内部则必须使用return返回对应类型的数据。

  • return语句的下面,不能编写代码,属于无效的代码,执行不到这儿。

  • 方法不调用就不会执行, 调用方法时,传给方法的数据,必须严格匹配方法的参数情况。

  • 调用有返回值的方法,有3种方式:

    • 1、可以定义变量接收结果:

      int a = method();
      
    • 2、或者直接输出调用:

      System.out.println(method());
      
    • 3、甚至直接调用;

      method();
      
  • 调用无返回值的方法,只有1种方式:直接调用:

    method();
    

选择方法的种类

  • 若方法不需要接收数据进行处理,则选择无参数方法,否则选择有参数方法。
  • 若方法不需要返回数据,则选择无返回值方法,否则选择有返回值方法。
  • 按照方法要处理的业务灵活选择。

方法的执行原理

方法被调用的时候,是进入到栈内存中运行的。

栈的特点

  • 先进后出。

  • 用完即扔

为什么方法要在栈中运行

  • 保证一个方法调用完另一个方法后,可以回来。

  • 及时回收内存,防止栈内存溢出。

Java的参数传递机制

值传递

  • 值传递:在传输实参给方法的形参的时候,传输的是实参变量中存储的值的副本。

  • Java的参数传递机制都是值传递。

基本类型的参数传递

基本类型的参数传输存储的数据值。

引用类型的参数传递

引用类型的参数传输存储的地址值。

方法重载

什么是方法重载

一个类中,出现多个方法的名称相同,但是它们的形参列表是不同的,那么这些方法就称为方法重载了。

方法重载的注意事项

  • 一个类中,只要一些方法的名称相同且形参列表不同,那么它们就是方法重载了,其它的都不管(如:修饰符,返回值类型是否一样都无所谓)。
  • 形参列表不同指的是:形参的个数、类型、顺序不同,不关心形参的名称。

方法重载的应用场景

开发中我们经常需要为处理一类业务,提供多种解决方案,此时用方法重载来设计是很合适的。

在方法中单独使用return关键字

“return;”可以用在无返回值的方法中,其作用是:立即结束并跳出当前方法的执行。

标签:调用,Java,形参,笔记,return,类型,返回值,第五天,方法
From: https://www.cnblogs.com/zgg1h/p/18051655

相关文章

  • java Object类
    javaObject类Object包含了9大常用方法:getClass()hashcode()toString()equals()finalize()notify()notifyAll()wait()clone()  一、toString()  方法摘要  publicStringtoString():返回该对象的字符串表示。  toString方法返回该对象的字符串表示,其实该字符串内......
  • 实现Java校验是否是金额的方法
    概述在Java中,校验是否是金额的方法通常需要考虑金额的格式和大小。下面我将介绍给你一个简单的实现方法,帮助你判断输入的字符串是否符合金额的格式。 流程首先,我们可以分为以下几个步骤来实现校验是否是金额的方法:判断字符串是否为null或空字符串判断字符串是否为合法的金额格......
  • 了解JavaScript 调用堆栈
    每个javascript执行环境都有一个调用堆栈。该调用堆栈用于跟踪函数调用。堆栈是一种后进先出(LIFO)的简单数据结构。我们可以从堆栈中取出的顶部元素是我们压入堆栈的最后一个元素。对于JavaScript调用堆栈,这些元素是函数引用。由于JavaScript是单线程的,因此只有一个堆......
  • 根据java已经定义好的Class生成DDL SQL
    packagecom.ai.exchange.generator;importcom.baomidou.mybatisplus.annotation.IdType;importcom.baomidou.mybatisplus.annotation.TableField;importcom.baomidou.mybatisplus.annotation.TableId;importcom.baomidou.mybatisplus.annotation.TableName;import......
  • 「Java开发指南」MyEclipse如何支持Spring Scaffolding?(四)
    在上文中主要为大家介绍了应用程序分层、代码助手等内容,本文将继续介绍SpringDSL模型等。MyEclipsev2023.1.2离线版下载MyEclipse技术交流群:742336981欢迎一起进群讨论5.SpringDSL模型支持Spring的MyEclipse还有一个特性,它是面向那些希望通过使用抽象层(模型驱动开发)来......
  • 3.4 STL 学习笔记一
    这是初次学习STL的相关知识。可能之后还会补充笔记。STL是提高C++编写效率的一个利器1.#includevector是变长数组,支持随机访问,不支持在任意位置O(1)插入。为了保证效率,元素的增删一般应该在末尾进行。1.1声明include//头文件vectora;//相当于一个长度变化的int数组......
  • Java编程的利器:Pair和Triple无缝解决多值返回问题,助力编写高效代码
    在实际编码中,经常会遇到一个方法需要返回多个值的情况,你编写一个方法,需要同时返回某个操作的结果和一些相关的附加信息。使用传统的方式,你可能需要创建一个包含这些信息的自定义类或者使用集合(如Map)来存储这些值。然而,这往往使得代码变得臃肿,而且对于调用方来说,理解和提取这些值......
  • Java 21 终于对这些功能动刀了!!
    来源:https://medium.com/@benweidig尽管Java是我使用过的向后兼容程度最高的语言和环境之一,但始终存在功能弃用甚至删除的可能性。Java21将弃用两个功能,这就是我们今天要讨论的内容。推荐一个开源免费的SpringBoot实战项目:https://github.com/javastacks/spring-boot-b......
  • "金三银四"挑战来袭:独家揭秘大厂Java面试真题,让你秒变求职战神!错过等一年!
    哈喽,欢迎来到【程序视点】,我是小二哥!前言随着"金三银四"求职高潮的到来,Java岗位的竞争变得前所未有的激烈。今天就给大家分享一份大厂Java面试真题!尤其是在目前的行业环境下,成千上万的开发者早就摩拳擦掌,投身于这场没有硝烟的竞争中了,但只有准备充足的人才能够脱颖而出,拿到心仪......
  • 「java.util.concurrent并发包」之 AQS
    AQS的原理是什么?AQS核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为锁定状态。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制,这个机制AQS是用CLH队列锁实现的,即将暂时获取不到锁的......