精华内容
下载资源
问答
  • Java数组数组的声明与创建数组声明方式创建数组使用new来创建数组变量数组的长度数组的初始化静态初始化动态初始化默认的初始化内存分析 数组的声明与创建 数组声明方式 dataType[] arrayRefaVar;//首选 dataType ...

    数组的声明与创建

    数组声明方式

    dataType[] arrayRefaVar;//首选
    
    dataType arrayRefaVar[];
    

    创建数组

    使用new来创建数组变量

    dataType[] arrayRefaVar = new dataType[arraySize];
    

    数组的长度

    使用数组的length属性,每个数组都有一个length属性。
    如:获取数组名为array的长度

    int length = array.length
    

    数组的初始化

    静态初始化

    不指定数组长度,在声明的时候赋初值由系统自动声明长度

    int[] array=1,2,3,4,5;
    
    ObejcetType[] objects={new ObjectType(2),new ObjectType(2)};
    

    动态初始化

    int[] a = new int[2];
    a[0]=1;
    a[1]=2;
    

    默认的初始化

    数组是引用类型,他的元素类型相当于类的实例变量,数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化

    展开全文
  • Java多维数组声明格式

    千次阅读 2019-04-20 22:49:42
    关于多维数组声明的形式你知道哪几种呢? 首先先上一个错误的例子: 这里arr9 - arr11在等式右边都错误的在中括号中加了数组大小,导致报错; 而arr11、arr12则是等式右边二维数组初始化时没有赋予初始大小导致报错...

    刷题目再次遇到了声明这种最基本形式的考题,以此记录,共勉。

    关于多维数组声明的形式你知道哪几种呢?

    首先先上一个错误的例子:
    2

    这里arr9 - arr11在等式右边都错误的在中括号中加了数组大小,导致报错;
    而arr11、arr12则是等式右边二维数组初始化时没有赋予初始大小导致报错。

    正确的声明形式如下:
    1
    本质上arr0、arr4和arr3、arr8是一样的;

    而arr1-2和arr5-6则是以一种俏皮的方式进行了声明,虽然也是可以通过编译运行的,但是我的IDE上的阿里代码规约还是建议使用arr0、arr4 或者 arr3、arr8这种形式。
    3
    大家只要知道可以这样子声明即可,实际工作中为了方便他人查看代码,还是遵守一些规约吧!


    这里献上代码以供大家到IDE中测试:

        int[][] arr0 = new int[2][2];
        int arr1[][] = new int[2][2];
        int []arr2[] = new int[2][2];
        int [][]arr3 = new int[2][2];
    
        int[][][] arr4 = new int[2][2][2];
        int arr5[][][] = new int[2][2][2];
        int []arr6[][] = new int[2][2][2];
        int [][]arr7[] = new int[2][2][2];
        int [][][]arr8 = new int[2][2][2];
    

    最近在找实习,压力有点大,写点博客减减压。

    展开全文
  • 关于数组能否用变量声明长度

    千次阅读 2020-04-13 21:53:51
    第一行照例本鸽子精咕咕咕。...不是不允许变量声明数组长度吗(这个人没听课+C语言被强调多次记忆太深)。 先说结论:Java是可以变量声明数组长度的。 C语言: 我们学习C语言的时候,都会被强调不能定义一个...

    第一行照例本鸽子精咕咕咕。

     

    写这个博客的起因:

    写java作业习惯性定义了new int[105][105]的数组交上去并被打回重做。

    老师:不允许出现固定数组你105是什么鬼!

    我内心os:????不是不允许变量声明数组长度吗(这个人没听课+C语言被强调多次记忆太深)。

     

    先说结论:Java是可以变量声明数组长度的。

    C语言:

    我们学习C语言的时候,都会被强调不能定义一个变量,再利用变量声明数组。

    ex:

    int n;
    scanf("%d",&n);
    int a[n];

    这样是不允许的。包括C++。

    C语言中的数组是在程序运行之前提前向系统申请了内存空间,没有申请空间不允许读写。所以如果数组长度是变量,不能提前申请空间,所以不能用变量来设置动态数组。

    但可以利用malloc函数来动态分配空间,实现数组的不定长声明。

    Java:

    Java的数组是用new来声明,相当于c++中的new,相当于c中的malloc,是动态分配内存空间的,所以可以用来设置不定长数组。

    即:

    import java.util.Scanner;
    
    public class T{
        public static void main(String[] args){
            Scanner cin = new Scanner(System.in);
            int n;
            n = cin.nextInt();
            int[] a = new int[n];
        }
    }

    或许有错orz欢迎指出错误

     

    展开全文
  • 数组声明和赋值总结

    万次阅读 2018-03-18 19:11:27
    声明数组声明数组变量仅有一种语法,即:数据类型[] 变量名,比如:string[] strs;这句代码应该这样理解:变量strs的类型是数组strs的每一项存放的数据是string变量strs还未被赋值数组的赋值我们知道,变量的三要素是...

    声明数组

    声明数组变量仅有一种语法,即:数据类型[] 变量名,比如:

    string[] strs;

    这句代码应该这样理解:

    • 变量strs的类型是数组
    • strs的每一项存放的数据是string
    • 变量strs还未被赋值

    数组的赋值

    我们知道,变量的三要素是:数据类型、变量名、值,看以下代码:

    int[] nums;

    这句代码,已经具备了变量的类型(int[])、变量名(nums),但还没有值。

    给数组的赋值语法是:数组变量名 = new 数据类型[长度];

    比如,给刚才定义的数组nums赋值,可以是如下的代码:

    int[] nums;
    nums = new int[5]; //给变量nums赋值为长度为5的int数组

    值得注意的是,赋值语法中的数据类型必须和声明时的数据类型完全一致,因为它们都表示的是同一个意思:数组中每一项的类型。

    根据之前变量的知识,变量可以在声明的时候直接赋值,因此,也可以使用下面的代码,在声明数组时对它赋值:

    int[] nums = new int[5]; //声明一个数组nums,并给它赋值为长度为5的int数组

    效果是完全一样的。

    数组初始化器

    数组初始化器是指:给数组赋值的同时,指定数组每一项的值,在很多时候,这样做可以简化我们的代码。

    比如:

    int[] nums;
    nums = new int[3];
    nums[0] = 2;
    nums[1] = 5;
    nums[2] = 1;

    string[] strs = new string[2];
    strs[0] = "Hello";
    strs[1] = "World";

    上面的这段代码定义了两个数组,并分别给数组赋了值,不仅如此,还为数组每一项赋了值。

    使用数组初始化器,可以简化上面的代码如下:

    int[] nums; //声明数组
    nums = new int[3]{2, 5, 1}; // 使用数组初始化器,给数组赋值的同时指定它每一项的值

    // 使用数组初始化器,给数组赋值的同时指定它每一项的值
    string[] strs = new string[2]{"Hello", "World"};

    代码是不是简洁了很多呢?只要是给数组赋值的时候,都可以使用数组初始化器。

    值得注意的是,在使用数组初始化器时,数组长度必须和初始化的数量相同,比如,以下的代码都是错误的:

    int[] nums1 = new int[3]{2,3};//数组长度为3,但初始化器中只有两项
    int[] nums2 = new int[1]{2,3,1};//数组长度为1,但初始化器中有3项

    更好的做法是,在使用数组初始化器时,不去指定数组长度,让编译器完成对数组长度的计算,比如:

    //不指定数组长度,编译器会根据初始化器中的数量自动填充数组长度
    int[] nums1 = new int[]{2,3};// 编译器会将该数组的长度设置为2
    int[] nums2 = new int[]{2,3,1};// 编译器会将该数组的长度设置为3

    数组的初始化器还有一种更加简化的写法,比如,上面的代码可以简化如下:

    int[] nums1 = {2,3};
    int[] nums2 = {2,3,1};

    效果是完全一样的,只不过,这种极简的做法,仅能存在于声明数组时的初始化,下面的例子很好的说明了这一点:

    int[] nums1 = {2,3}; // 语法正确

    int[] nums2;
    nums2 = {2,3,1}; //语法错误,极简的初始化器必须在声明时使用

    int[] nums3 = new int[]{2,3};//语法正确

    int[] nums4;
    nums4 = new int[]{2,3,1}; // 语法正确
    展开全文
  • [C]C语言声明/函数声明/数组声明

    千次阅读 2019-10-05 00:32:16
    括号()表示这是一个函数,而方括号[]表示这是一个数组。 3.前缀操作符: *表示“指向...的指针” 另外,对于有const或volatile关键字的声明,当const或volatile后面紧跟类型说明符(int, long等...
  • php数组声明,遍历,数组全局变量

    千次阅读 2013-06-05 11:48:44
    php教程数组声明,遍历,数组全局变量 /* * 一、数组的概述 * 1.数组的本质:管理和操作一组变量,成批处理 * 2.数组时复合类型(可以存储多个) * 3.数组中可以存储任意长度的数据,也可以存储任意类型的数据 *...
  • 一维数组、二维数组声明与初始化

    千次阅读 2018-12-11 08:17:25
    一维数组 声明 type var [ ]; 或 type [ ] var; //例 int age [ ]; 或 int [ ] age; 注意:java中声明时不能指定其长度 对象创建 数组名 = new 数组元素的类型[数组元素的个数] //例 int age [ ]; ...
  • keil C数组声明问题

    千次阅读 2017-12-06 20:14:14
    C语言中,我们声明一个一维数组,可以用以下几种方法 int buf[3]; int buf[] = {0}; int buf[3] = {1,2,3}; 但是今天在keil中 使用int buf[] = {0}这种方式进行声明,发现编译正常通过,但是运行时,出现...
  • java的数组声明方式

    千次阅读 2018-12-27 18:13:40
    **java中的数组声明方式介绍** 事例: java中声明数组的方式: 1. String [] hello1 = {1,2,3,4}; 2. String [] hello2 = new String[4]; 3. String [] hello3 = new String[]{1,2,3,4}; 代码如下: public ...
  • String数组声明赋值

    千次阅读 2012-07-11 11:07:58
    [code="java"] String[] A = new String[]{}; ...这个String数组声明赋值哪里不正确?求指教 [/code] [code="java"] 数组的声明由几种方式: 1,String []a = new...
  • C++ 理解复杂的数组声明

    千次阅读 2017-03-09 09:33:46
    /*理解复杂的数组声明*/ /*规则:从数组名开始由内向外,由右至左顺序阅读*/ /*小技巧:看左边的类型和*或者&有没有紧挨着,没有被括号括起来,那么说明*或&是数组元素类型的一部分*/ /*一个小程序即可理解*/ ...
  • 整型数组声明与定义

    千次阅读 2020-02-08 17:28:10
    声明数组int arr[9] 定义数组,输入数据截止到下标 arr[6],系统自动给arr[7] arr[8] 赋值为 0 int x; //输入数据 int i = 0 ; //记录位数 int a[5]; //存储逆序 int temp; printf("输入数据x:"); scanf(...
  • C++数组声明的方式

    千次阅读 2016-04-21 09:18:21
    指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针数组指针:a pointer to an array,即指向数组的指针还要注意的是他们用法的区别,下面举例说明。int* a[4] 指针数组 表示:数组a中的...
  • 下面,我们将了解数组的概念,数组声明与使用,以及数组内存的操作(初始化,数组复制等)。后面,我们将顺带了解字符串相关内容。 数组概念   请大家先考虑以下数学中的数列,它们使用下标来区分其中元素。数组...
  • 关于数组初始化

    千次阅读 2017-03-30 17:17:20
    1.定义一个数组,如果没有初始化,那么数组...初始化时,如果数值个数多余数组元素个数,编译会报错,这个问题可以在数组声明时省略方括号中的数字,让编译器自动匹配数组大小和初始化列表中的数值个数。#include<st
  • 数组声明和定义的注意事项

    万次阅读 2018-02-08 11:53:26
    一、不允许数组拷贝和赋值... //错误:不能把一个数组直接赋值给另一个数组二、复杂的数组声明int arr[10];int *ptrs[10]; //ptrs是含有10个整形指针的数组int &amp;refs[10]=/*?*/; //错误:不存在引用的数组i...
  • C语言与JAVA在二维数组声明省略行列的问题 我在学习过程遇到了一个C语言二维数组声明省略行列的问题,因为学习了JAVA所以做题时纠结很久,因为记得JAVA二维数组每行的元素个数可以不同,所以认为必须声明行数可以...
  • 数组声明

    2020-08-08 10:07:22
    数组声明创建 首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法: dataType[] arrayRefVar;//首选方法 数据类型[] 变量名; 或 dataType arrayRefVar[];//效果相同,但不是首选方法 Java语言...
  • Java中数组声明和初始化

    千次阅读 2015-11-26 12:23:23
    在c语言中,通常我们在声明数组的时候,可能不会对其赋初值并且可以指定数组的元素个数,如: int a[10]; 之后的语句可以对数组a[10]进行直接的赋值和操作。 在java中,声明数组会有所不同,如 int[ ] a...
  • JS数组声明技巧、数组动态添加元素

    千次阅读 2011-04-02 11:08:00
    JS数组声明技巧、数组动态添加元素 2008年11月11日 星期二 21:56 数组的在任何语言中,都是一种很重要的数据结构,在JS中也不例外,今天发现了一个很好的技巧,一个是在JSON中声明数组的方法。 数组可以...
  • C# 常见数组声明与使用

    千次阅读 2019-02-11 22:45:01
    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;...namespace _0210_数组声明 { class Program { static void Main(string[] ...
  • c++二维数组声明

    2020-03-06 11:11:57
    一、一维数组 静态 int array[100]; 定义了数组array,并未对数组进行初始化 静态int array[100] = {1,2}; 定义并初始化了数组array 动态int* array = new int[100]; delete []array; 分配了长度为100的...
  • 数组声明以及初始化

    千次阅读 2016-10-13 16:38:35
    本文转载自:... 1、字符数组的定义与初始化  字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。  char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 751,260
精华内容 300,504
关键字:

关于数组的声明