Java____数组
2022/1/27 1:04:38
本文主要是介绍Java____数组,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
数组
- 数组
- 数组的声明与初始化
- 数组的索引(偏移量)
- 数组的遍历
- for-each循环
- 语法结构
- 问题1:数组作为方法的参数问题
- 数据类型:基本类型和引用类型
- 基本类型:int long double 存储的是具体数值
- 引用类型:存储的是地址
- 认识null
- Java中的内存划分:栈和堆
- 栈
- 堆
- 数组引用作为方法的返回值
数组
数组:第一个引用类型 (顺序表)
一次定义并保存多个同类型的数
数据结构:数据如何存储
顺序表:元素按顺序存储的结构
数组的声明与初始化
定义一个长度为3的整型数组
int[] arr = new int[3];//此时数组中元素都是默认值0 //只定义不初始化 int[] arr = new int[]{1,3,5};//定义了一个长度为3的数组,值为1,3,5 int[] arr = {1,3,5};//简写
数组的索引(偏移量)
为何第一个元素要从0开始?
取出数组中的元素,需要使用数组名称[索引]
索引取值范围:0----长度-1
数组长度:数组名称.Length
public class ArrayLearn { public static void main(String[] args) { //定义一个长度为3的整型数组 int[] arr = new int[3]; int[] arr1 = new int[]{1,3,5}; int[] arr2 = {1,3,5}; //取出arr数组长度 System.out.println(arr.length); //取出arr1数组中第二个元素 System.out.println(arr1[2]); } }
注意:当访问数组中不存在的元素时(越界问题)索引不存在合法取值内[0…arr.length - 1]
数组的遍历
数组的遍历:依次取出数组中的每个元素并访问(输出)–for循环
public class ArrayLearn { public static void main(String[] args) { int[] arr = new int[]{1,3,5}; //取出数组中的每个元素并打印 for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+","); } } }
public class ArrayLearn { public static void main(String[] args) { int[] arr = new int[]{1,3,5}; //取出数组中的每个元素并打印 for (int i = 0; i < arr.length; i++) { //修改第二个元素的值 if (i == 1) { arr[i] = 10; } System.out.print(arr[i] + ","); } System.out.println(arr[1]); } }
for-each循环
当只需要访问数组元素并不修改的前提下,可以使用for-each循环
语法结构
语法结构
for(临时变量 :数组名称)
每走一次循环,就将数组的元素依次赋值给临时变量,此时for-each循环无法修改原数组。
public class ArrayLearn { public static void main(String[] args) { int[] arr = new int[]{1,3,5}; for (int i : arr){ //定义了一个局部变量叫i //:号表示依次从数组中的第一个元素开始取值 //取一个赋值给i作为输出 System.out.print(i + ","); } } }
问题1:数组作为方法的参数问题
方法值传递
数组可以交换
public class ArrayLearn { public static void main(String[] args) { int[] arr = new int[]{1,3}; swap(arr); System.out.println(arr[0]+","+arr[1]); } public static void swap(int[] arr){ int tmp = arr[0]; arr[0] = arr[1]; arr[1] = tmp; } //定义一个方法,传入一个整型数组并打印 public static void printArr(int[] arr){ for (int i : arr){ System.out.print(i + ","); } } }
数据类型:基本类型和引用类型
基本类型:int long double 存储的是具体数值
引用类型:存储的是地址
引用实际上就是起个别名 有new就有新空间 引用类似是个指针,就保存了内存中的一个地址(也是个数)
认识null
当一个引用变量赋值为null时,表示此变量不保存任何地址,因此无法使用该变量进行操作。
Java中的内存划分:栈和堆
栈
栈空间:保存的是函数中的局部变量(方法中的形参和实参)
public static void 方法名称(方法参数 形参){ int a = 10;(实参) }
堆
堆空间:所有new的对象都在堆空间
数组引用作为方法的返回值
题:定义一个方法,将传入数组的每个元素*2处理(数组遍历)
public class ArrayLearn { public static void main(String[] args) { int[] arr = new int[]{10,20}; int[] result = doubleArr(arr); System.out.println(arr[0]); } //数组引用作为方法的返回值 public static int[] doubleArr(int[] arr){ for (int i = 0; i < arr.length; i++) { arr[i] *= 2; } return arr; } public static void swap(int[] arr){ int tmp = arr[0]; arr[0] = arr[1]; arr[1] = tmp; }
这篇关于Java____数组的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)