黑马程序员_数组1
来源:互联网 发布:网络用语兔子 编辑:程序博客网 时间:2024/05/16 18:24
-----------------------------------------------------------------android培训、java培训、期待与您交流! ----------------------------------------------------------------
1.内存结构
Java程序在运行时,需要在内存中分配空间。为了提高运算效率,又对空间进行了不同区域的划分。因为每一片区域都有特定的处理数据的方式和内存管理的方式。
①栈内存(栈区):用于存储局部变量,当数据使用完,所占空间会自动释放。
②堆内存(堆区):a.数组和对象,通过new建立的实例都存放在堆内存中。
b.每一个实体都有内存地址值
c.实体中的变量都有默认初始化值
d.实体不在被使用,会在不确定的时间内被垃圾回收器回收
③方法区
④本地方法区
⑤寄存器
1.1 基本数据类型在初建数组初始值
/** * 研究各个基本数据类型数组的默认值 * */public class ArrayDemo1 {public static void main(String[] args){byte[] a = new byte[1];short[] b = new short[1];int[] c = new int[1];float[] d = new float[1];double[] e = new double[1];char[] f = new char[1];boolean[] g = new boolean[1];long[] h = new long[1];System.out.println("default_byte = "+a[0]);System.out.println("default_short = "+b[0]);System.out.println("default_int = "+c[0]);System.out.println("default_float = "+d[0]);System.out.println("default_double = "+e[0]);System.out.println("default_char = '"+f[0]+"'");System.out.println("default_boolean = "+g[0]);System.out.println("default_byte = "+h[0]);}}
运行结果:
2. 数组的定义和常见异常
定义1: 该定义在内存中分配了空间且有赋给数组默认值。
int[] arr = new int[3]内存分配图:
定义2: 在创建数组对象的同时赋给指定的值
int[] arr = new int[]{3,1,5,7}
常见异常:
①数组下标越界异常
ArrayIndexOutOfBoundsException
②空指针异常
ArrayIndexOutOfBoundsException
3 数组的常见操作
3.1 遍历:即访问数组中的所有元素
class ArrayDemo2{public static void main(String[] args) {int[] arr = new int[]{9,7,2,5,3,1};printArray(arr);}//打印数组的值,元素之间用逗号隔开public static void printArray(int[] arr){System.out.print("[");for (int i=0; i<arr.length; i++) {if (i<arr.length-1) System.out.print(arr[i]+",");elseSystem.out.println(arr[i]+"]");}}}
3.2 获取数组中的最值
class ArrayDemo3{public static void main(String[] args) {int[] arr = new int[]{9,7,2,5,3,1};int maxValue = getMax(arr);int minValue = getMin(arr);int maxValue_index = getMax_index(arr);int minValue_index = getMin_index(arr);System.out.println("maxValue = "+ maxValue);System.out.println("minValue = "+ minValue);System.out.println("maxValue_index = "+ maxValue_index);System.out.println("minValue_index = "+ minValue_index);}/*方法1: 通过比较记录数组中的值方法2: 通过比较记录数组的下标 *///获取数组中最大的元素public static int getMax(int[] arr){int temp = arr[0];for (int i=1; i<arr.length; i++) {if (arr[i]>temp){temp = arr[i];}}return temp;}//获取数组中最小的元素public static int getMin(int[] arr){int temp = arr[0];for (int i=1; i<arr.length; i++) {if (arr[i]<temp){temp = arr[i];}}return temp;}//方法2获取数组中最大的元素public static int getMax_index(int[] arr){int index = 0;for (int i=1; i<arr.length; i++) {if(arr[i]>arr[index]){index = i;}}return arr[index];}//方法2 获取数组中最小的元素public static int getMin_index(int[] arr){int index = 0;for (int i=1; i<arr.length; i++) {if(arr[i]<arr[index]){index = i;}}return arr[index];}}
最后,可以通过方法的重载扩充各种基本数据类型的数组方法。
0 0
- 黑马程序员_数组1
- 黑马程序员_数组
- 黑马程序员_数组
- 黑马程序员_数组
- 黑马程序员_数组
- 黑马程序员_数组
- 黑马程序员_数组
- 黑马程序员_数组
- 黑马程序员_数组
- 黑马程序员_数组
- 黑马程序员_数组
- 黑马程序员_数组
- 黑马程序员_数组
- 黑马程序员_数组
- 黑马程序员_数组
- 黑马程序员_数组
- 黑马程序员_数组
- 黑马程序员_数组排序
- Qt调用摄像头(截取并保存图片)
- make3d: learning 3d scene structure from a single still image完全解读
- Android开发者必知的开发资源
- Mongodb 分页
- ProGuard的Maven插件配置
- 黑马程序员_数组1
- Qt实现网络数据传输
- 多态中 静态绑定和动态绑定
- 安装hadoop过程
- 避免Java应用中NullPointerException的技巧和最佳实践
- C#的winform中控制TextBox中只能输入正整数,首位不能为0
- 全方位认识SQLite(一)
- 什么是连接池?我们为什么需要它?
- 使用 链接服务器执行SELECT、UPDATE、INSERT 或 DELETE 及其它命令