首页 > 编程语言 >Java基础知识分享(二)

Java基础知识分享(二)

时间:2024-07-30 21:07:08浏览次数:8  
标签:Java 数据类型 基础知识 数组名 参数 数组 返回值 分享 方法

写在前面

昨天给了十题编程题,如果你能有思路很快速地完成它,说明你的Java数据类型、运算符、选择语句、循环语句部分的基础知识很好,接下来就来看看后面的方法、数组以及他们在JVM中的内存划分知识吧!

方法

语句定义格式:

修饰符 返回值类型 方法名(参数类型 参数名,参数类型 参数名,......)
{
方法体;
return 返回值;
}

使用通俗一点的语言就是说,Java中定义一个方法需要指定修饰符、返回值类型(如果是空类型则写void)、方法的名字以及后面使用小括号将一个参数列表括起来,最后使用一个大括号,在里面写上方法体和return返回值。

这里的修饰符就像是public、static等修饰方法的符号,每种都有自己特殊的含义。返回值类型就是像int、String、int[][]等Java中的数据类型,也是后面return需要返回值的数据类型。方法名字自己可以取,但最好是见名知意,方法在命名时建议使用小写字母组成的单词或字符串,如果有两个及两个以上单词组合建议使用驼峰法命名,与类名区分。参数列表指的是参数的数据类型和参数的个数,比如这样定义(int a , int b)也就意味着这个方法里面有两个参数,并且这两个参数的类型都是int类型的,传入的参数也只能是int类型的参数,当然,参数可以没有也可以有很多,所以说是一个列表。最后就是方法体了,这个是方法最核心的部分,也是实现功能编写代码的地方,需要自行编写,如果有返回值,前面的返回值数据类型一定要一致,没有返回值也要在开头的返回值类型写void,不然会在运行时报错。

方法中的一些注意事项:

1、修饰符,第一次学的话,默认使用public static。
2、方法和方法是平级关系,不能嵌套定义的。
3、方法不调用不执行。
4、方法调用的时候,只需要传值就可以。
5、参数分为形式参数(方法定义小括号中的参数)和实际参数(实际调用时传入的值)。
6、若一个方法没有返回值,那么它的返回值类型是void。
7、若一个方法没有返回值,return可以省略不写。
8、若方法有返回值,那么方法内部必须要有一个return生效。

数组

数组的概述:数组是一块连续固定大小的内存空间

特点:

1、一旦创建,大小固定。
2、同一个数组、元素的数据类型是一样的。
3、具有索引下标的概念,将来可以通过索引获取元素。
4、数据查询快,增删慢。

一维数组

定义语句:数据类型[] 数组名;

初始化:
静态初始化
	数据类型[] 数组名= new 数据类型[]{元素1,元素2,....};
	或 数据类型[] 数组名= {元素1,元素2,....};

动态初始化
	数据类型[] 数组名= new 数据类型[元素的个数];

二维数组

定义语句:数据类型[][] 数组名;

初始化:
静态初始化:
	数据类型[][] 数组名= new 数据类型[][]{{2,3,4},{2,3,4}};
	或 数据类型[][] 数组名={{2,3,4},{2,3,4}};

动态初始化:
	数据类型[][] 数组名= new 数据类型[二维数组中一维数组的个数][每个一维数组中的元素个数];

数组获取长度的属性

使用属性length
使用的方式:数组名.length

可能会有很多人不清楚这个二维数组是个什么样的,可以看下面这个图有助于理解:

也就是说,定义的二维数组里面,不一定要像矩形一样,每个位置都有值。

数组在JVM中的内存划分

如图所示:

下面我就来解释一下这个图中的意思。

我们先来看代码部分,首先定义并创建了两个字符类型的一维数组,长度固定都是5,这个时候看图里的栈中的main里面会有两个字符数组arr1和arr2被定义,再看堆内存里的两个数组,下标都是从0开始的,里面都被系统进行了初始化赋值,因为是字符类型,所以都是'\u0000',这个就是系统进行赋值的默认值,就像int类型会默认赋值为0一样。

我们再继续看代码,打印了两个数组的地址,地址就是图中标红的一串16进制编码,它是这两个数组在内存中的具体位置。之后进行了两种赋值,一种是动态for循环赋值,因为a的阿斯克码为97,所以就直接i递增把值赋给每个数组的第i+1个位置就行了,第二种则是直接写死,最后使用一个方法打印出来就有了两个数组的具体内容。在内存中就是,把对应地址的内容分别改成a到e和f到j,可以看到,在栈中的main里,两个数组都是指向自己数组对应的地址的,所以我在赋值的时候,系统就会分别找到其地址并进行相应的赋值。

