java笔记:关于数组

数组(arrays)
    1、语法                                                                数据类型     1、基本数据类型 2、引用数据类型 {  1、数组类型
             定义数组,初始化数组                                                                                                             2、对象类型                                
                                                                                                                                                            3、接口类型
1、数组类型:保存一组其他类型的数据,元素类型(Element type)
    int[]     /     double[]  
                                                变量
                                                数据类型          变量名称;
   1、int[] intArray;
   2、double doubleArray;
    和c语言兼容的方式:
    1、int intArray[];
    2、double doubleArray[];    //规则允许,规范不建议使用

2、数组的初始化(数组长度是固定的)
     1、静态方式   用到已知数组所有的元素
            int[] array={1,2,3,4,5};
            int[] array=new int[]{1,2,3,4,5}   //给方法传参数,匿名数组
     2、动态的方式
        int[] array=new int[数组的长度];
     3、不初始化数组,指定一个null字面量
            int[] array=null;    //null是空引用
3、数组的下标访问,用中括号[]指定具体下标
   1、下标的类型一定是int
   2、下标的取值范围是,数组的长度是n个,则范围:[0,n-1]
         java.lang.ArraylndexOutOfBoundsException    数组下标越界
4、数组本质上其实也是对象(Object 类的派生类)
    1、属性                   对象.属性
       int[] array=....;       对象.方法()=
       array.length        数组中元素的个数
    2、方法
  2、数组本质上是引用类型,是对象,和基本数据类型有很大的区别
     1、int a=100;
     左边的空间,究竟存在什么位置
           1、内存
           2、栈            堆                                  保存在栈:1、局部变量     2、参数   
   void print(int a){  a=100;            
     System.out.println(a);     
}
void main(){
   int a=10;   print(a);
}

print中的a是形参  main中是参数
值传递,改变形参,不会影响到实参,因为值传递本质上是复制了一份

2、数组类型(引用类型)
  void main(){
    int[] array={1,2,3,4}
    printArray(array);
}
 void printArray(int[] array){
  .....
}


java的数组原生支持java.until.Array支持
    1、toString  打印数组
    2、copyOf     复制一份数组   System.arraycopy
    3、copyOfRange
    4、fill   填充值
    5、sort|parallelSort

默认值                               0的各个类型的表现
byte/short/int/long              0
float/double                       0.0
char                                     0x0000
boolean                                false
reference                              null

变量未初始化时,默认给的值
    局部变量无法享受默认值
    参数没有默认值
可以享受默认值的
数组中元素的值
属性
静态属性

相关例题:

//找最大值
public static int max(int[] array);

//key在数组中第一次遇到的下标,如果数组中没有key,返回-1
public static int indexOf(int[] array,int key);

//评分系统,求平均分,去掉最大值和最小值,返回平均分
//socores的长度一定大于3
public static double average(int[] socores);

 


数组:
数组的长度,一旦创建好,不能更改,固定大小
语法:数组类型  元素类型  甚至,元素类型也可以是数组,表现得好像多维数组

初始化:
int[] a=null;   //引用有,但没有实际的数组
int[] a={1,2,3,4,5};       //静态初始化
int[] a=new int[]{1,2,3,4,5};  //更多的是在用匿名数组
int[] a=new int[指定数组长度];    //动态初始化
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值