Java数组(int为例)

定义:相同数据类型的数据的组合,是一种引用类型,是一个对象,存在堆里。

数组初始化:int[] scores1 = new int[]{72,90,59};//静态初始化:在声明并初始化数组与给数组相应的元素赋值操作同时进行。

int scores2[] = new int[3];

    scores2[0] = 72;

scores2[1] = 90;

scores2[2] = 59;

//动态初始化:在声明并初始化数组与给数组相应的元素赋值操作分开进行。

//声明数组的错误写法:

1)String[] names = new String[5]{"AA","BB","CC"};

2)int i[10];

3)int i = new int[];

注:不管是动态还是静态初始化数组,一定在创建的时候,就指明了数组的长度!

引用数组元素:通过数组的下角标引用。下角标从0开始,到n-1结束,n是数组的长度。

数组长度:通过.length调用

遍历数组:

for( int i = 0 ; i < scores.length ; I ++){

System.out.println( scores[i]);

   }

数组元素的默认初始值:

byte short int long 初始值为0

float double 初始值为0.0

char 初始值为 空格

boolean 初始值为false

引用类型初始值为null

一维数组的写法:int[] arrs = new int[5];

arrs[0] = 5;

//int arrs[] = new int[5];

二维数组的写法:int [][] is = new int[3][];

        int[][] is2 = {{1,2},{3,4},{5,6}};

数组常见异常:

  1. 数组下标越界异常:java.lang.ArrayIndexOutBoundsException

        int[] i = new int[10];

        i[0] = 0;

        i[10] = 10;//超出数组下标值(下标值越界)

        for( int j = 0 ; j < i.length ; j++){

            System.out.println(i[j]);

        }

2.空指针异常: NullPointerException

  (1) boolean[] b =new boolean[3];

     b = null;

     System.out.println(b[0]);

(2)  String[] str = new String[4];

str[3] = new String("AA");//str[3] = "AA";

System.out.println(str[3].toString());

   (3) int[][] j = new int[3][];

    j[2][0] = 12;

Arrays类:

binayeSearch: 二分搜索法,使用二进制搜索算法来搜索指定类型数组,以获得指定的值。

 输出结果

输出结果为搜索内容在数组中的位置(从0开始)

输出结果

   负数指的是该数应在该数组中的位置(从1开始)

Equals:用于比较两个相同类型的值,如果两个指定类型的值相等则返回true,否则返回false。

Fill:用于填充数组

    

将int[] arrs2 中的内容替换成3

输出结果

将int[] arrs2 中的第二位到第三位替换为9

**2指第二位,4指第四位,9为替换的内容

**2,4指从第二到第三位,而不是从第二位到第四位

输出结果

Sort:对数组中的内容进行排序(从0开始)

public static void sort(int[] a)

copyOf:向数组添加内容

输出结果

copyOfRange: 截取数组内容

截取第0到第3位内容

输出结果

Java数组(int为例)的更多相关文章

  1. 1.1使用java数组,并开始封装我们自己的数组

    今天感冒了,全身酸软无力,啥样不想做,就来学习吧,此节我们从初步使用java中提供的数组,然后分析相关情况,过渡到封装我们自己的数组. 一.我们先来感受一下java提供的数组,以整型数组(int[]) ...

  2. Android java传递int类型数组给C

    接着前面的文章<Android java传递int类型数据给C><Android java传递string类型数据给C>,继续实践 实现public native int[] ...

  3. 第5章 Java数组

    1.什么是数组 数组可以想象成一个巨大的盒子,这个盒子里面存放的是同一个数据类型的数据 例如:int[] scores = {78,68,94,93}; 2.如何使用Java中的数组 2.1申明数组 ...

  4. Java 数组声明与初始化

    引言 学习了好久的java,每次要写数组的声明和初始化代码,总是理不清.最近又碰到了一次这种情况.这次拿出<Thinking In Java>好好总结一翻. 数组声明 对于数组的声明其实都 ...

  5. Java数组的声明和遍历

    Java 数组 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java 语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如 n ...

  6. java数组集合元素的查找

    java数组和集合的元素查找类似,下面以集合为例. 数组集合元素查找分为两类: 基本查找: 二分折半查找: 基本查找: 两种方式都是for循环来判断,一种通过索引值来判断,一种通过数组索引判断. 索引 ...

  7. Java 数组声明的几种方式

    Java数组定义声明的几种方法: 1. 类型名称[] 变量名=new 类型名称[length]; 2.类型名称[] 变量名={?,?,?}; 3.类型名称[] 变量名=new 类型名称[]{?,?,? ...

  8. 有关JVM处理Java数组方法的思考

    在Java中,获取数组的长度和String的长度是两种不同的方法,这引起了本文作者的一番思考.本文从JVM的角度,探讨了Java数组在JVM中是什么对象,有哪些成员,以及声明方法. 作者:jarfie ...

  9. 七、java数组

    目录 一.一维数组 声明方式 数组对象的创建 元素为引用数据类型的数组 数组初始化 数组元素默认初始化 数组元素的引用 二.二维数组 概念 初始化 二维数组举例 三.数组的拷贝 四.练习 数组可以堪称 ...

随机推荐

  1. Web Service快速入门

    一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术. 那么它是如何做到这种跨语言,跨平台之间的调用呢? 其实它是以一个xml文件以及webservice这种服务来实现跨平台 ...

  2. android AsyncTask介绍 AsyncTask和Handler对比

    1 ) AsyncTask实现的原理,和适用的优缺点 AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可 ...

  3. [Luogu 2590] ZJOI2008 树的统计

    [Luogu 2590] ZJOI2008 树的统计 裸树剖不解释. 比板子还简单. #include <algorithm> #include <cstdio> #inclu ...

  4. Bzoj1312 / POJ3155 Neerc2006 Hard Life

    Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 459  Solved: 114 Description 在一家公司中,人事部经理与业务部经理不和.一次 ...

  5. bzoj 2730: [HNOI2012]矿场搭建——tarjan求点双

    Description 煤矿工地可以看成是由隧道连接挖煤点组成的无向图.为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处.于是矿主决定在某些挖煤点设立救援出口,使得无论哪一 ...

  6. python学习笔记(六)之操作符

    python中算术操作符: + - * / % ** // 注意: /:为真实除法,即对应数学中的除法,通常返回一个浮点数 //:取整除法,即取商 %:求模,即取余数 **:幂运算,这里需要注意的一点 ...

  7. 洛谷 P3375 【模板】KMP字符串匹配

    我这段时间因为字符串太差而被关了起来了(昨晚打cf不会处理字符串现场找大佬模板瞎搞,差点就凉了),所以决定好好补一下字符串的知识QAQ,暂时先学习kmp算法吧~ 题目链接:https://www.lu ...

  8. bzoj 1261 区间DP

    首先我们知道ans=Σ(h[i]*f[i])=Σ(h[i]*d[i])/s=Σ(k(r[i]+1)+c)*d[i]/s=Σ(k*r[i]+(k+c))*d[i]/s 我们可以发现,除了k*r[i]之外 ...

  9. Android控件——AutoCompleteTextView与MultiAutoCompleteTextView(实现自动匹配输入的内容)

    ------------------------------------AutoCompleteTextView----------------------

  10. mac os x 把reids nignx mongodb做成随机启动吧

    ~/Library/LaunchAgents 由用户自己定义的任务项 /Library/LaunchAgents 由管理员为用户定义的任务项 /Library/LaunchDaemons 由管理员定义 ...