Java基础的重点知识-03-方法与数组

2024-06-23 09:36

本文主要是介绍Java基础的重点知识-03-方法与数组,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 方法
  • 数组

方法

  1. 定义方法的格式详解
修饰符 返回值类型 方法名(参数列表){//代码省略...return 结果;
}
  • 修饰符: public static 固定写法
  • 返回值类型: 表示方法运行的结果的数据类型,方法执行后将结果返回到调用者
  • 参数列表:方法在运算过程中的未知数据,调用者调用方法时传递
  • return:将方法执行后的结果带给调用者,方法执行到 return ,整体方法运行结束
    注意:
    定义方法的时候必须要有俩个明确
  • 明确返回值类型:在下图代码中,getSum()方法所返回的是一个整型,表示我们也需要用整型的变量来接收数据。
  • 明确参数列表:方法中需要传递的是俩个整型的参数列表,表示当我们传递形参的时候也需要传递俩个整型的参数。
public class Method_Demo2 {public static void main(String[] args) {// 调用方法getSum,传递两个整数,这里传递的实际数据又称为实际参数// 并接收方法计算后的结果,返回值int sum = getSum(5, 6);System.out.println(sum);}/*定义计算两个整数和的方法返回值类型,计算结果是int参数:不确定数据求和,定义int参数.参数又称为形式参数*/public static int getSum(int a, int b) {return a + b;}
}

流程图解:
在这里插入图片描述

  1. 定义方法的注意事项
  • 定义位置,类中方法外面。
  • 返回值类型,必须要和 return 语句返回的类型相同,否则编译失败 。
  • 不能在 return 后面写代码, return 意味着方法结束,所有后面的代码永远不会执行,属于无效代码。
  1. 方法调用形式
  • 直接调用:直接写方法名调用
  • 赋值调用:调用方法,在方法前面定义变量,接收方法返回值
  • 输出语句调用:
  1. 方法重载
  • 方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。
  • 参数列表:个数不同,数据类型不同,顺序不同。
  • 重载方法调用:JVM通过方法的参数列表,调用不同的方法。
    典例:
    我们经常使用的System.out.println()方法就是通过方法重载的方式实现,因此我们就可以使用其输出不同数值类型的值
    代码举例说明:
public class Main {public static void introduceMyself(String name){System.out.println("我的名字是:" + name);}public static void introduceMyself(Integer age){System.out.println("年龄:" + age);}public static void introduceMyself(String name, int age){System.out.println("我的名字是:" + name + ",年龄:" + age);}public static void introduceMyself(int age , String name){System.out.println("我的名字是:" + name + ",年龄:" + age);}public static void main(String[] args) {introduceMyself("小明");introduceMyself(18);introduceMyself("小明", 18);introduceMyself(18, "小明");}
}

在这里插入图片描述

数组

数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。

  1. 数组的定义
  • 数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度];
    数组定义格式详解:

    • 数组存储的数据类型: 创建的数组容器可以存储什么数据类型。
    • [] : 表示数组。
    • 数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组。
    • new:关键字,创建数组使用的关键字。
    • 数组存储的数据类型: 创建的数组容器可以存储什么数据类型。
    • [长度]:数组的长度,表示数组容器中可以存储多少个元素。
      注意:数组有定长特性,长度一旦指定,不可更改。
  • 数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3…};

  • 数据类型[] 数组名 = {元素1,元素2,元素3…};

  1. 数组的访问
  • 索引: 每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。
  • 数组的长度属性: 每个数组都具有长度,而且是固定的,Java中赋予了数组的一个属性,可以获取到数组的长度,语句为: 数组名.length

示例代码:

public class Main {public static void main(String[] args) {int[] array = {1,2,3,4,5};for (int i = 0; i < array.length ; i++){System.out.println(array[i]);}}
}

从代码中,我们可以看到,我们可以通过定义数组的方式三来快速定义一个数组容器,并且通过循环语句对数组进行遍历,因为我们可以通过数组名.length来获取数组的长度,所以我们知道该循环的次数,因此我们可以直接通过for循环来遍历数组元素。

  1. 数组原理内存图
    内存是计算机中的重要原件,临时存储区域,作用是运行程序。我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的,必须放进内存中才能运行,运行完毕后会清空内存。
  • Java虚拟机的内存划分
区域名称作用
寄存器给CPU使用,和我们开发无关。
本地方法栈JVM在使用操作系统功能的时候使用,和我们开发无关。
方法区存储可以运行的class文件。
堆内存存储对象或者数组,new来创建的,都存储在堆内存。
方法栈方法运行时使用的内存,比如main方法运行,进入方法栈中执行。
  1. 数组在内存中的存储
  • 创建一个数组时
    在这里插入图片描述
  • 创建俩个数组时
    在这里插入图片描述
    在这里插入图片描述
  • 两个变量指向一个数组
    在这里插入图片描述
    这里我们可以看到,当我们初始化一个int类型的数组时,该数组中的值全默认为0,别的数据类型也相同,然后我们对数组进行了赋值处理,我们将该数据的内存地址赋值给了另外一个数组,此时arr2的内存地址也是OX1A这时,我们对arr2进行赋值时,会影响到内存地址中的值,这是典型的引用传递。
  1. 数组作为方法参数和返回值
  • 数组作为方法参数传递,传递的参数是数组内存的地址。
  • 数组作为方法的返回值,返回的是数组的内存地址

