首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java基础语法(十)数组,是麻袋,既能装白菜,又能装妹子

文章目录 前言 数组 一维麻袋定义 怎么往麻袋里面装白菜 怎么取出我需要白菜 多维数组(多维麻袋) 定义一个多维麻袋 往这个多维麻袋里防白菜 按一定规律往每个麻袋放白菜 查看我们放入是否正确...数组 什么是数组?在Java数组就是存储多个相同数据集合,他们内存地址是相邻,所以可以通过数组取值。 这么说,是不是有点不好理解,那么这样呢?...是的你要存数据就是白菜,而这个数组就是你要用麻袋~~~~~ 麻袋白菜怎么拿出来我需要用呢?...下标,Java下标是以0开始,什么是下标,就是你从0开始查,查到某个你要数据,查到几,下标就是几,就相当于,我在装白菜时候,说“这是第0个白菜,这是第1个白菜…”,而他们也能听懂(别管他们能不能听懂...想必你们也都看到了这个a[i],这个就是对麻袋a叫做i白菜进行操作~ 代码接着上面的 System.out.println(a[5]); //结果是6,为啥是6,因为我们白菜是从1开始往里面装

81010

Java12个常见语法糖!

本文从 Java 编译原理角度,深入字节码及 class 文件,抽丝剥茧,了解 Java 语法糖原理及用法,帮助大家在学会如何使用 Java 语法同时,了解这些语法糖背后原理 语法语法糖...尽管现在Java有人还是认为现在Java是低糖,未来还会持续向着“高糖”方向发展。 解语法糖 前面提到过,语法存在主要是方便开发人员使用。但其实,Java虚拟机并不支持这些语法糖。...糖块一、 switch 支持 String 与枚举 前面提到过,从Java 7 开始,Java语言中语法糖在逐渐丰富,其中一个比较重要就是Java 7switch开始支持String。...,他首先会创建一个数组数组长度就是调用该方法是传递实参个数,然后再把参数值全部放到这个数组当中,然后再把这个数组作为参数传递到被调用方法。...糖块八 、 断言 在Java,assert关键字是从JAVA SE 1.4 引入,为了避免和老版本Java代码中使用了assert关键字导致错误,Java在执行时候默认是启动断言检查(这个时候

86020
您找到你想要的搜索结果了吗?
是的
没有找到

Java12个常见语法糖!

本文从 Java 编译原理角度,深入字节码及 class 文件,抽丝剥茧,了解 Java 语法糖原理及用法,帮助大家在学会如何使用 Java 语法同时,了解这些语法糖背后原理 语法糖...尽管现在Java有人还是认为现在Java是低糖,未来还会持续向着“高糖”方向发展。 解语法糖 前面提到过,语法存在主要是方便开发人员使用。但其实,Java虚拟机并不支持这些语法糖。...糖块一、 switch 支持 String 与枚举 前面提到过,从Java 7 开始,Java语言中语法糖在逐渐丰富,其中一个比较重要就是Java 7switch开始支持String。...,他首先会创建一个数组数组长度就是调用该方法是传递实参个数,然后再把参数值全部放到这个数组当中,然后再把这个数组作为参数传递到被调用方法。...糖块八 、 断言 在Java,assert关键字是从JAVA SE 1.4 引入,为了避免和老版本Java代码中使用了assert关键字导致错误,Java在执行时候默认是启动断言检查(这个时候

1.1K20

Java 语法(五):数组

创建一个数组Java,我们可以通过[]去声明一个指定类型数组 int[] a; // 写法一 int a[]; // 写法二 当然,一般情况下我们更喜欢使用第一种方式来声明一个数组,因为它将类型与变量名分开...访问数组元素 我们可以通过下标的方式来访问数组元素,数组下标从0开始,最大长度是数组长度,如果我们访问超出数组下标范围数据,就会抛出索引越界异常( ArrayOutOfIndexError...),因为我们可以通过下标直接访问数组元素,所以时间复杂度是O(1)。...int[] a = {1,2,3}; System.out.println(a[0]); // 1 往数组添加元素 刚刚我们说过,数组长度是固定,所以我们无法去改变该数组结构,但是我们可以通过另外一种方法来实现这样效果...}}; int[][] doubleArr = new int[5][]; 这里需要注意一点,二维数组创建时,可以指定一个维度长度,而指定第二维度长度,使之动态变化。

42010

Java基本语法——数组结构(多维数组

​前言 本讲继续讲解了Java基础语法,数据结构数组数组也是Java很多数据结构一个重要部分之一,一般开发其实很少使用数组,反而用相关集合类,比如List和ArrayList...其实在Java数组结构一些常见概念: 数组名 == 学生 下标(或索引) == 序号 元素 == 学生名字 数组长度数组分类:按照维度:一维数组...所有变量都会初始化,数组也是例外,可以声明和初始化一起,也可以先声明,再初始化,数组初始化时候需要指定数组长度。...数组初始化,用关键字 new type[长度],java在内存就会分配指定长度数组数组下标(序号)范围是0 到 长度 - 1。...1.多维数组使用 上面我们知道一维数组使用是一个括号[],那么多维就使用多个,比如二维数组使用是两个中括号[][],第一个表示横向数据(行),第二个表示纵向数据(列)。

19230

Java基础-数组常见操作

3.3 数组遍历【重点】 数组遍历: 就是将数组每个元素分别获取出来,就是遍历。遍历也是数组操作基石。 ?...3.4 数组获取最大值元素 最大值获取:从数组所有元素找出最大值。...实现思路: 定义变量,保存数组0索引上元素 遍历数组, 获取出数组每个元素 将遍历到元素和保存数组0索引上值变量进行比较 如果数组元素值大于了变量值,变量记录住新数组循环遍历结束,...变量保存就是数组最大值 ?...3.5 数组反转 数组反转: 数组元素颠倒顺序,例如原始数组为1,2,3,4,5,反转后数组为5,4,3,2,1 实现思想:数组最远端元素互换位置。

53210

8种常见Java规范代码

在工作上,我最近对一个现有的Java项目代码进行了清理。完成之后,我发现了一些反复出现规范代码。所以,我把它们整理成了一个列表出来分享给我同行希望能引起注意并改善代码质量和可维护性。...要做到这个,在Eclipse,到 Window -> Preferences -> Java -> Editor -> Save Actions并启用 Perform the selected actions...避免在方法中出现多个return语句(退出点): 在你方法,确保只有一个 退出点。不要在一个方法中使用多于一个return语句。...这可以减少代码歧义并且避免在你修改代码块时候产生新bug。 推荐 ? 把方法参数声明为final类型: 总是在所有兼容地方把把方法参数声明为final。...为程序员提供最优质博文、最精彩讨论、最实用开发资源;提供最新最全编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE

85330

8种常见Java规范代码

在工作上,我最近对一个现有的Java项目代码进行了清理。完成之后,我发现了一些反复出现规范代码。所以,我把它们整理成了一个列表出来分享给我同行希望能引起注意并改善代码质量和可维护性。...要做到这个,在Eclipse,到 Window -> Preferences -> Java -> Editor -> Save Actions并启用 Perform the selected actions...避免在方法中出现多个return语句(退出点): 在你方法,确保只有一个 退出点。不要在一个方法中使用多于一个return语句。...这可以减少代码歧义并且避免在你修改代码块时候产生新bug。 推荐 ? 把方法参数声明为final类型: 总是在所有兼容地方把把方法参数声明为final。...为程序员提供最优质博文、最精彩讨论、最实用开发资源;提供最新最全编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE

73710

8种常见Java规范代码

在工作上,我最近对一个现有的Java项目代码进行了清理。完成之后,我发现了一些反复出现规范代码。所以,我把它们整理成了一个列表出来分享给我同行希望能引起注意并改善代码质量和可维护性。...要做到这个,在Eclipse,到 Window -> Preferences -> Java -> Editor -> Save Actions并启用 Perform the selected actions...避免在方法中出现多个return语句(退出点): 在你方法,确保只有一个 退出点。不要在一个方法中使用多于一个return语句。...这可以减少代码歧义并且避免在你修改代码块时候产生新bug。 推荐 ? 把方法参数声明为final类型: 总是在所有兼容地方把把方法参数声明为final。...猿圈 (ID: CodePush )(←长按复制) 为程序员提供最优质博文、最精彩讨论、最实用开发资源;提供最新最全编程学习资料:PHP、Objective-C、Java、Swift、C/C

54310

java数组怎么定义_java数组定义

展开全部 数组定义 语法有两种: type arrayName[]; type[] arrayName; type 为Java任意数据类62616964757a686964616fe58685e5aeb931333365646364...型,包括基本类型和组合类型,arrayName为数组名,必须是一个合法标识符,[ ] 指明该变量是一个数组类型变量。...= {“数组0″,”数组1″,”数组2″,”….”}; //第三种 例: String[] test3 = new String[]{“数组0″,”数组1″,”数组2″,”….”}; } } Java...数组是同一种类型数据集合。...其实数组就是一个容器。 数组对于每一门编程语言来说都是重要数据结构之一,当然不同语言对数组实现及处理也不尽相同。 Java 语言中提供数组是用来存储固定大小同类型元素。

4.7K30

Java语法

因为 Java 代码需要运行在 JVM ,JVM 是并不支持语法语法糖在程序编译阶段就会被还原成简单基础语法结构,这个过程就是 解语法糖 。...所以在 Java ,真正支持语法Java 编译器,真是换汤不换药,万变不离其宗,关了灯都一样。。。。。。 下面我们就来认识一下 Java 这些语法糖 # 1.1 泛型 泛型是一种语法糖。...这类语法。那么什么时候用 enum 或者是 public static final 这类常量呢?好像都可以。 但是在 Java 字节码结构,并没有枚举类型。...这个语法糖主要用来对数组或者集合进行遍历,其在循环过程不能改变集合大小。...学习语法意义 互联网时代,有很多标新立异想法和框架层出穷,但是,我们对于学习来说应该抓住技术核心。

14720

Java语法

语法语法糖方便了程序员开发,提高了开发效率,提升了语法严谨也减少了编码出错误几率。我们不仅仅在平时编码依赖语法糖,更要看清语法糖背后程序代码真实结构,这样才能更好利用它们。。...泛型 与C#泛型相比,Java泛型可以算是“伪泛型”了。在C#,不论是在程序源码、在编译后中间语言,还是在运行期泛型都是真实存在。...Java则不同,Java泛型只在源代码存在,只供编辑器检查使用,编译后字节码文件已擦除了泛型类型,同时在必要地方插入了强制转型代码。...stringList.add("oliver"); System.out.println((String)stringList.get(0)); } 自动拆箱/装箱 自动拆箱/装箱是在编译期,依据代码语法...("LEE", 1); ENUM$VALUES = (new EnumTest[] { OLIVER, LEE }); } } 变长参数 变长参数允许我们传入到方法参数是固定个数

69731

JAVA数组

当然我们也可以采用像在c语言中定义数组方式,不过在java并不常用,在此不再介绍。...我们可以设置一个数组 int[] arr = new int[100]; int[] arr1 = arr; 此时arr元素全都是0,实际上arr1与arr指向是痛一个数组,如果修改arr[0]...那么应该如何做到真正复制一个数组呢? 这时候就需要用到Arrays类copyOf方法,利用这个方法,就可以将数组进行复制。...数组是会给存储到数组 元素分配一个索引值,索引值从0开始,最大索引值是length-1; 数组一旦初始化,长度固定。 数组元素与元素之间内存地址是连续。...0x06结语 感谢您阅读,欢迎指正博客存在问题,也可以跟我联系,一起进步,一起交流!

1.9K20

Java SE语法篇】6.数组

数组在内存是一段连续空间,比如现实车库: 在 Java,包含6个整形类型元素数组,就相当于上图中连在一起6个车位,从上图中可以看到: 数组存放元素其类型相同 数组空间是连在一起...1.3 数组创建和初始化 1.3.1 数组创建 基本语法格式: T[] 数组名 = new T[N]; T:表示数组存放元素类型 T[]:表示数组类型 N:表示数组长度 代码示例:存储10个人年龄...= new int[10]; 动态初始化:在创建数组直接指定数据元素个数,而直接讲具体数据内容进行指定 语法格式: T[] 数组名 = {data1,data2,....data}; int[]...,因此支持随机访问,即通过下标快速访问数组任意位置元素 下标从0开始,介于[0,N) 之间包含N,N为元素个数,不能越界,否则会报出下标越界异常。...Java数组设定为引用类型,这样的话后续进行数组参数传参,其实只是将数组地址传入函数形参,这样可以避免对整数数组拷贝(数组可能比较长,那么拷贝开销就会很大)。

7810

谈谈Java语法

一般来说Java语法糖主要有以下几种: 泛型与类型擦除 自动装箱与拆箱 变长参数 增强for循环 内部类 枚举类 1. 泛型与类型擦除 Java语言并不是一开始就支持泛型。...在JDK1.5Java语言引入了泛型机制。但是这种泛型机制是通过类型擦除来实现,即Java泛型只在程序源代码中有效(源代码阶段提供类型检查),在编译后字节码自动用强制类型转换进行替代。...变长参数同样是Java语法糖,其内部实现是Java数组。...增强for循环对象要么是一个数组,要么实现了Iterable接口。这个语法糖主要用来对数组或者集合进行遍历,其在循环过程不能改变集合大小。...在Java字节码结构,其实并没有枚举类型,枚举类型只是一个语法糖,在编译完成后被编译成一个普通类。这个类继承java.lang.Enum,并被final关键字修饰。

77830

Java基础语法(六)——数组定义与使用

接上篇博客 Java基础语法(五)——方法使用 Java基础语法(六)——数组定义与使用 一、 数组基本用法 1.什么是数组   数组本质上就是让我们能 “批量” 创建相同类型变量....注意事项: 在 Java , 数组包含变量必须是 相同类型. 2. 创建数组 基本语法 ?   ...5.数组在内存存储   我们在之前博客已经很简单介绍了Java内存区域划分,那么今天我们认识了数组这个引用类型,那么它在内存如何进行存储呢?   ...有时候我们希望破坏原数组, 就需要在方法内部创建一个新数组, 并由方法返回出来。   ...最后,同理, 还存在 “三维数组”, “四维数组” 等更复杂数组, 只不过出现频率都很低。   好了,这次Java基础语法——数组定义与使用知识就分享到这里,感谢大家欣赏与关注!!

24.7K93

Java 语法糖,真甜。

因为 Java 代码需要运行在 JVM ,JVM 是并不支持语法语法糖在程序编译阶段就会被还原成简单基础语法结构,这个过程就是解语法糖。...所以在 Java ,真正支持语法Java 编译器,真是换汤不换药,万变不离其宗,关了灯都一样。。。。。。 下面我们就来认识一下 Java 这些语法糖 泛型 泛型是一种语法糖。...这类语法。那么什么时候用 enum 或者是 public static final 这类常量呢?好像都可以。 但是在 Java 字节码结构,并没有枚举类型。...这个语法糖主要用来对数组或者集合进行遍历,其在循环过程不能改变集合大小。...学习语法意义 互联网时代,有很多标新立异想法和框架层出穷,但是,我们对于学习来说应该抓住技术核心。

49120

shell脚本数组常见使用方式

数组定义: shell数组定义是使用 小括号来表示,其中数组元素之间用空格作为分隔,比如: $ a=(1 2 3 abcd China) 2. 数组访问: a....获取数组元素个数: 在上述获取所有元素前面加上一个# 就可以了,如下: $ echo ${#a[*]} 5 3. 数组修改: a....追加元素到数组: shadow@DESKTOP-SRI6HMB ~ $ echo ${a[*]} 1 2 b abcd China shadow@DESKTOP-SRI6HMB ~ $ a[${#a[...数组名称中含有shell变量: 当数组名称中含有shell变量时候,此时随着shell变量变化,那么引用数组自然也就不同;此时可以通过如下方式实现 变量嵌套: 嵌套变量有两个符号,一个用来组合成完整变量名称...a1,a2值是不同; $ i=1 $ eval echo '$'"{a$i[*]}" #此时 变量i=1, 所以显示数组变量a1值; a b c $

3K20

java——内存数组

数组是一种引用类型,数组引用变量只是一个引用,数组元素和数组变量在内存时分开存放,下面我们看一下基本类型数组和引用类型数组在内存地址分布情况 基本类型数组: 我们先来看一段代码: public...2、arr=new int[5],这段代码执行完成后,系统会在堆内存为该数组分配一块内存空间,并初始化值0,如下图所示: ?...3、接着通过for循环遍历数组依次为数组赋值(注意:这里用for循环为数组赋值不能使用foreach遍历赋值,因为foreach(foreach语法:for (int i : arr){ })遍历时只是拷贝了数组副本...2、student=new Person[2],数组初始化,系统在堆内存数组分配一块内存空间,两个引用类型,值为Null,如下图: ?...4、接着讲zhang赋给数组第一个元素,li赋给数组第二个元素,此时数组两个元素将指向有效区域,如下图: ?

1.1K20
领券