JAVA基础教程DAY1-类与方法及形参实参

首先经过C语言的学习,我们已经学会了基本的编程方法,我们知道C语言是面向过程的编程语言,而JAVA是面向对象的编程语言,所以接下来我们通过对比和举例来进行JAVA语言的学习

首先我们来讲类的概念

  • :类是一个模板,它描述一类对象的行为和状态。

在日常的生活当中,我们把具有相同属性和行为的一类群体称之为
例如:有一个学生叫小明,他具有年龄,性别,学号,姓名的属性和吃东西的行为,另一名学生叫做小方,他也具有年龄,性别,学号,姓名等属性,吃东西的行为,所以我们可以将这些共有的属性和行为提取出来,形成一个类,例如学生类(class),而小明,小方则是此类当中的一个对象(object)

  • 对象:对象是类的一个实例,有状态和行为。例如,一个学生是一个对象,它的状态有:姓名,学号;行为有:吃东西等。

接下里我们通过c语言的自定义函数来横向对比学习JAVA当中的方法

#include <stdio.h>int add(int a,int b){return a+b;
}int main(){int n1=3,n2=2;int n=add(n1,n2);printf("%d",n);return 0;
} 

上图是一个c语言当中的经典的自定义函数,我们来看,第三行自定义一个函数add,返回参数a与b的和,在下面主函数当中,把这个add函数调用,实现n1和n2数值的相加。

方法的概念、作用
方法(method),又称函数(function),代表一段“独立的”“可复用”的“功能”代码。
作用:封装了一个功能代码,减少了代码的冗余。

public class Demo {public static int add(int a, int b){return a+b;}public static void main(String[] args){int n1=3,n2=2;int n=add(n1,n2);System.out.println(n);}
}

上图是java当中的方法的写法,与c语言也是对应的,我们首先在测试类当中,定义一个add方法,之后再后面的主方法当中调用它,实现两个数的相加

【修饰符】 返回值类型 方法名(【形参列表】){方法体语句
}

方法必须先声明再使用
方法调用一次执行一次,不调用不执行
记住:Java程序的入口是main方法

形参实参

接下来我们来讲的是方法当中的形参和实参,我们看上面add方法后的括号当中,定义了一个整形变量a和b,在接下来一行中,我们把a和b的值相加并由return返回这个值,这个a和b,我们称之为形参,顾名思义是一个形式的参数,它的作用就是使得预先设定好在方法当中,调入的值该如何处理;而在主方法当中,我们调用add方法后面参数的n1和n2则是实参,同样的它们是实际的参数,真正具有值的变量,这条语句的作用就是将实际的值放到我们设定好的方法当中执行。打个比方,客户要求你做一个儿童滑梯(方法)让两个小孩子按照规定路线滑下去,你建好了滑梯,两个小孩子从滑梯上滑下来完成了需求,滑梯就是形参(预先规定好的路线),小孩子就是实参(实际存在的值,需要方法来实现运算)。

public class Demo {public static int add(int a, int b){return a+b;}public static void main(String[] args){int n1=3,n2=2;int n=add(n1,n2);System.out.println(n);}}

在以上Java代码当中 n1,n2在主函数当中,是实参,在方法add当中的a,b是形参。 

类的使用

我们将有共同属性的对象抽象为一个学生类,在学生类当中,有学号、姓名等属性,类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型(它属于引用数据类型),它是对所具有相同特征实体的抽象。

类当中有
1.属性 (成员变量) ;
2.行为 (成员方法(函数)) ;

在 Java 中定义类,使用关键字 class 完成。语法如下:

权限修饰符 class 类名称 {属性 (成员变量) ;行为 (成员方法(函数)) ;
}

例如:定义一个人类class 

public class Person {// 属性 (成员变量) ;// 行为 (成员方法(函数)) ;
}

public 表示“共有”的意思。如果使用 public 修饰,则可以被其他类和程序访问。每个 Java 程序的主类都必须是 public 类。

变量

