精华内容
下载资源
问答
  • 一、数组的声明 int[] a; ...注意如果使用这种初始化方式,如果数组元素为基本数据类型,在完成new操作后,数组中的元素就会自动初始化为空值,可以直接使用,但是如果数组元素为引用类型,在完成n

    一、数组的声明

    一维数组:

    int[] a;
    

    二维数组:

    int[][] a;
    

    二、数组初始化

    数组的初始化方式有以下几种:

    • 特殊初始化: 这种初始化不使用new关键字,在数组声明的同时完成初始化操作,也被称为静态初始化,主要原因是因为采用这种初始化的方式,数组的存储空间的分配是由编译器完成的:
      int[] a={1,2,3};
    • 使用new关键字创建数组,同时为数组中的元素赋值: 在这种用法下new不需要指定数组的长度:int[] a=new int[]{1,2,3};
    • 将数组全部初始化为特定的值:
      boolean[] test=new boolean[n];
      Arrays.fill(test,true);

    三、对数组的操作

    3.1 截取数组

    使用System.arraycopy
    System.arraycopy(源数组名称,源数组开始点,目标数组名称,目标数组开始点,拷贝长度)
    将目标数组中的一部分替换成源数组中的一部分

    public class
    test {
        public static void main(String[] args){
            int[] arr=new int[]{1,2,3,4,5};
            int[] temp=new int[]{6,7,8,9,10};
            System.arraycopy(temp,0,arr,0,temp.length);
            for(int i=0;i<arr.length;i++){
                System.out.print(arr[i]+" ");
            }
        }
    
    }
    
    输出:
    6 7 8 9 10
    
    展开全文
  • 以二维数组为例,一位数组类似/*** 二维数组基本用法* @author Administrator**/public class Test01 {public static void main(String[] args) {//声明与赋值int[][] a = {{1,2},{3,4,0,9},{5,6,7}};//只声明第一...

    以二维数组为例,一位数组类似/**

    * 二维数组的基本用法

    * @author Administrator

    *

    */

    public class Test01 {

    public static void main(String[] args) {

    //声明与赋值

    int[][] a = {

    {1,2},

    {3,4,0,9},

    {5,6,7}

    };

    //只声明第一维长度 ---> 合法

    //只声明第二维长度 ---> 非法

    int[][] b = new int[3][];

    b[0] = new int[2];

    b[1] = new int[4];

    b[2] = new int[3];

    b[0][0]=1;

    b[0][1]=2;

    b[1][0]=3;

    b[1][1]=4;

    b[1][2]=0;

    b[1][3]=9;

    b[2][0]=5;

    b[2][1]=6;

    b[2][2]=7;

    // a[0] b[0]为对象,虽然内容相同但地址不同,返回flase;而具体到a[][]b[][]层次,是具体到某一个数值,相同返回true

    System.out.println(a[0][0]==b[0][1]);

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

    }

    }

    一些其他的问题/**

    * 枚举的用法

    * 枚举的常量列表可以由数字、字母、下划线及$组成,且不能用数字开头,与变量命名规则一致

    * 确定一个字符对应的Unicode编码位置

    * 二维数组的一些问题

    * @author Administrator

    *

    */

    public class Test02 {

    public static void main(String[] args) {

    //int x = 12L;

    //long y = 8.0;

    //float y = 6.89f;

    //枚举的用法

    //Weekend x = Weekend.s;

    //System.out.println(x);

    //char[] c = {'你','我','他'};

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

    //确定一个字符在Unicode编码中的位置,进行强制类型转换

    //System.out.println(c[i]+"位置为"+(int)c[i]);

    //}

    double a[][] = {{1,2,3},{4,5,6},{7,8,9}};

    double b[][] = {{1.0,2.2,3.3,4.4},{5.5,6.6,7.7,8.8}};

    //对于一个二维数组,a[0]与b[0]仍是对象,里面存放着后续维度的数组,b00为false

    boolean b00 = (a[0]==b[0]);

    System.out.println(b00);

    //a[0][0],b[0][0]具体到一个数,b01为true

    boolean b01 = (a[0][0]==b[0][0]);

    System.out.println(b01);

    a[0]=b[0];

    a[1]=b[1];

    System.out.println(a==b);

    System.out.println(a.length);

    System.out.println(a[0][3]);

    System.out.println(a[1][3]);

    }

    }

    enum Weekend{

    s,s2,s3,s4,s5,s6,s7,int_long,$Boy26

    }

    二维数组的简单应用,矩阵加和并打印/**

    * 计算矩阵的和并打印

    * @author Administrator

    *

    */

    public class Matrix {

    public static void print(int[][] c) {

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

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

    System.out.print(c[i][j] + "\t");

    }

    System.out.println();

    }

    }

    public static int[][] add(int[][] a, int[][] b) {

    int[][] c = new int[a.length][a.length];

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

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

    c[i][j] = a[i][j] + b[i][j];

    }

    }

    return c;

    }

    public static void main(String[] args) {

    int[][] a = { { 1, 2, 4 }, { 4, 5, 7 }, { 7, 8, 1 } };

    int[][] b = { { 8, 7, 8 }, { 4, 1, 5 }, { 3, 7, 8 } };

    int[][] c = add(a, b);

    print(c);

    }

    }

    展开全文
  • 【Java】Java数组简单用法

    千次阅读 2015-07-22 09:00:25
    数组是具有相同数据类型的一组数据的集合,Java...下面以一维数组为例说明Java数组用法。1、数组声明数组声明有如下两种形式(方括号的位置不同):int arr[]; int[] arr2;2、数组初始化数组初始化也有两种形式,如下

    数组是具有相同数据类型的一组数据的集合,Java支持多为数组,一维数组的每个基本单元都是基本数据类型的数据,二维数组就是每个基本单元是一维数组的一维数组,以此类推,n维数组的每个基本单元都是n-1为数组的n-1维数组。下面以一维数组为例说明Java数组的用法。

    1、数组声明

    数组声明有如下两种形式(方括号的位置不同):

    int arr[];
    int[] arr2;

    2、数组初始化

    数组初始化也有两种形式,如下(使用new或不使用new):

    int arr[] = new int[]{1, 3, 5, 7, 9};
    int[] arr2 = {2, 4, 6, 8, 10};

    3、遍历数组

    遍历数组可用for/foreach,如下:

        public static void main(String[] args) {
            int arr[] = new int[]{1, 3, 5, 7 ,9};
            int[] arr2 = {2, 4, 6, 8, 10};
            for (int i = 0; i < arr.length; ++i) {
                System.out.print(arr[i] + "\t"); // 1 3 5 7 9
            }
            for (int x: arr2) {
                System.out.print(x + "\t"); // 2 4 6 8 10
            }
        }

    4、Arrays.fill()填充数组

    使用Arrays类的静态方法,需要import包java.util.Arrays,定义了许多重载方法。

    void fill(int[] a, int val)全部填充
    void fill(int[] a, int fromIndex, int toIndex, int val)填充指定索引的元素

            int[] arr3 = new int[5];
            for (int x: arr3) {
                System.out.print(x + "\t"); // 0 0 0 0 0 全部初始化为0
            }
            System.out.println();
            Arrays.fill(arr3, 10);
            for (int x: arr3) {
                System.out.print(x + "\t"); // 10 10 10 10 10 全部填充为10
            }
            System.out.println();
            Arrays.fill(arr3, 1, 3, 8);
            for (int x: arr3) {
                System.out.print(x + "\t"); // 10 8 8 10 10 填充指定索引
            }
            System.out.println();

    5、Arrays.sort()对数组排序

    void sort(int[] a)全部排序
    void sort(int[] a, int fromIndex, int toIndex)排序指定索引的元素

            int[] arr4 = {3, 7, 2, 1, 9};
            Arrays.sort(arr4);
            for (int x: arr4) {
                System.out.print(x + "\t"); // 1 2 3 7 9
            }
            System.out.println();
            int[] arr5 = {3, 7, 2, 1, 9};
            Arrays.sort(arr5, 1, 3);
            for (int x: arr5) {
                System.out.print(x + "\t"); // 3 2 7 1 9
            }
            System.out.println();

    6、Arrays.copyOf()复制数组

    int[] copyOf(int[] original, int newLength)复制数组,指定新数组长度
    int[] copyOfRange(int[] original, int from, int to)复制数组,指定所复制的原数组的索引

            int[] arr6 = {1, 2, 3, 4, 5};
            int[] arr7 = Arrays.copyOf(arr6, 5); // 1 2 3 4 5
            int[] arr8 = Arrays.copyOfRange(arr6, 1, 3); // 2 3
            for (int x: arr7) {
                System.out.print(x + "\t");
            }
            System.out.println();
            for (int x: arr8) {
                System.out.print(x + "\t");
            }
            System.out.println();
    展开全文
  • 1.数组基本用法 1.1创建数组 有以下三种方法(此处用Int类型示例): //动态初始化 int[] arr = new int[] {1,2,3,4,5}; int[] arr = new int[5]; //静态初始化 int[] arr = {1,2,3,4,5}; 注意事项:静态...

    1.数组基本用法

    1.1创建数组
    有以下三种方法(此处用Int类型示例):

    //动态初始化
    int[] arr = new int[] {1,2,3,4,5};
    int[] arr = new int[5];
    //静态初始化
    int[] arr = {1,2,3,4,5};
    

    注意事项:静态初始化的时候,数组元素个数和初始化数据的格式是一致的。
    1.2数组的使用

    //获取数组长度
    System.out.println("length:"+arr.length);
    //访问数组元素
    System.out.println(arr[0]);
    //获取数组地址(哈希码)
    System.out.println(arr);
    

    注意事项:
    下标访问操作不能超出有效范围[0,length-1],否则出现下标越界异常。“ArrayIndexOutOfBoundsException”即下标越界异常。
    遍历数组(两种):
    ①使用for循环
    ②使用for-each,for-each代码如下:

    int[] arr = {1,2,3};
    for(int x:arr){
    System.out.println(x);
    }
    

    ③将数组快速打印出来:

    System.out.println(Arrays.toString(arr);
    

    上述①②两种方法区别:for-each不能使用下标。

    2.数组作为方法的参数

    2.1引用类型
    ①参数传内置类型``

    int num = 0;
    func(num);
    

    ②参数传数组类型

    int[] arr = {1,2,3};
    func(arr);
    

    注意: 参数传内置类型时,修改形参的值,不影响实参num。而参数传数组内容时,在函数内部修改数组内容,函数外部也发生改变。
    JVM内存区域划分
    主要划分为以下几大部分:
    ①程序计数器:只是一个很小的空间,保存下一条执行的指令的地址。
    ②虚拟机栈:重点存储局部变量表,例int [ ] arr这样的存储地址的引用。
    ③本地方法栈:与虚拟机栈类似,只不过保存的内容是Native方法的局部变量。
    ④堆:JVM所管理的最大内存区域,使用new创建的对象都是在堆上保存。
    ⑤方法区:用于存储已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。方法编译出的字节码就是保存在这个区域。
    ⑥运行时常量池:是方法区的一部分,存放字面量与符号引用。
    重点理解虚拟机栈和堆,如下图:
    在这里插入图片描述
    即:局部变量和引用保存在栈上,new出的对象保存在堆上。

    3.数组的拷贝

    • 用for循环
    • arraycopy方法 使用时System.arraycopy() 无返回
    • copyOf方法 使用时int[] newarr = Array.copyOf() 有返回
      以上②③两者区别:1)返回值 2)调用System Array不同 3)速度问题:System.arraycopy()更快
    • array.clone即数组名.clone 数组名为你要拷贝的数组名
      以上四种方式:
      对于数组中是简单类型就是深拷贝 数组中是引用类型就是浅拷贝
      浅拷贝:把1拷贝到2中,改变2则1也改变 即修改源数组会影响到新数组
      深拷贝: 把1拷贝到2中,改变2则1不改变 即修改源数组不会影响到新数组

    4.二维数组

    4.1基本用法(int类型为例)

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

    在这里插入图片描述
    二维数组本质上:就是一维数组,只不过每个元素又是一个一维数组。

    展开全文
  • Java 数组基本用法

    2020-07-23 15:46:39
    Java当中的数组,存放于堆当中 什么是数组 数组是存放一组相同数据类型的集合 数组的创建 三种方法: int[ ] array = {1,2,3,4,5}; int[ ] array = new int[4]; 定义了一个数组,但并没有初始化 int[ ] array = new...
  • 数组基本用法

    2019-12-06 16:44:09
    //数组基本用法 package test; import java.util.Arrays; public class arraytest { public static void main(String[] args){ //一位数组的初始化 int arr1[]=new int[]{11,12,15,13,16}; int arr2[]={12,...
  • Java数组基本操作方法整理这篇文章主要介绍了Java数组基本操作方法整理,是Java入门学习中的基础知识,需要的朋友可以参考下数组是具有相同数据类型的一组数据...下面以一维数组为例说明Java数组用法。1、数组...
  • 我们知道,Java原生数据类型都只能表示一个数据,这在实际的应用当中远远不够,因为我们可能会遇到大量的复杂数据,用一个基本类型的数据是无法表示清楚的。Java提供了数组这种数据类型,表示相同类型的1个或多个...
  • * 二维数组基本用法 * @author Administrator * */ public class Test01 { public static void main(String[] args) { //声明与赋值 int[][] a = { {1,2}, {3,4,0,9}, {5,6,7} ...
  • 数组是具有相同数据类型的一组数据的集合,Java...下面以一维数组为例说明Java数组用法。1、数组声明数组声明有如下两种形式(方括号的位置不同):int arr[];int[] arr2;2、数组初始化数组初始化也有两种形式,如下...
  • 本文实例讲述了JS 数组基本用法。分享给大家供大家参考,具体如下: 讲道理和Java差不多。 instance: <html> <head> <title>js数组</title> <meta charset="UTF-8"/> [removed]...
  • java数组用法

    2020-09-08 14:25:02
    一、数组的特点 ...数组本身是一个引用数据类型,数组内存的类型可以是基本数据类型,也可以是引用类型 二、数组的定义 //第一种 有长度没有元素 //动态初始化 数据类型[] 数组名字=new 数据类型[长度]; //
  • 跟汤老师学Java笔记:数组基本用法1 完成:第一遍 1.数组的基本用法是什么? 步骤: 1. 声明数组 指定元素的类型 数据类型[] 数组名称; 或 数据类型 数组名称[]; 如 int arr[]; 2. 分配空间 指定数组长度/大小,即...
  • 2.数组基本用法 3.动态赋值 4.增强for循环 5.练习:数组的用法 6.栈和堆 7.基本数据类型和引用数据类型及在内存中的存储方式 8.值传递和引用传递 9.二维数组 10.练习:二维数组 11.冒泡排序 12.Arrays工具类 13.不定...
  • Java数组

    2020-08-01 22:57:02
    Java数组基本用法定义使用数组作为方法的参数/返回值数组常用方法二维数组 基本用法 定义 数组本质上就是让我们能 “批量” 创建相同类型的变量. 注意事项: 在 Java 中, 数组中包含的变量必须是 相同类型 使用 ...
  • 数组基本用法:声明数组变量首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:type[]values;//首选的方法 或typevalues[];//效果相同,但不是首选方法创建数组Java语言使用new操作符来创建...
  • 一.数组概念: •当需要在Java程序中记录单个数据内容时,则声明一个变量即可。...基本类型的数组(数据元素为基本类型)创建后,其元素的初始值:byte、short、char、int、long为0;float和double为0...
  • import java.util.ArrayList; import java.util.HashMap; import java.util.List;...public class shuzu {public static void main(String[] args){//数组array();//列表list();//集合map();}public st...
  • 简述Java数组基本属性及其用法

    千次阅读 2019-03-04 20:33:25
    数组的初始化及其基本属性 1. 数组:属于引用类型,就是一个存放同类型变量数据的容器。(容器概念以后再补) 2. 数组初始化 第一种:数据类型[] 数组名 = new 数据类型[数据长度];(动态初始化过程) int[] ...
  • 这篇文章主要介绍了Java数组基本操作方法整理,是Java入门学习中的基础知识,需要的朋友可以参考下: 数组是具有相同数据类型的一组数据的集合,...下面以一维数组为例说明Java数组用法。 1、数组声明 数组声明
  • 数组用来顺序存储一系列数据,且每一项都需具有相同的类型(基本数据类型、类或者相同的父类)。 - 数组的创建和初始化 在Java中,创建数组需要以下三个步骤: 声明数组的名字和类型 创建数组(需要指定数组的长度...
  • Java数组基本用法

    2016-07-20 16:08:45
    一维数组数组的定义:1、数据类型 数据名[] (数据类型 [] 数据名) =new 数据类型[];例如 int a[]=new int []; 2、数据类型 数据名[] (数据类型 [] 数据名) ;//先声明 例如:int a[]; 数据名=new 数据类型[];//再...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 741
精华内容 296
关键字:

java数组基本用法

java 订阅