java 基础——函数(方法)

article/2025/8/23 7:13:47

函数基本定义、语法

首先我们先要了解什么是函数?

函数的定义:在类中,有特定功能的一段独立代码块

说人话:简单来说就是,在一个类(一个 .java 文件)里面,一段有自己存在的意义,有自己作用的独立代码

语法:

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

方法体

return 返回值;
}

这里引出了新的知识点: 修饰符

修饰符分为:访问控制修饰符 与 非访问控制修饰符

首先我们来看 访问控制修饰符

访问控制:顾名思义就是 控制访问,用来保护类,变量,方法和构造方法的访问,在java中,支持4中不用的访问权限

1.default: 默认,什么也不写,在同一个包内 可以访问 ,可以使用在:类, 接口,变量,方法

2.private: 私有的,在同一个类可见,可以使用在:变量、方法。 注意点:private 不能修饰类(外部类)

3.public : 公共的,对所有类可见,可以使用在:类,接口,方法,变量

4.protected: 对同一包内的类和所有子类可见, 可以用在:变量,方法。注意点:protected 不能修饰类(外部类)

例如:


public class ClassName {// ...
private boolean  testFlag;
static final double weeks = 1.0;
protected static final int TEST_ONE= 1;
public static void main(String[] arguments) { // 方法体}
}

接着我们来看 非控制修饰符

static : 表示静态,用来修饰类方法 和 类 变量

重点:被 static 修饰的方法跟类,可以直接通过 类名.方法 、类名.变量 访问

final : 被final 修饰的的类,不能被继承(后续面向对象会涉及),修饰的方法不能被继承类重新定义,修饰的变量为常量,不可修改

abstract : 用来创建抽象类 跟 抽象方法 (面向对象)

synchronized 和 volatile 主要用于线程编程 (java高级部分)

接着 我们回到 主题 :函数

通过 上面 我们已经了解到函数 的修饰符

函数其实也分为 有返回值函数 ,无返回值函数

有返回值函数 :有返回类型 ,简单来说就是一个方法 执行什么功能,有一个结果,把这个功能返回给调用方,用return xxx ,return 后面跟 返回值类型 同 类型 的结果

下面是有返回值函数的图解
在这里插入图片描述
无返回值函数 返回值类型 用 void ,简单来说 就是一个方法,执行一个功能,这个功能在这个方法内进行消化,不返回给调用方,没有return

下面是无返回值函数的图解

在这里插入图片描述

函数的调用

我们已经学习到了 什么是函数,函数的语法 以及 有返回值函数 与 无返回值 函数的定义

那么 ?函数该如何调用呢 ?

首先我们要知道

有返回值函数,被调用,返回的结果是一个值,至于这个值是什么类型,将由被调用(函数的返回值类型)方来决定

无返回值函数,也就是没有返回值了,一定是一条语句

来看一个简单例子:

比较两个数的大小,取最大的值,有返回值调用

   public static void main(String[] args) {Integer method = getMethod(3, 21);System.out.println(method);}/***  这是一个比较 两个数大小的函数 ,返回最大的值* @param x* @param y* @return*/public  static  int   getMethod (Integer x ,Integer y) {int  result;if (x > y) {result = x;} else {result =y;}return result;}

执行结果:21

解析 :主函数 调用 getMethod 方法 ,并且传参数 3 跟 21 ,获取最大的值,从代码中可以看到 返回值类型 是整形 int ,因此 调用函数返回值的类型 也为 int ,打印输出为 21

比较两个数的大小,取最大的值,无返回值调用