在 Java 中类的成员变量定义了类的属性。例如,一个人类中一般有体重、性别和年龄等属性,这时就需要定义体重、性别和年龄 3 个属性。

  • 局部变量:在类的方法中定义的变量,且只能在该方法中使用,我们之前学习的变量都是局部变量;定义以后必须赋值才能使用;

  • 成员变量:也称为实例变量,它的定义在方法的外部,直接写在类当中;随着对象创建而诞生,随着对象被垃圾回收而消失;如果是对某个对象的特殊描述,可以用该变量;定义时如果不赋值的话,会采用默认初始值;

  • 静态变量:也称为类变量,实质上是一个全局变量。它的定义在方法的外部,直接写在类当中,与类共存亡,它用 static 修饰,如果某个内容是被所有对象所共享,那么该内容就应该用 static 修饰;定义时如果不赋值的话,会采用默认初始值。

    public class Demo {static int a;     // 类变量int b;     // 实例变量public static void main(String[] args) {int c;     // 局部变量}
    }
    成员方法
  • 在 Java 中类的成员方法定义了类的行为。例如,一般人会有吃饭、睡觉和玩等行为,在定义人的类时,就需要定义吃饭、睡觉和玩 3 个方法。

  • 类的各种功能操作都是用方法来实现的,属性只不过提供了相应的数据。一个完整的方法通常包括方法名称、方法主体、方法参数和方法返回值类型。

    成员方法的声明语法:

  • [权限修饰符] 返回值类型 方法名([参数类型 参数名]) {// 方法体// 返回值
    }

    返回值类型:我们之前学到的八种基本类型和 void 都可以用来做方法的返回值类型。要注意的是 void 表示没有返回值,所以不需要写返回值语句,而其他类型都需要返回一个该类型的值。

    返回值语句:

    return 返回的值;
  • 参数类型 参数名:可以有多个,这些参数都要有自己的数据类型,可以是原始数据类型,也可以是复杂数据类型,一个方法主要依靠参数来传递消息。方法主体是方法中执行功能操作的语句。

现在我们已经学会了如何建立一个类 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/39412.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu开通5005端口 记录

Ubuntu版本&#xff1a;20.04 使用systemctl status firewalld查看防火墙状态&#xff0c;报错Unit firewalld.service could not be found 报错的原因是没有安装firewall&#xff0c;安装命令为sudo apt install firewalld&#xff0c;然后进行安装 安装完成后输入systemctl…

vscode jupyter选择Python环境时找不到我安装的Python

在一些情况下&#xff0c;我们需要自己安装一个Python&#xff0c;在选择内核是可能找不到指定的Python版本&#xff0c; 再次打开内核选择页面就能看到Python环境了 注意先到指定环境下安装依赖包&#xff1a; ./python3 pip install ipykernel notebook jupyter

人工智能-NLP简单知识汇总01

人工智能-NLP简单知识汇总01 1.1自然语言处理的基本概念 自然语言处理难点&#xff1a; 语音歧义句子切分歧义词义歧义结构歧义代指歧义省略歧义语用歧义 总而言之&#xff1a;&#xff01;&#xff01;语言无处不歧义 1.2自然语言处理的基本范式 1.2.1基于规则的方法 通…

[DataWhale大模型应用开发]学习笔记1-尝试搭建向量数据库

1.词向量 1.定义 词向量&#xff08;Word Vector&#xff09;是将单词表示为向量形式的技术&#xff0c;是自然语言处理&#xff08;NLP&#xff09;中的一种常用方法。通过将单词转化为向量&#xff0c;计算机能够更好地理解和处理语言。简单来说&#xff0c;词向量就是将单…

Windows系统安装NVM,实现Node.js多版本管理

目录 一、前言 二、NVM简介 三、准备工作 1、卸载Node 2、创建文件夹 四、下载NVM 五、安装NVM 六、使用NVM 1、NVM常用操作命令 2、查看NVM版本信息 3、查看Node.js版本列表&#xff1b; 4、下载指定版本Node.js 5、使用指定版本Node.js 6、查看已安装Node.js列…

深度学习赋能数据分析,联蔚盘云引领业务革新

一、引言 随着大数据时代的到来&#xff0c;深度学习技术正逐渐成为企业数据分析的新引擎。联蔚盘云凭借其在深度学习领域的深厚积累&#xff0c;为企业提供高效、精准的数据分析解决方案&#xff0c;助力企业实现业务革新与增长。 二、深度学习与数据分析的完美结合 联蔚盘…

【区块链+基础设施】国家健康医疗大数据科创平台 | FISCO BCOS应用案例

在医疗领域&#xff0c;疾病数据合法合规共享是亟待解决的难题。一方面&#xff0c;当一家医院对患者实施治疗后&#xff0c;若患者转到其 他医院就医&#xff0c;该医院就无法判断诊疗手段是否有效。另一方面&#xff0c;医疗数据属于个人敏感数据&#xff0c;一旦被泄露或被恶…

一个能让渲染性能提高100倍的办法

GPU 光线追踪是当今的热门话题&#xff0c;所以让我们来谈谈它&#xff01;今天我们将光线追踪一个单个球体。 使用片段着色器。 是的&#xff0c;我知道。并不特别花哨。你可以在 Shadertoy 上搜索并获得数百个示例(https://www.shadertoy.com/results?querysphere)。甚至已…

在 Excel 中的单元格内开始一行新文本

