一、分配空间与赋值分步进行

分配空间与赋值分步进行



public class HelloWorld {
public staticvoid main(String[] args) {
int[] a = newint[5]; //分配了长度是5的数组,但是没有赋值
         //没有赋值,那么就会使用默认值
//作为int类型的数组,默认值是0
        System.out.println(a[0]); 
          
//进行赋值    
        a[0] = 100; 
        a[1] = 101; 
        a[2] = 103; 
        a[3] = 120; 
        a[4] = 140; 
    } 
}



   

二、分配空间,同时赋值

分配空间,同时赋值



public class HelloWorld {
public staticvoid main(String[] args) {
//写法一: 分配空间同时赋值
int[] a = newint[]{100,102,444,836,3236};
//写法二: 省略了new int[],效果一样
int[] b = {100,102,444,836,3236};         
//写法三:同时分配空间,和指定内容
//在这个例子里,长度是3,内容是5个,产生矛盾了
//所以如果指定了数组的内容,就不能同时设置数组的长度
int[] c = newint[3]{100,102,444,836,3236};         
    } 
}



   

三、练习--数组反转

题目:

首先创建一个长度是5的数组,并填充随机数。 (向数组填充随机数的办法,参考这里)

参考:使用for循环或者while循环,对这个数组实现反转效果

   

官方答案:



public class HelloWorld {
public staticvoid main(String[] args) {
int[] a = newint[5];
int) (Math.random() * 100);
int) (Math.random() * 100);
int) (Math.random() * 100);
int) (Math.random() * 100);
int) (Math.random() * 100);
   
"数组中各个值是:");
forint i = 0; i < a.length; i++)
" ");
          
/*思路一: 使用临时数组*/
          
        System.out.println(); 
//准备临时数组
int[] temp = newint[a.length];
//把原数组的内容复制给临时数组
forint i = 0; i < temp.length; i++) {
            temp[i] = a[i]; 
        } 
"临时数组中的各个值是:");
forint i = 0; i < temp.length; i++)
" ");
        System.out.println(); 
//反转的做法是把临时数组的数据,挨个 倒 放入 原数组中
forint i = 0; i < temp.length; i++) {
            a[i] = temp[temp.length-1-i]; 
        } 
    
"反转后的数组中各个值是:");
forint i = 0; i < a.length; i++)
" ");
          
        System.out.println(); 
          
/*思路二: 进行首尾调换*/      
forint i = 0; i < a.length/2; i++) {
int middle = a[a.length-i-1];
            a[a.length-i-1] = a[i]; 
            a[i] = middle; 
        }        
"再次反转后的数组中各个值是:");
forint i = 0; i < a.length; i++) {
" ");
        } 
        System.out.println();        
    } 
}