字符串、数组、IO

来源:互联网 发布:冒险岛079数据库 编辑:程序博客网 时间:2024/06/08 11:05

1数组是对象:

2同一个对象(数组)指定给两个参考引用名称,当对象的值由其中一个参考引用名称进行操作而变更时,另一个参考引用名称所参考引用到的值也会变动。

String arr[] =new String{a,“b,c};

String a1[]=arr;

String a2[]=arr;

a2[2]=d;

a2a1的第三个元素将会发生变化

赋值指定时是将对象指定给数组名来引用,而不是将数组进行复制。复制需要遍历来复制

对象数组和原始数据类型数组在使用方法上几乎是完全一致的,唯一的差别在于对象数组容纳的是引用而原始数据类型数组容纳的是具体的数值。方法传递数组时是传递引用,因此方法体内改变数组的引用,则数组自身会改变

3在数组声明中包含数组长度永远是不合法的!如:int[5] arr; 。因为,声明的时候并没有实例化任何对象,没有分配空间,只是创建了一个存储对数组的引用的位置。只有在实例化数组对象时,JVM才分配空间,这时才与长度有关。

4、对象类型的数组虽然被默认初始化了,但是并没有调用其构造函数。也就是说:Car[] myCar = new Car[10];只创建了一个myCar数组对象!并没有创建Car对象的任何实例!基本数据类型的数组不初始化的是默认值。

5、下标检查不是在编译时刻进行的而是在运行时!也就是说int[] arr = new int[10];  arr[100] = 100; 这么明显的错误可以通过编译,但在运行时抛出!

6、数组本身大小不能改变,但数组的引用可以改变,则引用的大小也可以改变

数组的初始化语法,如:double[] arr={1.0,9.9,8.66};

7、for each 的用法:for(double e:arr)System.out.println(e);

相同数据类型的有序集合,也是引用类型 [] 数组
一、特点
1、相同数据类型:基本类型和引用类型
2、有序:位置|索引|下标相对有序
3长度一旦确定不可改变
二、一维数组的声明(声明一个数组变量时并不在内存中给数组分配任何空间,只是创建一个对数组引用的存储位置。若不创建数组并赋值给引用变量,则该数组的引用值为null

包括声明(产生引用变量)+创建数组+赋值给引用变量

数组引用变量存储的是指向数组的引用,而不是存储了一个数组

数组初始化语法:

elementType[] arrayRefVar={value0,value1,……,valueK}

相当于elementType[] arrayRefVar=new elementType[K];

arrayRefVar[0]=value0;

arrayRefVar[1]=value1;
1、声明并开辟空间 new
  类型 [] 引用名称|数组名 = new 类型[长度];
2、先声明后开辟
 类型[] 引用名称|数组名 = null;
 引用名称|数组名 = new 类型[长度];
3、不推荐
 类型 引用名称|数组名 [] = new 类型[长度];
三、概念
1、引用:数组的首地址
2、长度:必须开辟空间才存在.length
3、索引:下标: [0,length)
4、元素:看成数组的属性  引用名称[下标]
1)、查看
2)、赋值 =   
四、遍历数组:整个数组执行一次 
1查看:for+for each
2、赋值:for
五、初始化
1、默认初始化 :使用默认值
   类型[] 引用 =new 类型[长度];
 2、动态初始化:声明与赋值分开
             类型[] 引用 =null;
             引用=new 类型[长度];
             引用[索引] =;
3静态初始化:声明与赋值在一起
  类型[] 引用 = new 类型[]{值列表};
  类型[] 引用 = {值列表};
  a)不要指定长度
  b)省略写法不要与声明分开,必须与声明在一起


==说明的是检测是否是同一个对象,包括内存地址和内容

equals是检测内容是否相等

如果两个都是字符串常量,如String a=hi;String b=hi,a==b:true

String a=hi; String b=new String(hi);a==b:false;

String a=hi;String b=new String(hi);a.equals(b):true

 

字符串是常量,不能改变,但String可以指向不同的字符串来改变String值(每次指向都不能,字符串的内容都不同)

 

compareTo也是检验字符串是否相等

 

String类的字符串长度:String.length()

String的默认值是null,因为String是Object,Object默认值是null



0 0
原创粉丝点击