 public static void main(String[] args) {getMethod(3, 21);}/***   无返回值函数* @param x* @param y*/public  static  void   getMethod(Integer x ,Integer y) {// 比较两个数的大小, 获取两个数最大的值int  result;if (x > y) {result = x;} else {result =y;}System.out.println(result);}

执行结果为:21

解析:主函数调用无返回值函数 getMethod, 并且传参 3,21 ,无返回值函数进行内部 打印结果,因此,主函数并没有返回值,仅仅是 一行代码

写在最后 :

以上便是java 函数的全部内容了 , 欢迎关注公众号,每天一篇java小资讯~ ,打开微信扫一扫,或搜索【java资讯】

在这里插入图片描述


http://chatgpt.dhexx.cn/article/kboD9r7o.shtml

相关文章

云上见!操作系统开源社区重磅发布!

凌云时刻 极鲜速递 导读:2020 云栖大会「系统软件开源及生态专场」聚焦云时代系统软件技术的发展及开源生态面临的机遇和挑战,并将进行操作系统开源社区的重磅发布。 作者 | 阿里云操作系统来源 | 云巅论剑 2020 云栖大会将在 9 月 17 日 — 9 月 18 日…

万字干货:阿里巴巴是怎么做大数据算法应用测试的? | 凌云时刻

凌云时刻 洞见 导读:随着最近几年数据计算力与机器智能算法的兴起,大数据应用在各个行业也不断涌现。测试技术作为工程技术的一部分,也在同步演进。在 DT 时代,如何测试和保障一个基于大数据的应用的软件质量,成为测试…

在中国在行其道的智慧城市,为何折戟多伦多? | 凌云时刻

凌云时刻 洞见 导读:谷歌的母公司Alphabet于2017年开始,致力于将多伦多的Quayside社区改造成未来主义社区,承诺投入超过5000万美元用于使用技术减少交通拥放和垃圾填埋场。但是由于数据隐私问题,该计划迅速引发了争议&#xff0c…

应云而生,原力觉醒——解读云原生基础设施 | 凌云时刻

凌云时刻 极鲜速递 导读:云原生是云计算领域的热点之一。就像 “一千个人眼里有一千个哈姆雷特”,大家对"云原生"的定义也见仁见智。本文将介绍云原生应用架构和生命周期管理的进化方向。 作者 | 易立 来源 | 凌云时刻(微信号&…

从架构到代码:软件开发的七个新趋势 | 凌云时刻

凌云时刻 洞见 导读:本文根据阿里云原生团队资深技术专家陈立兵 (花名:雷卷)的直播整理而成,从领域驱动设计(DDD)、Reactive、Service Mesh和代码智能等几个方面展开,聊一聊他眼里的软件开发的发展趋势。 …

桌面版IDE将迎终结,Github发布代码空间Codespaces | 凌云时刻

凌云时刻 洞见 导读:2020年了,你拿啥写码呢? 作者 | 马超 来源 | 凌云时刻(微信号:linuxpk) Satellite 2020 5月7日,受疫情的影响,全球最大的开源社区GitHub也采用了线上的方式举办…

开源界也要封闭,OpenSource能否继续无国界 | 凌云时刻

凌云时刻 洞见 导读:开源已经站在了必须做转型的十字路口,问题是后面应该怎么走? 作者 | 马超 来源 | 凌云时刻(微信号:linuxpk) 写在前面 日前知名的云服务提供商HashiCorp在官网宣布:不允许中…

谁来帮帮只想救人的医生呢? | 凌云时刻

撰文| 哪嗒 编辑| 猛哥 图源| 网络及受访者 1 死人实在太多了。一个月内,贝加莫报纸刊登讣告的版面从 1 页半增加到 10 页。 贝加莫是意大利北部小城,距离米兰不到 50 公里,12 万人,却有8000 多人感染,其中四分之三的患…

三年磨一剑,钉的真好听 | 凌云时刻

“被选中,我也没办法”?事情没这么简单 作者|小沐 编辑|火柴Q 疫情期间,停课不停学,全国近3亿师生进行了一场在线教学大迁移。 相比2003年SARS爆发时,学生只能在家自学或看电视转播学习,如今“空中课堂”已…

​云原生:重新定义云时代的技术标准 | 凌云时刻

凌云时刻 洞见 导读:云计算、大数据、人工智能等新技术正迅速的改变着我们所处的时代,其巨大的影响力已经从量变到质变,数字化转型成为企业发展的必然选择。 作者 | 叔同 来源 | 凌云时刻(微信号:linuxpk)…

2020 有哪些不容错过的前端技术趋势? | 凌云时刻

凌云时刻 洞见 导读:2019 年的大前端热闹非凡,Serverless,Flutter,Vue3.0,桌面应用开发,小程序,WebAssembly 的火爆发展还是超乎我们预期,2020 的大前端又有哪些不容错过的技术趋势…

eBPF技术应用云原生网络实践:kubernetes网络 | 凌云时刻

凌云时刻 洞见 导读:eBPF起源于 Linux 网络子系统,由于其灵活性和高性能等特点,被迅速应用在不同领域。事实上网络领域中,eBPF由于其高性能支持更高的吞吐率、平均每GB带宽消耗更少的CPU等特性,已经逐渐成为网络领域中…

OpenAnolis社区致Linux开发者的一封信

凌云时刻 技术 导读:OpenAnolis社区官宣。 来源|OpenAnolis 亲爱的Linux开发者朋友们: 大家新年好! 今天,我们要给大家讲讲OpenAnolis的故事,她与每个Linux开发者都息息相关。OpenAnolis社区由阿里云于202…

云原生时代,消息中间件的演进路线 | 凌云时刻

凌云时刻 技术 导读:从虚拟化技术诞生以来,IaaS/PaaS/SaaS 概念陆续被提了出来,各种容器技术层出不穷。到 2015 年, Cloud Native 概念应运而生,一时间,各种云厂商,云服务以及云应用都加上了“…

Alibaba Cloud Linux 2 LTS OS 启动优化实践 | 凌云时刻

凌云时刻 技术 导读:Alibaba Cloud Linux 2 (原Aliyun Linux 2)是阿里云操作系统团队基于社区版 4.19 LTS 内核打造的一款针对云产品优化的下一代 Linux 操作系统发行版,不仅提供 Linux 社区的最新增强功能,也提供了云上最佳用户体验并针对阿…

云原生的What、Why、How | 凌云时刻

凌云时刻 洞见 导读:毋庸置疑,云计算的未来是云原生的。但是云原生到底是什么?在这场数字化转型的浪潮中,云原生扮演着什么角色?一千个人眼中,有一千个哈姆雷特。在本文中,从过去到未来&#x…

什么技术才值得你长期投入? | 凌云时刻

凌云时刻 洞见 导读:“每个人的时间都是有限的,在有限的时间里选择一项值得投入的技术会变得尤为重要。”那么,如何去选择一个值得投入的技术?一个值得长期投入的技术又具备哪些特性? 作者 | 简锋 来源 | 凌云时刻&am…

龙蜥社区首届理事大会圆满召开!14家理事代表出席

凌云时刻 编者按:2021年7月6日,OpenAnolis龙蜥社区成功召开首届理事大会,来自阿里云、统信软件、Intel、红旗软件、万里红、联通、电信云、移动云、龙芯、兆芯、飞腾、中科方德等14位家单位的理事代表出席。本次会议由龙蜥社区运营委员会主席…

SRS为何加入木兰社区孵化?

凌云时刻 SRS正式加入木兰开源社区孵化,我想很多朋友只是大概知道木兰社区是国家级的开源社区,是一件很值得荣耀的事情,其他的事情可能就了解不多了。 这次和大家分享下我对这个事情的理解和思考,如果有疑问欢迎评论区留言&#x…

陈绪:被疫情加速的云计算 | 凌云时刻

凌云时刻 导读:"疫情是云计算腾飞的一个推动力,只是突然而来的肺炎病毒,在给所有人带来损失的同时,也为云计算的生态格局创造了一个全新的变化。" 作者 | 陈绪 来源 | 凌云时刻(微信号:linuxpk…