java学习之路--java数组--java开发实战经典第四章

来源:互联网 发布:体彩网络销售平台 编辑:程序博客网 时间:2024/04/28 20:52
第四章:


4.1数组:


1.数组的创建:
                1.数据类型[] 数组名=null;或者 数据类型 数组名 []=null;(数据的声明其实是把数组的名字存在栈内存里面)
             
                2.数组名=new 数据类型[长度];(是堆内存中开辟一个空间,空间大小就是长度)
上面的两个步骤也可以一次完成
                数据类型 数组名[]=new 数据类型[长度];
例如: int a []=new int[3];
  注意:数组是引用数据类型,a保存不是数组的实体,而是数组堆内存中的参考地址


2.访问数组中的元素:


        记住一点数组是通过索引来访问的,索引值是从0开始的


 3.数组的静态创建


                int a={1,2,3};


4.二位数组的声明与创建
             数据类型   数组名[][]=new 数据类型[行的个数][列的个数]
注意:如果能通过一维数组就能解决问题,就坚决不要创建二维数组,因为创建二维数组的消耗远远大于一维数组


4.2方法
1.方法重载
方法名称相同,但是方法的参数或者个数不同
注意:这里没有讲返回值不同也是重载
2.递归
递归操作是一种特殊的调用方式,就是自己调用自己
        例如求1+2+3...+100
public class SZJDTest2{
        public static int test7(int sum){
                if(sum==1)
                        return 1;
                
                else {
                        return sum+test7(sum-1);
                } 
                
        }
        
        public static void main(String[] args) {
                System.out.println(SZJDTest2.test7(100));
        }
}
结果:
5050
注意:递归调用如果处理不好,容易造成内存的溢出,所以在使用递归时要谨慎
4.3数组的常用方法


1.排序
        public void  test7(){
                int a []={1,6,3,4,2,9,8,0,5,7};
                
                Arrays.sort(a);
                for(int i=0;i<10;i++){
                        System.out.print(a[i]+"\t");
                }
                
        }
结果:
0        1        2        3        4        5        6        7        8        9        
这里说明一下:数据排序可以自己写,但是我建议没有特殊要求的话,就用java自带的排序哦
2.复制
将一个数组的内容复制给另外一个数组
public void test8(){
                int a[]={1,2,3,4,5};
                int b[]={22,33,44,55};
                String s[]={"a","b","c"};
                
                System.arraycopy(a, 2, b, 2, 2);//参数:原数组,从第几个开始,复制到的数组,从哪里开始,复制几个(长度)
                //System.arraycopy(a, 1, s, 2, 3);
                for(int i=0 ,len=b.length;i<len;i++){
                        System.out.print(b[i]+"\t");
                }
                


        }


注意:复制的长度不能超过目标数组的长度,复制数组类型必须一致
  4.4java的新特性
        1.可变参数
        public static void fun(int...args){
                for(int i=0;i<args.length;i++){
                System.out.print(args[i]+"\t");
                }
        }
        public static void main(String[] args) {
                System.out.println("不传递参数:");
                fun();
                System.out.println("");
                System.out.println("传递一个:");
                fun(1);
                System.out.println("");
                System.out.println("传递5个:");
                fun(1,23,4,5,6);
        }
         2.foreach输出
                为了方便数组的输出
public static void fun(int...args){
                for(int i :args){
                System.out.print(i+"\t");
                }
        }
        public static void main(String[] args) {
                System.out.println("不传递参数:");
                fun();
                System.out.println("");
                System.out.println("传递一个:");
                fun(1);
                System.out.println("");
                System.out.println("传递5个:");
                fun(1,23,4,5,6);
        }   
原创粉丝点击