若要在工作表单元格中开始一行新的文本或在文本的行或段之间添加间距&#xff0c;请按 AltEnter 插入换行符。 双击要插入换行符的单元格。 单击所选单元格内想换行的位置。 按 AltEnter 插入换行符。

自研直播系统-直播系统实战

文章目录 1 流媒体基础本文教程下载地址1.1 流媒体1.2 流式传输方式1.2.1 顺序流式传输1.2.2 实时流式传输 1.3 流媒体传输协议1.3.1 rtmp协议1.3.2 HLS协议1.3.3 RTSP协议1.3.4 视频流的对比 1.4 视频编码(codec)1.5 分辨率的规范分辨率簡介&#xff1a;1.5.2 分辨率單位 1.6 …

聊聊etsy平台,一个年入百万的项目

聊聊etsy平台&#xff0c;一个年入百万的项目 什么是etsy,这是怎样一个平台&#xff0c;怎样盈利的&#xff1f;相信现在大家满脑子都是这些疑问。 这个平台也是无意间一个学员提到的&#xff0c;据说他朋友靠这个平台年赚好几百万。苦于门槛太高&#xff0c;他也做不了。今天…

重磅发布|WAIC 2024最新活动日程安排完整发布!

WAIC 2024 将于 7 月在上海世博中心和世博展览馆举行&#xff0c;论坛时间为 7 月 4 日至 6 日&#xff0c;展览时间为 7 月 4 日至 7 日。会议涵盖 AI 伦理治理、大模型、具身智能、投融资、教育人才等重点话题&#xff0c;体现 AI 向善等价值导向&#xff0c;9 位大奖得主和 …

Inscription Alliance的Denim协议发行首个聚合跨链铭文BTIA,计划参与Mint注册量达15万

官方消息&#xff0c;由Inscription Alliance自主研发的创新性Denim协议发行首个聚合跨链铭文BTIA&#xff0c;并将于2024年7月19日公开Mint。Denim协议旨在解决当下铭文赛道流动性和互通性不足的痛点&#xff0c;基于该协议搭建的Denim Swap可以实现聚合各项协议和各条公链的彼…

数据结构常见图算法

深度优先搜索 时间复杂度 领接矩阵表示 O( n2) 领接表表示 O(n+e) 空间复杂度 O(e) DFS与回溯法类似,一条路径走到底后需要返回上一步,搜索第二条路径。在树的遍历中,首先一直访问到最深的节点,然后回溯到它的父节点,遍历另一条路径,直到遍历完所有节点…

代码随想录(回溯)

组合&#xff08;Leetcode77&#xff09; 思路 用递归每次遍历从1-n得数&#xff0c;然后list来记录是不是组合到k个了&#xff0c;然后这个每次for循环的开始不能和上一个值的开始重复&#xff0c;所以设置个遍历开始索引startindex class Solution {static List<List<…

荣耀大横评,睿蓝7-450荣耀版卷出来的性价比之王

手握11万左右预算,如何在市场内选出一辆合适自己的车?荣耀版车型无疑是当下的最佳答案。在众多荣耀版车型中,比亚迪宋PLUS荣耀版EV520km领先型(后统称宋PLUS荣耀版)、比亚迪元PLUS荣耀版430km领先型(后统称元PLUS荣耀版)、比亚迪海豚PLUS荣耀版420km时尚版(后统称海豚荣耀版)、…

中英双语介绍美国的州:南卡罗来纳州(South Carolina)

中文版 南卡罗来纳州简介 南卡罗来纳州&#xff08;South Carolina&#xff09;位于美国东南部&#xff0c;是一个以其丰富的历史、自然美景和多样化的经济而闻名的州。以下是对南卡罗来纳州的详细介绍&#xff0c;包括其地理位置、人口、经济、教育、文化和主要城市等。 地…

【CSAPP】-binarybomb实验

目录 实验目的与要求 实验原理与内容 实验设备与软件环境 实验过程与结果&#xff08;可贴图&#xff09; 操作异常问题与解决方案 实验总结 实验目的与要求 1. 增强学生对于程序的机器级表示、汇编语言、调试器和逆向工程等方面原理与技能的掌握。 2. 掌握使用gdb调试器…

Python学习篇:PyCharm的基本使用教程(二)

目录 1 前言 2 创建Python项目 3 创建Python文件 4 编写 Hello World 并运行 5 PyCharm界面简介 1 前言 PyCharm的使用贯穿整个Python的学习&#xff0c;所以单独拿出来出教程不合适&#xff0c;说多了对于新手来说也还是不明白&#xff0c;这里我们先从学习开始前大家需…

【基础算法总结】分治—快排

分治—快排 1.分治2.颜色分类3.排序数组4.数组中的第K个最大元素5.库存管理 III 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&#xff0c;我们一起努力吧!&#x1f603;&#x1f603; 1.分治 分治…