最后,再说说方法。方法其实很简单,就是打印一个一维的字符数组,不过是以类似[a,b,c,d,e]的格式打印出来而已,也是进行了方法调用,不用的话需要写两遍这个打印,体现了使用方法的便捷。具体实现细节可以看代码,有不清楚的可以在下面评论!欢迎指正批评!

标签:Java,数据类型,基础知识,数组名,参数,数组,返回值,分享,方法
From: https://www.cnblogs.com/cjybigdatablog/p/18333238

相关文章

  • 项目比赛经验分享:如何抓住“黄金一分钟”
    项目比赛经验分享:如何抓住“黄金一分钟”前言引起注意:用事实和故事开场明确痛点:描述问题和影响介绍解决方案:简明扼要激发兴趣:使用视觉辅助概述演讲结构:清晰的路线图我的开场白示例结语前言  在创新的舞台上,每一次亮相都是一次展示团队智慧和项目潜力的机会。项目比......
  • 项目比赛经验分享:如何让即兴发言出彩
    项目比赛经验分享:如何让即兴发言出彩前言1.顺势趁便法2.词语撮要法3.起承转合法4.数字串连法结语  在项目管理和比赛的激烈竞争中,即兴发言往往成为展示个人魅力和团队精神的重要环节。如何在短时间内组织语言,表达清晰、有力的观点,是许多项目负责人面临的一大挑......
  • [Java基础]值传递
    Java值传递详解开始之前,我们先来搞懂下面这两个概念:形参&实参值传递&引用传递形参&实参方法的定义可能会用到参数(有参的方法),参数在程序语言中分为:实参(实际参数,Arguments):用于传递给函数/方法的参数,必须有确定的值。形参(形式参数,Parameters):用于定义函数/方法,接收实参,不需要......
  • java基础题(附答案)(第二天的知识点预热)
    一、填空题Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字。Java中整型变量有byte、short、int和long四种,不同类型的整数变量在内存中分配的字节数不同,数值范围也不同。对于int型变量,内存分配4个字节。在Java中浮点型变量有fl......
  • java牛马之路22-Listener监听器
    监听器概念监听器用于监听web应用中某些对象信息的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理。当范围对象的状态发生变化的时候,服务器自动调用监听器对象中的方法。常用于统计在线人数和在线用户,系统加载时进行信息初始化,统计网站的访问量等。创......
  • Java基础知识
    Java基础知识一、第一个java程序二、Java中标识符的使用三、Java中的数据类型1.基本数据类型2.引用数据类型3.String类型变量的使用(字符串类型)四、Java中的运算符1.算数运算符2.赋值运算符**3.比较运算符****4.逻辑运算符****5.位运算符****6.三元运算符**一、第一......
  • 微信小程序开发中的数据分享和数据传递
    微信小程序开发中的数据分享和数据传递是非常重要的,它涉及到不同页面之间的数据交换和共享。在本文中,我将为您详细介绍微信小程序中数据分享和数据传递的方法,并提供相应的代码案例。数据分享在微信小程序开发过程中,我们经常需要将数据分享给其他用户。微信小程序提供了两种主......
  • Java跨平台原理
    Java跨平台原理Java是解释执行的,编译为中间码的编译器与平台无关,编译生成的中间码也与平台无关(一次编译,到处运行),中间码再由解释器解释执行,解释器是与平台相关的,也就是不同的平台需要不同的解释器.由源文件(.java)--->字节码文件(.class)(二进制文件)----->解释---->Unix,Win,Li......
  • Java解压rar5兼容rar4
    RAR文件格式由WinRAR开发,广泛用于文件压缩和归档。随着技术的发展,RAR5作为更新的版本,引入了多项改进以提高压缩效率和数据安全性。压缩效率:RAR5通过增大字典大小至32MB,相较于RAR4的4MB,能够更有效地找到数据中的重复模式,从而提高压缩率,特别是在处理大型文件时。安全......
  • Java正则表达式
    基本规则要点Test //131123456781[3-9]\\d{9} Stringregex1="1[3-9]\\d{9}"; System.out.println("13154654456".matches(regex1));//true System.out.println("03154654456".matches(regex1));//false System.out.printl......