精华内容
下载资源
问答
  • java对象数组 创建对象数组,初始化对象数组

    万次阅读 多人点赞 2019-07-30 16:34:15
    当需要一个的多个对象时,应该用该对象数组来表示,通过改变下标值就可以访问到不同的对象。 对象数组的定义和使用: 对象数组的定义与一般数组的定义类似,但是需要为每一个元素实例对象数组的声明形式...

    对象数组的概念:
    如果一个数组中的元素是对象类型,则称该数组为对象数组。
    当需要一个类的多个对象时,应该用该类的对象数组来表示,通过改变下标值就可以访问到不同的对象。
    对象数组的定义和使用:
    对象数组的定义与一般数组的定义类似,但是需要为每一个元素实例化。
    对象数组的声明形式是:
    类名 对象数组名 [ ];
    为对象数组分配内存空间:
    对象数组名=new 类名[数组长度];//注意 :此处不是构造方法了
    可以将对象数组的声明和创建用一条语句来完成。例如:定义一个学生类对象数组,可以用下面的语句定义:Student stu[ ]=new Student[30]; stu [ ]是对象数组名,它所表示的数组一共有30个元素,每一个元素都是Student类的对象名,还没有实例化,所以还必须为每一个元素实例化。比如如下的过程:
    for(int i=0;i<stu.length;i++)
    stu[i]=new Student();
    实例化以后就可以使用每一个元素对象。
    设计一个雇员类,并创建雇员类的对象数组,输出每个雇员的信息

    //设计一个雇员类,并创建雇员类的对象数组,输出每个雇员的信息
    class Employee {   //雇员类
     private String id;  //编号
     private String name; //姓名
     private int age;     //年龄
     private String vocation; //职务
     public Employee(){} //构造方法一
     public Employee(String id,String name,int age,String vocation){
      set(id,name,age,vocation);
     }
     //设置属性的方法
     public void set(String id,String name,int age,String vocation){
      this.id=id;
      this.name=name;
      this.age=age;
      this.vocation=vocation;
     }
     public String toString() {
      String mess=id+","+name+","+age+","+vocation;
      return mess;
     }
    }
    public class Example4  {
     public static void main(String[] args) {
      Employee 雇员[]=new Employee[3];
      int i;
      for(i=0;i<雇员.length;i++)//为对象数组中每一个元素实例化
      雇员[i]=new Employee();//如果没有写构造方法一,而这样写,会出错
      //因为类中有有参的构造方法,系统就不会在默认给无参的构造方法了,
      //所以当类中写了有参的构造方法后,要用无参的构造方法时必须写出来
      
      //每一个对象元素分别初始化
      雇员[0].set("0001","张文军",50,"总经理");
      雇员[1].set("0002","李琦",45,"副经理");
      雇员[2].set("1016","张丽",28,"秘书");
      for (Employee employee:雇员)
       System.out.println(employee.toString());
     }
    }
    

    在这里插入图片描述
    普通型for循环和增强型for循环
    普通型

    a={1,2,3,4,5};
    for(int i=0;i<a.length;i++) {
     System.out.println9(a[1]);
    }
    

    增强型

    for(int element:a) {
    System.out.println(element);
    }
    

    两者结果相同,但是增强型更为简洁

    对象数组还可以采用初始化的方法创建。创建形式是:
    类名 对象数组名[ ]={对象列表};

    设计一个雇员类,创建雇员类的对象数组并初始化,输出每个雇员的信息,仍然沿用上面的Employee类,程序如下

    class Employee {   //雇员类
     private String id;  //编号
     private String name; //姓名
     private int age;     //年龄
     private String vocation; //职务
     public Employee(){} //构造方法一
     public Employee(String id,String name,int age,String vocation){
      set(id,name,age,vocation);
     }
     //设置属性的方法
     public void set(String id,String name,int age,String vocation){
      this.id=id;
      this.name=name;
      this.age=age;
      this.vocation=vocation;
     }
     public String toString() {
      String mess=id+","+name+","+age+","+vocation;
      return mess;
     }
    }
    public class Example11 {
     public static void main(String[] args) {
      //先创建3个雇员对象
      Employee employee1=new Employee("0001","张文军",50,"总经理");
      Employee employee2=new Employee("0005","李琦",45,"副经理");
      Employee employee3=new Employee("1016","张丽",28,"秘书");
      //声明对象数组并直接初始化
      Employee 雇员1[]={employee1,employee2,employee3};
      output(雇员1);//输出雇员信息
      System.out.println("------------------");//分割线
      //声明对象数组并直接初始化,初始化元素直接调用
      //构造方法创建对象
      Employee 雇员2[]={new Employee("0001","张文军",50,"总经理"),
      new Employee("0005","李琦",45,"副经理"),
      new Employee("1016","张丽",28,"秘书")};
      output(雇员2);
     }
     //定义方法用于输出雇员信息,注意方法是private,static
     private static void output(Employee 雇员[]){
      for(Employee employee:雇员)
       System.out.println(employee.toString());
     }
    }
    

    在这里插入图片描述

    展开全文
  • public static void main(String[] args) { ...//1 初始化数组 for (int i = 0; i < 10; i++){ System.out.println(str[i]);//打印出来的是null } for (int i = 0; i < 10; i++){ str[i] =...

    public static void main(String[] args) {
            String[] str = new String[10];//1 初始化数组

            for (int i = 0; i < 10; i++){
                System.out.println(str[i]);//打印出来的是null
            }

            for (int i = 0; i < 10; i++){
                str[i] = new String("Hello");//2 为对象初始化
            }

            for (int i = 0; i < 10; i++){
                System.out.println(str[i]);//打印出来的是Hello
            }
        }

    1初始化数组:
    它是创建了是个String类型的变量:str[0], str[1],….str[9]
    但是没有为它们创建对象,所以为它们的初始值都为null
    2为对象初始化:
    str[i] = new String(“Hello”);创建了string对象,并让
    变量str[i]引用这个对象

    对象数组初始化的第二种方法

    String[] s = new String[]{"He", "me", "we", "sa", "she"};

    相当于:

    String[] s= new String[5];
            s[0] = "He";
            s[1] = "me";
            s[2] = "we";
            s[3] = "sa";
            s[4] = "she";

    展开全文
  • Java类数组初始化

    千次阅读 2019-07-29 15:16:31
    这句话只是初始化数组指针变量,还没有对数组元素进行初始化 还得有- 初始化代码① : for(int i=0; i<n; i++, pt[i] = new Point() ) ; 我们都已经用过C语言中的memset( pt, x, sizeof(pt) )函数; 自然就会...
    假如有类数Potint []pt = new Point[n];
    这句话只是初始化了数组指针变量,还没有对数组元素进行初始化
    还得有-
    初始化代码① : for(int i=0; i<n; i++, pt[i] = new Point() ) ;
    
    我们都已经用过C语言中的memset( pt, x, sizeof(pt) )函数;
    
    自然就会猜测Java也会有自己的函数来代替for代码:
    所以带着疑问来到Java api查找那个神奇的函数;
    终于找到一个fill函数, 用法是fill(pt, new Point());
    
    原本以为OK了,结果后来发现改变数组一个元素,所有元素都跟着改变了;
    原来fill函数相当于是pt[0] = pt[1] = ....=pt[n-1] = new Point();
    相当于浅拷贝,只要修改数组一个元素,所有元素都会变。。。┭┮﹏┭┮
    
    所以猜测不成立,,,只能用乖乖去用自己敲的初始化代码ooo
    

    GO---------
    -------------↓
    -----------↓↓↓
    233网校拓展java常识

    展开全文
  • 一维数组初始化: 动态初始化:(声明并开辟数组) 数据类型[ ] 数组名称=new 数据类型[长度] int[ ] data=new int [5] :声明并开辟一个长度为5的数组 数组通过下标索引来获取元素,下标默认从0开始。数组下标...

    数组属于引用数据类型,在使用前必须初始化,否则会报NullPointerException(空指针异常:运行时异常)
    一维数组初始化:
    动态初始化:(声明并开辟数组)
    数据类型[ ] 数组名称=new 数据类型[长度]

    int[ ] data=new int [5] :声明并开辟一个长度为5的数组

    数组通过下标索引来获取元素,下标默认从0开始。数组下标超出数组长度,数组越界异常(运行时异常)

    数组中每个元素都有默认值,默认值是该数据类型默认值

    数组长度:数组名称.length

    数组遍历推荐使用JDK1.5 提供for-each循环(仅限于数组内容读取),要修改数组内容,还是使用常规for循环

        for(int x : data)
    

    {
    System.out.println(x+" ");
    }
    引用传递:多个栈内存指向同一块堆内存

    int[ ] tmp=data; //引用传递 注意是地址的传递
    tmp[3]=10; ----> x[3]=10;

    数组静态初始化
    简化格式:
    数据类型[ ] 数组名称 ={值,值…}
    完整格式: (推荐使用)
    数据类型[ ] 数组名称 =new 数据类型[ ]{值,值…}
    int[ ] data =new int[ ] {1,2,3} ;

    长度 :数组名称.length ,静态初始化长度固定,根据值的个数确定长度,并且长度不可修改

    匿名数组:没有任何栈内存指向,在使用一次后会变成垃圾,只会使用一次

    二维数组
    动态初始化:数据类型[ ][ ] 数据名称 =new 数据类型[ 行个数] [列个数]

    int[ ] [ ]data =new int [3][4];开辟行数为3,列数为4的整型数组

    静态初始化:
    数据类型[ ][ ] 数组名称 =new 数据类型[ ][ ]{ {第一行的值},{第二行的值}…}

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

    x<data.length

    y<data[x].length

    对象数组初始化:

    首先看对象数组动态初始化:

    对象数组动态初始化
    public class ArrayDemo
    {
        public static void main(String[] args)
        {
            String[] str=new String[3];  //数组动态初始化,每个元素都是其对应数据类型的默认值
            for(String num :str)
            {
                System.out.print(num+"、"); //null、null、null、
            }
            str[0]=new String("pick");
            str[1]=new String("happy");
            str[2]=new String("day");
           for(String num :str)
           {
               System.out.print(num+"、"); //pick、happy、day、
           }
        }
    }
    

    对象数组静态初始化:

    public class ArrayDemo
    {
        public static void main(String[] args)
        {
            String[] str=new String[]{"pick","happy","day"};  //数组静态初始化,pick、happy、day、
           for(String num :str)
           {
               System.out.print(num+"、"); //pick、happy、day、
           }
        }
    }
    
    展开全文
  • Java自定义类数组初始化 先创建一个A类型 public class A { private int id; public A() { } public A(int id) { this.id = id; } public int getId() { return id; } public void setId(int id)...
  • Java类对象数组声明和初始化

    千次阅读 2014-10-02 11:30:14
    Java是纯面向对象语言。是其重要构成单位。然后,在实际编程中,我们会自定义一些,如Point public class Point { public Point(){ Lat=0.0; Lng=0.0; } public double GetLat(){ return Lat; } ...
  • Java的动态数组初始化

    千次阅读 2019-03-19 18:19:07
    先展示思维导图: 这是一个二数组的遍历图。... * 动态数组初始化 * */ public class Arrary { public static void main(String[] args) { // 二维动态数组并遍历 int[][] arr = new int[3][3]; arr[...
  • Java字符串数组初始化和赋值

    万次阅读 2017-04-29 09:10:37
    原文地址:...//一维数组 String[] str = new String[5]; //创建一个长度为5的String(字符串)型的一维数组 String[] str = new String[]{"","","","",""}; String[] str = {"","","","
  • java数组 初始化_用Java初始化数组

    千次阅读 2020-07-14 21:45:19
    java数组 初始化 具有使用C或FORTRAN等语言进行编程的经验的人熟悉数组的概念。 它们基本上是一个连续的内存块,每个位置都是某种类型:整数,浮点数或您所拥有的。 Java中的情况与此类似,但有一些额外的折痕。 ...
  • Java数组初始化

    千次阅读 2019-05-06 22:34:32
    1.Java数组初始化的两种方法: 静态初始化:程序员在初始化数组时为数组每个元素赋值; 动态初始化:数组初始化时,程序员只指定数组的长度,由系统为每个元素赋初值。 Java数组是一种引用数据类型。数组...
  • java对象数组的声明和初始化

    万次阅读 2015-06-21 22:12:29
    关键点: 在创建后,基本数据类型数组可以直接对数组元素赋值、...摘要:java是面向对象程序设计语言,对象数组作为javase中的基础部分的一个重要环节,是学生们在入门时经常容易混淆的知识点,结合作者个人多年教
  • java中的默认初始化,针对的是基本的数据类型, 而对于 对象数组来说,默认值是null,是该对象的引用,而非对象本身,
  • Java自定义类数组的创建和初始化

    万次阅读 多人点赞 2018-03-18 17:00:22
      刚刚在慕课学习Java的集合List过程中,向集合中添加元素时,遇到一个问题: 定义了一个Course; public class Course { private String id; private String name; //课程名称 //get set方法 ...
  • Java多维数组初始化的问题

    千次阅读 2019-01-11 09:31:47
    昨天遇到了三维数组初始化的问题,代码如下, int[][][] arr = new int[2][][]; arr[1] = new int[][]{{1,2}, {3,4}, {5,6}};//这里出问题了 研究了一下后有所收获,思考过程都在代码注释中,主要是快速初始化和...
  • java代码-例子4-6 用字节数组初始化String对象
  • 主要介绍了Java中对象数组的使用方法,结合实例形式分析了java对象数组的功能、定义、初始化与相关使用技巧,需要的朋友可以参考下
  • 初始化 数组 javaToday we will learn how to initialize an array in java. An array in java is a container that can hold a fixed number of values of the same type. The values can be of the primitive type...
  • java中如何初始化一个类对象数组

    千次阅读 2018-03-14 16:14:42
    初始化一个类对象数组需要分两步 第一步 Animals [] an=new Animals[5]; 这只是个对象类型数组的声明,里面的每一个类对象还是null 第二步 for(int i=0;i&lt;5;i++) an[i]=new Animals(); 对每个...
  • java字符串数组初始化和赋值

    万次阅读 多人点赞 2015-04-20 23:20:14
    //一维数组 String[] str = new String[5]; //创建一个长度为5的String(字符串)型的一维数组 String[] str = new String[]{"","",...String数组初始化区别  首先应该明白java数组里面存的是对象的引用,所以必须初
  • 转载:https://zhidao.baidu.com/question/1959001009392056060.html?qbl=relate_question_1&amp;word=java��byte�����÷�
  • 和基本数据类型一样,对象数组初始化也分为静态初始化,动态初始化两种 对象数组动态初始化 //定义Person class Person { public int age; } //主类 public class Test { public static void main(String[] ...
  • Java对象数组初始化和排序

    千次阅读 2017-09-26 21:32:01
    java对象数组初始化和排序由于今天上机的一道题感觉比较坑,所以总结一下。
  • Java类对象数组的赋值问题

    千次阅读 2020-04-03 22:43:58
    类对象数组在应用是可能会忽略再次实例对象的一个过程, 下面是代码: Student[] student = new Student[5]; for(int i = 0; i < 5; i++) { student[i] = new Student(); //此行即是重点 !!! student[i].set...
  • JAVA对象数组初始化方法

    万次阅读 2009-10-14 23:49:00
    只有再创建新的对象,并把对象赋值给数组引用,到此初始化结束。  2. 在以上程序中如果再使用new创建对象对数组引用赋值,仍会抛出异常:The constructor FileStruct() is not visible 基于此,以上程序应改...
  • -------------因为对象数组不会自动初始化,所以要对每个元素初始化。 而平常我们见到的int、double等类型是基本数据类型,对于基本数据类型的数组,如果没有人为初始化, 那么系统会自动初始化
  • java数组在编程中非常常见,一般我们使用数组有如下几种方式: Object [] obj = new Object[10]; Object [] obj = {};...数组一旦初始化长度之后,是无法更改长度的,也就是说,数组是不可改变...
  • Java基础之数组初始化

    千次阅读 2019-05-24 14:56:47
    Java数组初始化就是给数组对象分配内存空间并且给每个数组元素给予初始值。 ​ 数组的几种初始化方式: ​ 静态初始化:程序员决定数组元素的初始值,系统决定长度。 String[] names = new String[]{"张三",...
  • JAVA基础(数组动态初始化

    千次阅读 2019-05-31 10:16:21
    1,什么是数组初始化 就是为数组开辟连续的内存空间,并为每个数组元素赋予值 2,如何对数组进行初始化 【1】动态初始化 只指定长度,由系统给出初始化值 int[] arr = new int[5]; 【2】静态初始...
  • JAVA数组初始化

    万次阅读 2018-05-24 15:56:15
    JAVA数组初始化主要有两种方式,如下: dataType[] arrayRefVar;或者dataType arrayRefVar[]; 其中dataType可以是java支持的八中数据类型的任意一种,前者为首选方法; 通常用法如下: 创建一个包含n个元素的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 328,012
精华内容 131,204
关键字:

java类对象数组初始化

java 订阅