java—数组(上)

原创 2015年11月20日 23:27:55

java -数组的应用

一维数组
1.数组的定义:
存储多个同一类型元素的容器。

2.数组的格式:
数据类型[] 数组名 = new 数据类型[数组长度];

3.特点:
数组在内存中是一块连续的内存空间,数组中的每一个元素都有一个编号,从0开始到arr.length-1(arr.length-1是指数组中的长度)。

4.什么是数组的动态初始化?
动态初始化是指在定义数组后,数组里面元素默认的初始化值,如下:
整数类型:byte, short, int, long,默认为0;
浮点类型:float, double 默认0.0
布尔类型:boolean 默认false
字符类型:char 默认’\u0000’
<注:’\u0000’是转义字符加上四个0000,两个字节的十六进制位,所以0000代表的是十六个二进制位。>

5.栈和堆
(1)什么是栈?有什么特点?
存储局部变量(定义在方法声明上和方法中的变量)。

特点:先进后出。
方法的调用压栈,执行完毕后就会从内存中弹栈。
**注意:当调用方法结束后,会弹栈,栈中的局部变量随之消失**!

(2)什么是堆?
存储中new出来的对象或数组(默认初始化值)。

两个异常:

A: ArrayIndexOutOfBundsException 数组索引越界异常
B: NullPointerException 空指针

数组中的方法
A遍历:

    public static void printArray(int[] arr) {
                    for (int i = 0; i <= arr.length - 1; i++) {
                        System.out.println(arr[i]);
                    }
                }
B最值:
public static int getMax(int[] arr) {
                    int max = arr[0];
                    for (int i = 1; i < arr.length; i++) {
                        if (max < arr[i]) {
                            max = arr[i];
                        }
                    }
                    return max;
                }

C翻转:

public static void reverseArray(int[] arr) {
                    for (int i = 0; i < arr.length/2; i++) {
                        int temp = arr[i];
                        arr[i] = arr[arr.length-1-i];
                        arr[arr.length-1-i] = temp;
                    }
                }

D查表法,根据值查索引(待续)。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Java与C语言数组实现机理的一点对比

想看一下Java的数组实现机制是否与C语言一致,同时看看是不是被隐藏掉的指针功能实现的类似数组访问功能。Java中是不是还有什么类似简写这样的表示说明呢?写了两段简单的代码示意一下。 C语言代码: ...
  • grey_csdn
  • grey_csdn
  • 2017年03月12日 12:31
  • 245

java 中的clone() 在数组中

今天在编程中遇到发现一个问题,那就是二维数组的clone,只有第一层clone了,里层的还是指向之前的地址 于是 就想到,clone() 函数 是不是对带引用的成员变量(非String的对象)都没有c...
  • jsplijun
  • jsplijun
  • 2015年11月14日 14:33
  • 1475

数据结构之数组的增删改查-java实现

数据结构中的数组之增删改查操作-java实现
  • u013871100
  • u013871100
  • 2015年11月21日 17:35
  • 1937

java for循环里面的数组,并打印出来

String[] a = {1,2,1,2,3,4}; StringBuffer sb = new StringBuffer(); String aESIPID ;for (int i = 0; i...
  • qq_17157751
  • qq_17157751
  • 2016年09月27日 11:07
  • 1418

JAVA基础复习五-数组及栈堆内存分配

一、一维数组数组既可以存储基本数据类型,也可以存储引用数据类型。 数组定义格式 1.动态初始化 只指定长度,由系统给出初始化值 * int[] arr = new int[5]; 2.静...
  • qq_40877598
  • qq_40877598
  • 2017年11月02日 23:42
  • 59

java和c语言中数组定义初始化的区别

在c语言中,通常我们在声明数组的时候,可能不会对其赋初值并且可以指定数组的元素个数,如:int a[10],下面的语句可以对数组a[10]进行直接的赋值和操作。然而在java中,声明数组会有所不同,如...
  • light514
  • light514
  • 2013年01月13日 00:07
  • 2647

疯狂JAVA讲义---第十二章:Swing编程(八)JTable表格

表格是GUI编程中使用较多,但也是最麻烦的一个控件之一。表格是用来显示二维数据,提供编辑,选择等功能。如果只是显示数据,这还是非常easy的,只要在JTable中传入二维数组或集合就可以了,egpub...
  • terryzero
  • terryzero
  • 2009年01月19日 23:28
  • 8812

求一个数组的最大公约数

import java.util.*; import java.util.regex.*; public class test { public static void main...
  • hbuwanglei
  • hbuwanglei
  • 2017年04月24日 12:19
  • 755

堆上数组&栈上数组

堆(heap)上数组:一般自己申请,C用malloc,C++用new。一般的可用空间比较大。 栈(stack)上数组:一般系统自动分配,直接定义所开的数组的大小,最大一般为1M或2M。写完这段代码会...
  • icodingbird
  • icodingbird
  • 2016年07月27日 10:53
  • 653

关于POJO(实体类)中数组的的set方法

今天遇到一个问题。POJO有一个private的double[] 数组,get、set为自动生成的。后来的Service中用数组给这个方法赋值,结果赋值出错。 查看之后发现时POJO中的set方法有问...
  • saszyl
  • saszyl
  • 2017年10月01日 23:25
  • 169
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java—数组(上)
举报原因:
原因补充:

(最多只允许输入30个字)