Java基础知识 四 (数组)
2015-11-09 10:25
267 查看
JAVA- 数组
(1)数组:存储同一种数据类型的多个元素的容器。
(2)特点:每一个元素都有编号,从0开始,最大编号是长度-1。(编号的专业叫法:索引)
(3)定义格式
A:数据类型[] 数组名;
B:数据类型 数组名[];
(4)数组的初始化
A:动态初始化
只给长度,系统给出默认值
举例:int[] arr = new int[3];
B:静态初始化
给出值,系统决定长度
举例:int[] arr = new int[]{1,2,3};
简化版:int[] arr = {1,2,3};
(5)Java的内存分配
A:栈 存储局部变量
B:堆 存储所有new出来的
C:方法区
D:本地方法区(系统相关)
E:寄存器(CPU使用)
注意:
a:局部变量在方法定义中或者方法声明上定义的变量。
b:栈内存和堆内存的区别
栈:数据使用完毕,就消失。
堆:每一个new出来的东西都有地址
每一个变量都有默认值
byte,short,int,long 0
float,double 0.0
char '\u0000'
boolean false
引用类型 null
数据使用完毕后,在垃圾回收器空闲的时候回收。
(6)数组的常见操作
A:遍历
方式1:
B:最值
最大值:
最小值:
方式1:
方式2:
方式1:
方式2:
(1)数组:存储同一种数据类型的多个元素的容器。
(2)特点:每一个元素都有编号,从0开始,最大编号是长度-1。(编号的专业叫法:索引)
(3)定义格式
A:数据类型[] 数组名;
B:数据类型 数组名[];
(4)数组的初始化
A:动态初始化
只给长度,系统给出默认值
举例:int[] arr = new int[3];
B:静态初始化
给出值,系统决定长度
举例:int[] arr = new int[]{1,2,3};
简化版:int[] arr = {1,2,3};
(5)Java的内存分配
A:栈 存储局部变量
B:堆 存储所有new出来的
C:方法区
D:本地方法区(系统相关)
E:寄存器(CPU使用)
注意:
a:局部变量在方法定义中或者方法声明上定义的变量。
b:栈内存和堆内存的区别
栈:数据使用完毕,就消失。
堆:每一个new出来的东西都有地址
每一个变量都有默认值
byte,short,int,long 0
float,double 0.0
char '\u0000'
boolean false
引用类型 null
数据使用完毕后,在垃圾回收器空闲的时候回收。
(6)数组的常见操作
A:遍历
方式1:
public static void printArray(int[] arr) { for (int x = 0; x < arr.length; x++) { System.out.println(arr[x]); } }方式2:
public static void printArray(int[] arr) { System.out.print("["); for (int x = 0; x < arr.length; x++) { if (x == arr.length - 1) { System.out.println(arr[x] + "]"); } else { System.out.println(arr[x] + ", "); } } }
B:最值
最大值:
public static int getMax(int[] arr) { int max = arr[0]; for (int x = 1; x < arr.length; x++) { if (arr[x] > max) { max = arr[x]; } } return max; }
最小值:
public static int getMin(int[] arr) { int min = arr[0]; for (int x = 1; x < arr.length; x++) { if (arr[x] < min) { min = arr[x]; } } return min; }C:逆序
方式1:
public static void reverse(int[] arr) { for (int x = 0; x < arr.length / 2; x++) { int temp = arr[x]; arr[x] = arr[arr.length - 1 - x]; arr[arr.length - 1 - x] = temp; } }
方式2:
public static int reverse(int[] arr) { for (int start = 0, end = arr.length - 1; start <= end; start++, end--) { int temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; } }D:查表
public static String getString(String[] strArray, int index) { return strArray[index]; }E:基本查找
方式1:
public static int getIndex(int[] arr, int value) { for (int x = 0; x < arr.length; x++) { if (arr[x] == value) { return x; } } return -1; }
方式2:
public static int getIndex(int[] arr, int value) { int index = -1; for (int x = 0; x < arr.length; x++) { if (arr[x] == value) { index = x; break; } } return index; }
相关文章推荐
- eclipse Maven配置
- Java:JfreeChart一些重要的函数
- eclipse没有安卓SDK的图标
- Java:Java2D高级绘图
- java中接口与多重继承的关系
- Java集合框架总结之Set接口的使用
- Maven配置和使用eclipse创建MavenWeb项目
- Java基础知识 三 (运算符、键盘录入、函数(方法))
- MyEclipse快捷键大全
- JAVA中数组和List的相互转换
- Spring 使用注解方式进行事物管理
- Java集合框架总结之List接口的使用
- 单链表-java
- jqgjava.sql.SQLException: An attempt by a client to checkout a Connection ha
- elclipse/myeclipse web.xml自动提示补全问题
- 关于Spring源码下载
- Java出现No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing
- 学习笔记之eclipse中处理js文件报错
- 数组
- Java基础知识 二(关键字、标识符、注释、数据类型、数据类型的转换)