精华内容
下载资源
问答
  • 2019-05-31 08:39:01

    参考地址:http://c.biancheng.net/view/916.html

    声明的正确写法:

    int [][] temp = new int[2][];	//限定了一维数组的个数
    int [][] temp = new int[2][3];	//限定了一维数组的个数和每个一维数组的长度
    int [][] temp;	//对一维数组的个数和一维数组的长度都没有限定
    int [][]temp = new int [][] {{1},{2,3}};	//声明的同时初始化二位数组

    定义的正确写法:

    int [][] temp = new int[2][];	//限定了一维数组的个数
    temp[0] = new int[] {1,2,3};
    temp[1] = new int[] {3,4,5};
    //temp[2] = new int[] {6,7,8};	//这句编译的时候不会出错,但运行的时候会抛出数组越界异常

     


    错误示范1:

    int [][] temp;
    temp[0] ={1,2,3,4};	//不能通过编译
    System.out.println(temp[0][0]);
    
    /*temp[0]是存的是地址,指向一维数组*/

    正确示范1: 

    int [][] temp;
    temp = new int[][] {{1},{2,3}};	//正确写法
    System.out.println(temp[0][0]);	//1

    错误示范2:

    int [2][] temp;	//编译出错

    正确示范2: 

    int [][] temp = new int[2][];	//可以只声明一维数组的个数,不可以只声明一维数组的长度
    temp[0] = new int[] {1};
    temp[1] = new int[] {2};
    temp[2] = new int[] {2};
    System.out.println(temp[1][0]);

     


    错误示范3:

    int [][] temp = new int[2][3];	//限定了一维数组的个数和每个一维数组的长度
    temp[0] = new int[] {1,2,3,2};  //超出了限定的一维数组的长度也没有报错,而且可以正常输出
    temp[1] = new int[] {3,4,5};
    for(int i=0;i<temp.length;i++) {
    	for(int j=0;j<temp[i].length;j++) {
    		System.out.print(temp[i][j]);
    	}
    	System.out.println();
    }
    
    /*重新new了一行,每行的个数重新定义了*/

     

     

    更多相关内容
  • 声明一维数组时常见错误

    千次阅读 2019-01-28 15:07:10
    /// 声明和初始化时易出现的错误 /// &lt;/summary&gt; /// &lt;param name="args"&gt;&lt;/param&gt; static void Main(string[] args) { int[] array...
    /// <summary>
            /// 声明和初始化时易出现的错误
            /// </summary>
            /// <param name="args"></param>
            static void Main(string[] args)
            {
                int[] array =new int[5]{0,1};
            }
    

    会出现这种错误信息

    原因是声明和初始化一维数组的语句是错误的,代码“int[5]”告诉编译器数组长度是5,但是只有给其中两个元素赋初始值

    声明数组

    static void Main(string[] args)
            {
                //声明数组并初始化
                int[] arry = new int[5] { 6, 1, 2, 3, 4 };
                int[] arr1 = new int[] { 0, 1, 2, 3, 4 };//省略数组长度
                int[] arr2 ={ 0, 1, 2, 3, 4 }; //省略 new 关键字
                Console.WriteLine("数组 array 的元素个数是{0}",arry.Length);
                Console.WriteLine("数组 array 的元素个数是{0}", arr1.Length);
                Console.WriteLine("数组 array 的元素个数是{0}", arr2.Length);
    

    可以通过 “数组名.Length” 的形式来获得数组的长度
    在这里插入图片描述

    展开全文
  • 数组声明和使用

    千次阅读 2020-07-19 14:22:56
    一、声明一个数组 1.一维数组声明与初始化 正确的方式: int num;//声明 num = 10;//初始化 int id = 1001;//声明 + 初始化 int[] ids;//声明 //1.1 静态初始化:数组的初始化和数组元素的赋值操作同时进行 ids ...

    用于批量保存一类数据,是引用数据类型之一

    一、声明一个数组

    1.一维数组的声明与初始化
    正确的方式:
    int num;//声明
    num = 10;//初始化
    int id = 1001;//声明 + 初始化

    	int[] ids;//声明
    	//1.1 静态初始化:数组的初始化和数组元素的赋值操作同时进行
    	ids = new int[]{1001,1002,1003,1004};
    	//1.2动态初始化:数组的初始化和数组元素的赋值操作分开进行
    	String[] names = new String[5];
    
    int[] arr4 = {1,2,3,4,5};//类型推断
    

    错误的方式:
    // int[] arr1 = new int[];
    // int[5] arr2 = new int[5];
    // int[] arr3 = new int[3]{1,2,3};

    2.一维数组元素的引用:通过角标的方式调用。
    //数组的角标(或索引从0开始的,到数组的长度-1结束。
    names[0] = “王铭”;
    names[1] = “王赫”;
    names[2] = “张学良”;
    names[3] = “孙居龙”;
    names[4] = “王宏志”;//charAt(0)

    3.数组的属性:length
    System.out.println(names.length);//5
    System.out.println(ids.length);

    说明:
    数组一旦初始化,其长度就是确定的。arr.length
    数组长度一旦确定,就不可修改。
    4.一维数组的遍历
    for(int i = 0;i < names.length;i++){
    System.out.println(names[i]);
    }
    5.一维数组元素的默认初始化值
    > 数组元素是整型:0

    •  > 数组元素是浮点型:0.0
      
    •  > 数组元素是char型:0或'\u0000',而非'0'
      
    •  > 数组元素是boolean型:false
      
    •  > 数组元素是引用数据类型:null
      

    6.一维数组的内存解析
    在这里插入图片描述

    三、数组的遍历

    int s = scores[0];
    System.out.println(s);
    System.out.println(scores[1]);
    System.out.println(scores[2]);
    System.out.println(scores[3]);
    System.out.println(scores[4]);
    

    1、普通 for 循环遍历数组

    for(int i = 0; i < scores.length; i++){
    	int a = scores[i];
        System.out.println(a);
    }
    
    for(int i = 0; i < persons.length; i++){
        Person p = persons[i];
        System.out.println(p.say());
    }
    

    2、增强 for 循环遍历数组

    for(被遍历数组中元素的数据类型 变量名 : 被遍历的数组){

    }

    for(int a : scores){
        System.out.println(a);
    }
    
    for(Person p : persons){
        System.out.println(p.say());
    }
    
    //注意:增强 for 循环不擅长修改数组中元素的值
    //需求:改变数组中元素的值
    for(int a : scores){
        if(a == 2){
            a = 22;//改变变量 a 的值,与数组中元素的值没关系
        }
    }
    
    for(int i = 0; i < scores.length; i++){
        if(scores[i] == 2){
            scores[i] = 22;
        }
    }
    
    for(Person p : persons){
        if(p.getAge() == 18){
            p.setAge(22);
        }
    }
    
    for(Person p : persons){
        System.out.println(p.getAge());
    }
    

    四、数组的特点

    1、数组无论静态初始化还是动态初始化必须指明长度

    2、数组中每个元素都具有索引值(下角标、下标),索引值从0开始,到数组的长度 - 1.

    3、获取数组长度的属性:length

    五、数组的默认值

    基本数据类型:

    byte short int --> 0

    long --> 0L

    float --> 0.0F

    double --> 0.0D

    char --> ‘\u0000’

    boolean --> false

    引用数据类型: —> null

    ​ |–类(class)

    ​ |–接口(interface)

    ​ |–数组([])

    六、数组的常见异常

    int[] arr = new int[5];
    arr[8] = 100; //ArrayIndexOutOfBoundsException 数组下标越界异常
    
    Person[] persons = new Person[3]; //{new Person("张三", 18), null, null}
    persons[0] = new Person("张三"18)for(Person p : persons){
    	System.out.println(p.say());//null.say()
    }//NullPointerException 空指针异常
    

    七、二维数组

    1、声明一个二维数组

    int[][] arr;
    

    2、为二维数组初始化并赋值

    ①静态初始化:初始化操作和赋值操作同时进行

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

    ②动态初始化:初始化操作和赋值操作分开进行

    ​ 方式一:

    arr = new int[3][4];//{ {0,11,0,0}, {0,0,66,0}, {0,0,0,0} }
    arr[0][1] = 11;
    arr[1][2] = 66;
    

    ​ 方式二:

    arr = new int[3][];//{ null, {0,66}, {0,0,0} }
    arr[1] = new int[2];
    arr[2] = new int[3];
    
    arr[1][1] = 66;
    

    3、二维数组的遍历

    //从二维数组中获取一个个的以为数组
    for(int i = 0; i < arr.length; i++){
        int[] as = arr[i];
        
        //从一维数组中取出一个个的 int 类型的数据
        for(int j = 0; j < as.length; j++){
            System.out.print(as[j] + "\t");
        }
        System.out.println();
    }
    
    //从二维数组中获取一个个的以为数组
    for(int i = 0; i < arr.length; i++){
        //从一维数组中取出一个个的 int 类型的数据
        for(int j = 0; j < arr[i].length; j++){
            System.out.print(arr[i][j] + "\t");
        }
        System.out.println();
    }
    
    for(int[] as : arr){
        for(int a : as){
            System.out.print(a + "\t");
        }
        System.out.println();
    }
    

    二维数组的内存结构
    在这里插入图片描述

    八、命令行参数(了解)

    class HelloWorld{
        public static void main(String[] args){//args : 命令行参数
            for(int i = 0; i < args.length; i++){
                System.out.println(args[i]);
            }
            
            //将 String 转换成 int
            int num = Integer.parseInt(args[0]);
        }
    }
    //通过运行命令 java HelloWorld "aaa bbb" ccc  传递一些测试数据
    

    九、可变参数

    注意:

    ​ ①可变参数与数组参数之间不能构成重载

    ​ ②可变参数必须写在参数列表的末尾

    public static void main(String[] args){
        //int[] arr = {1,2,3,4,5}; 
        //int sum = add(arr);//每次调用该方法,需要创建一个数组,有点麻烦
        
        add(1,2,3,4,5);//
    }
    
    //需求:计算两个整数的和
    /*public int add(int a, int b){
        return a + b;
    }
    
    //需求:计算三个整数的和
    public int add(int a, int b, int c){
        return a + b + c;
    }*/
    
    //需求:计算 N 个整数的和
    /*public static int add(int[] arr){
        int sum = 0;
        for(int i = 0; i < arr.length; i++){
            sum += arr[i];
        }
        return sum;
    }*/
    
    //可变参数低层是数组,数组中数据如何取,可变参数中的数据就如何取
    public static int add(int ... arr){//可变参数,调用该方法时可以传递 0 个或 多个 int 类型的数据
        int sum = 0;
        for(int i = 0; i < arr.length; i++){
            sum += arr[i];
        }
        return sum;
    }
    
    public static void add(String ... args){
        
    }
    
    public static void add(double d1, Person ... persons){
        
    }
    

    【扩展】
    数组的排序算法在这里插入图片描述

    理解:
    1)衡量排序算法的优劣:
    时间复杂度、空间复杂度、稳定性

    2)排序的分类:内部排序 与 外部排序(需要借助于磁盘)

    3)不同排序算法的时间复杂度
    在这里插入图片描述

    展开全文
  • 【判断题】continue语句只用于循环语句中,它起到终止本次循环,返回到循环开始处的作用。 (5.0分)【判断题】default在switch选择结构中是必需的。 (5.0分)【填空题】循环语句包括for循环、 和 。 (10.0分)【其它】...

    【简答题】3,单冲压片机的安装程序?

    【判断题】continue语句只用于循环语句中,它起到终止本次循环,返回到循环开始处的作用。 (5.0分)

    【判断题】default在switch选择结构中是必需的。 (5.0分)

    【填空题】循环语句包括for循环、 和 。 (10.0分)

    【其它】编写程序:从键盘输入一个正整数,然后计算它的阶乘。 注:阶乘计算公式为:n!= n * (n-1) *......*1,n》1。 (15.0分)

    【判断题】while循环中循环体至少执行一次。 (5.0分)

    【填空题】对于代码 int x,a=2,b=3,c=4; x=++a+b+++c++; 的执行结果为 。 (5.0分)

    【填空题】顺序结构、选择结构和 是结构化程序设计的3种基本流程控制结构。 (5.0分)

    【单选题】若已定义byte[ ] x={1,2,3,4};其中0《k《3,则对x数组元素错误的引用是( )。 (5.0分)

    【多选题】完整的Java体系结构包括: (5.0分)

    【填空题】每一个else子句都必须和一个距离它最近的 子句相对应。 (5.0分)

    【判断题】break语句在switch选择结构中是必需的。 (5.0分)

    【其它】编写一个程序,从键盘输入两个整数,然后输出它们的和。 (20.0分)

    【简答题】单冲压片机由哪几部分组成?

    【多选题】JVM、JRE及JDK的包含关系为: (5.0分)

    【其它】编写程序:从键盘输入三个整数,然后比较它们的大小,输出最大值和最小值。 (15.0分)

    【判断题】do-while循环中循环体至少被执行一次。 (5.0分)

    【判断题】break语句只用于循环语句中,它起到终止本次循环的作用。 (5.0分)

    【填空题】数组声明后,必须使用 运算符分配内存空间。 (5.0分)

    【填空题】声明数组仅仅是给出了数组名字和元素的数据类型,要想真正地使用数组还必须为它 。 (5.0分)

    【判断题】Java中数组元素只能是简单数据类型。 (5.0分)

    【填空题】当整型变量n的值不能被13除尽时,其值为false的Java语言表达式是 。 (5.0分)

    【填空题】Java中声明数组时,包括数组的名字、数组中包含的元素的 。 (5.0分)

    【判断题】整型数组可以定义为:int[] intArray[60]; (5.0分)

    【判断题】Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。 (5.0分)

    【多选题】开发Java应用程序的基本步骤包括: (5.0分)

    【填空题】在Java中,所有的数组都有length属性,这个属性存储了该数组的 。 (5.0分)

    【填空题】Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为 和 两种具体类型。 (10.0分)

    【填空题】Java中的类由 和 两部分组成。 (10.0分)

    【单选题】设数组定义为:int[ ] Array = new int[10];则数组的第一个元素的正确引用方法为( )。 (5.0分)

    【判断题】Java是不区分大小写的语言。 (5.0分)

    【填空题】Java的引用数据类型有 、 和 。 (15.0分)

    【填空题】Java语言的跳转语句有3种:continue、break、和 。 (5.0分)

    【填空题】语句的功能是:跳过循环体内下面未执行的语句,回到循环体开始位置,继续下一次循环。 (5.0分)

    【判断题】Java中数组元素下标总是从0开始,下标可以是整型或整型表达式。 (5.0分)

    【判断题】Java表达式在进行运算时,同级运算符按从右至左的方向进行。 (5.0分)

    【其它】编写一个程序,使用数组存放每个月的天数,然后用循环输出每个月的天数。 (30.0分)

    【判断题】在Java的方法中定义一个常量要用const关键字。 (5.0分)

    【多选题】Java开发工具包JDK包括: (5.0分)

    【填空题】设有数组定义为:int a[ ]={1,2,3,4,5,6,7,8,9};则执行下列语句后的输出结果为: for(int i=0; i

    【简答题】分析复方磺胺甲噁唑处方成分并写出制备工艺流程和制备注意事项

    【填空题】在switch语句中,break语句的作用是:执行完一个 分支后跳出 语句。 (10.0分)

    【判断题】说明或声明数组时不分配内存大小,创建数组时分配内存大小。 (5.0分)

    【单选题】设i、j为int型数组变量名,a为int型数组名,以下选项中,正确的赋值语句是( )。 (5.0分)

    【填空题】已知:boolean b1=true,b2; 则表达式:!b1 && b2 || b2的值为 。 (5.0分)

    【单选题】完成以下代码后int[ ]x = new int[5];以下哪项说明是正确的( )。 (5.0分)

    【多选题】Java语言的特点包括:(5.0分)

    【判断题】强制类型转换运算符的功能是将一个表达式的类型转换为所指定的类型。 (5.0分)

    【简答题】2.单冲压片机的压片过程是?

    【判断题】如下代码是正确的: char[] chrArray={'a','b','c','d','e','f','g'};char chr = chrArray[6]; (5.0分)

    展开全文
  • Java数组声明与创建示例详解

    千次阅读 2021-02-12 10:34:49
    今天在刷Java题的时候,写惯了C++发现忘记了Java数组的操作,遂把以前写的文章发出来温习一下。首先,数组有几种创建方式?Java程序中的数组必须先进行初始化才可以使用,所谓初始化,就是为数...下面是声明数组变量...
  • 数组声明与使用

    万次阅读 多人点赞 2017-01-18 18:19:24
    一、数组的概念 所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为...
  • 在Java中定义一个具有10个元素的整型数组a的语句是:___答: int [] arr = new int[10]在借贷记账法下()答:在账户结构上,“借”和“贷”表示两个对立的方向 在金额的增减变化上,“借”和“贷”可表示“增加”或...
  • 是对一维数组进行赋值,而a是二维数组无法使用一维数组的赋值方法,所以程序会报错。该代码的正确方法应该是:int a[][] = new int[3][2];a[0][0]=1;a[0][1]=6;扩展资料java定义二维数组的方法:1、动态初始化数据...
  • 导航:网站首页 >...这样赋值在java中是不允许的,会判定为语法错误,首先java只可以在class中声明成员变量,而不能对变量赋值,你只能在方法中(例如:main方法或者其他方法)对变量赋值。但是cl...
  • java数组练习题目

    2021-03-05 13:32:39
    java数组练习题目 1 一 填空题 1) 数组的元素通过 来访问,数组 Array 的长度为 。 2) 数组复制时,“=“将一个数组的 传递给另一个数组。 3) 没有显式引用变量的数组称为 数组。 4) JVM 将数组存储在 ( 堆或栈) 中...
  • 【填空题】若已有数组说明“char s[];”,则创建 20 个字符的数组语句是s... (5.0分)【单选题】下列创建数组语句中正确的是(3.0分)【单选题】下面哪个选项正确声明一个字符型数组(2.0分)【单选题】下面哪条语句定...
  • 数组声明和定义的注意事项

    万次阅读 2018-02-08 11:53:26
    一、不允许数组拷贝和赋值... //错误:不能把一个数组直接赋值给另一个数组二、复杂的数组声明int arr[10];int *ptrs[10]; //ptrs是含有10个整形指针的数组int &amp;refs[10]=/*?*/; //错误:不存在引用的数组i...
  • 数组的定义,声明实例化

    千次阅读 2018-04-16 23:15:00
    为什么要定义数组: 方法不能返回多个值 将欲返回的多个值放在数组中,就可以间接实现返回多个值的效果数组声明实例化通过数组名加数组下标,来使用数组中的数据。下标从 0 开始排序。声明一维数组数组元素...
  • Java中对数组声明与初始化

    千次阅读 2021-03-15 21:18:03
    Java语言中,使用数组必须经过数组的声明和分配储存空间两个步骤。... 在声明数组的时候虽然默认初始值NUL表示没有分配储存空间,建议声明时一定要给出默认值。(数组类型属于引用类型,赋值为null表示还指向...
  • Java基础(五):Java数组声明与初始化

    千次阅读 多人点赞 2021-01-04 11:31:27
    初始化就是为数组的数组元素分配内存空间,并为每个数组元素附初始值。 注意:数组完成初始化后,内存空间中针对该数组的各个元素就有个一个默认值: 基本数据类型的整数类型(byte、short、int、long)默认值是...
  • Java-控制语句数组与方法

    千次阅读 2021-06-07 11:45:17
    4.4.1 什么是索引 4.4.2 访问数组元素格式 4.5 案例 5 内存分配 5.1 Java中的内存分配 5.1.1 常量池 5.1.2 栈 5.1.3 堆 5.2 数组的内存分配 5.2.1 单个数组的内存分配 5.2.2 两个数组的内存分配 5.2.3 声明数组对象...
  • 【单选题】数组元素之所以相关,是因为它们具有相同的【单选题】下面程序的执行结果是_________ 。【单选题】下列哪个赋值语句是不正确的________ 。【简答题】1.注册QQ账号,用字符数组存放注册QQ号码及密码。然后再...
  • ARM汇编循环语句框架、数组求和

    千次阅读 多人点赞 2022-04-06 17:15:42
    ARM汇编数组求和、ARM汇编语句循环框架
  • 动态数组在VBA中经常用到,使用`ReDim`可以修改动态数组最后一维的上界,但是有时会出现运行时错误10,即:该数组被固定或暂时锁定,为什么会出现这种错误呢? 这样的问题其实也不难解决,只要使用结构化编程方式,...
  • C语言动态数组

    千次阅读 2021-06-07 17:42:25
    当要用它时,可随时用ReDim语句(C语言中用malloc语句)重新指出数组的大小。中文名C语言动态数组释义相对于静态数组而言根据随程序需要而重新指定大小定义声明时没有确定数组大小的数组C语言动态数组词目释义编辑动态...
  • Java语言基础知识_1.3:数组

    千次阅读 2019-05-14 22:36:13
    1. 关于Java中数组的说法正确的是: 数组可以动态初始化 数组可以赋值给Object类型的对象 数组可以调用Object类的所有方法 ...2. 对于数组声明与使用,下列说法正确的是: 对于声明 String s...
  • Java for语句数组

    千次阅读 2018-09-05 20:04:11
    其中声明的循环变量类型必须和数组的类型相同,为了便于理解,可以将上述for语句理解为: “对于循环变量以此取数组的每一个元素的值”。 例:for语句的传统方式与改进方式访问数组。 **public clas...
  • java循环语句,一维数组

    千次阅读 2018-10-16 16:22:56
    1、实现二分查找算法:有序的数组 public class TestDemo1 { public static int binary(int[] array, int key) {//key为要查找的数 Arrays.sort(array);//正序排列数组 System.out.println(&amp;amp;amp;...
  • 数据结构之数组——每日一练

    千次阅读 2022-04-14 21:50:35
    错误。 以下叙述正确的是?(B) A. 线性表的顺序存储结构优于链表存储结构。 B. 二维数组是其数据元素为线性表的线性表。 C. 栈的操作方式是先进先出。 D. 队列的操作方式是先进后出。 解析: A. 顺序存储优点:...
  • 变量声明和使用 1.shell变量是弱类型  * 声明变量不用声明类型  * 可以存储不同类型的内容  * 使用时要明确变量的类型  * 区分大小写 2 变量声明及赋值格式  2.1 格式  变量名=变量值 # 注意...
  • C++中使用new动态声明二维数组的方式

    千次阅读 多人点赞 2020-07-24 22:46:00
    C++中动态二维数组声明方式 在C/C++中定义动态数组时我们都很熟悉使用的是 new 关键字,基本语法如下: typeName *arrayName = new typeName[arraySize]; 比如若想通过输入的 n 来创建一个数组大小为 n 的 int 型...
  • 数组学习心得

    2012-11-15 22:31:17
    4. Java Array 1) 数组变量的声明 int[] ary; 声明了数组变量 ary, 数组... 3) 数组对象的静态初始化, 只能用在声明数组变量时候同时初始化 * 不能用于赋值语句 int[] ary = {1,2,3}; ary = {3,4,5,6};//编译错误
  • * 流程控制语句【掌握】 * 顺序结构 * 选择结构 * 循环结构 * for循环 【掌握】 * while循环【掌握】 * do...while循环【理解】 * 控制循环语句【掌握】 * 控制嵌套【掌握】 * Random随机数【了解】 * ...
  • C 字符串数组初始化问题

    千次阅读 2021-05-19 09:29:16
    1、定义的时候直接用字符串赋值char a[10]=...这样是错误的!2、对数组中字符逐个赋值char a[10]={'h','e','l','l','o'};3、利用strcpychar a[10]; strcpy(a, "hello");易错情况:1、char a[10]; a[10]="hello"...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 197,086
精华内容 78,834
关键字:

下面声明数组的语句错误的是