注意:
当涉及到内存地址传递的时候,就要考虑到值的改变了,变量被赋值为了内存地址的时候,修改该地址中的值也会影响原来变量中的值。

欢迎jjava热爱者了解文章,作者将会持续更新中,期待各位友友的关注和收藏。。。

这篇关于Java基础的重点知识-03-方法与数组的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1086781

相关文章

问题:第一次世界大战的起止时间是 #其他#学习方法#微信

问题:第一次世界大战的起止时间是 A.1913 ~1918 年 B.1913 ~1918 年 C.1914 ~1918 年 D.1914 ~1919 年 参考答案如图所示

Java五子棋之坐标校正

上篇针对了Java项目中的解构思维,在这篇内容中我们不妨从整体项目中拆解拿出一个非常重要的五子棋逻辑实现:坐标校正,我们如何使漫无目的鼠标点击变得有序化和可控化呢? 目录 一、从鼠标监听到获取坐标 1.MouseListener和MouseAdapter 2.mousePressed方法 二、坐标校正的具体实现方法 1.关于fillOval方法 2.坐标获取 3.坐标转换 4.坐

Spring Cloud:构建分布式系统的利器

引言 在当今的云计算和微服务架构时代,构建高效、可靠的分布式系统成为软件开发的重要任务。Spring Cloud 提供了一套完整的解决方案,帮助开发者快速构建分布式系统中的一些常见模式(例如配置管理、服务发现、断路器等)。本文将探讨 Spring Cloud 的定义、核心组件、应用场景以及未来的发展趋势。 什么是 Spring Cloud Spring Cloud 是一个基于 Spring

[word] word设置上标快捷键 #学习方法#其他#媒体

word设置上标快捷键 办公中,少不了使用word,这个是大家必备的软件,今天给大家分享word设置上标快捷键,希望在办公中能帮到您! 1、添加上标 在录入一些公式,或者是化学产品时,需要添加上标内容,按下快捷键Ctrl+shift++就能将需要的内容设置为上标符号。 word设置上标快捷键的方法就是以上内容了,需要的小伙伴都可以试一试呢!

RedHat运维-Linux文本操作基础-AWK进阶

你不用整理,跟着敲一遍,有个印象,然后把它保存到本地,以后要用再去看,如果有了新东西,你自个再添加。这是我参考牛客上的shell编程专项题,只不过换成了问答的方式而已。不用背,就算是我自己亲自敲,我现在好多也记不住。 1. 输出nowcoder.txt文件第5行的内容 2. 输出nowcoder.txt文件第6行的内容 3. 输出nowcoder.txt文件第7行的内容 4. 输出nowcode

Javascript高级程序设计(第四版)--学习记录之变量、内存

原始值与引用值 原始值:简单的数据即基础数据类型,按值访问。 引用值:由多个值构成的对象即复杂数据类型,按引用访问。 动态属性 对于引用值而言,可以随时添加、修改和删除其属性和方法。 let person = new Object();person.name = 'Jason';person.age = 42;console.log(person.name,person.age);//'J

java8的新特性之一(Java Lambda表达式)

1:Java8的新特性 Lambda 表达式: 允许以更简洁的方式表示匿名函数(或称为闭包)。可以将Lambda表达式作为参数传递给方法或赋值给函数式接口类型的变量。 Stream API: 提供了一种处理集合数据的流式处理方式,支持函数式编程风格。 允许以声明性方式处理数据集合(如List、Set等)。提供了一系列操作,如map、filter、reduce等,以支持复杂的查询和转

大学湖北中医药大学法医学试题及答案,分享几个实用搜题和学习工具 #微信#学习方法#职场发展

今天分享拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式,可以快速查找问题解析,加深对题目答案的理解。 1.快练题 这是一个网站 找题的网站海量题库,在线搜题,快速刷题~为您提供百万优质题库,直接搜索题库名称,支持多种刷题模式:顺序练习、语音听题、本地搜题、顺序阅读、模拟考试、组卷考试、赶快下载吧! 2.彩虹搜题 这是个老公众号了 支持手写输入,截图搜题,详细步骤,解题必备

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

Java面试八股之怎么通过Java程序判断JVM是32位还是64位

怎么通过Java程序判断JVM是32位还是64位 可以通过Java程序内部检查系统属性来判断当前运行的JVM是32位还是64位。以下是一个简单的方法: public class JvmBitCheck {public static void main(String[] args) {String arch = System.getProperty("os.arch");String dataM