❶ java二維數組怎麼定義
java中使用 [][] 來定義二維數組,定義數組時也可同時初始化。
兩種初始化形式:
格式1、動態初始化
數據類型 數組名 [ ][ ] = new 數據類型[m][n]
數據類型 [ ][ ] 數組名 = new 數據類型[m][n]
數據類型 [ ] 數組名 [ ] = new 數據類型[m][n]
舉例:int [ ][ ] arr=new int [5][3]; 也可枯襲以理解為「5行3例」。
格式2、 靜態初始化
數據類型 [ ][ ] 數組名 = {{元素1,元素讓空2....},{元素1,元素2....},{元素1,元素2....}.....};
舉例:int [ ][ ] arr={{22,15,32,20,18},{12,21,25,19,33},{14,58,34,24,66},}。
❷ java中怎麼數組初始化
一維數組
1)
int[] a; //聲明,沒有初始化
2)
int[] a=new int[5]; //初始化為默認值,int型為0
3)
int[] a={1,2,3,4,5};
//初始化為給定值
4)
int[] a=new int[]{1,2,3,4,5}; //同(3)
int[] a=new int[5]{1,2,3,4,5};
//錯誤,如果提供了數組初始化操作,則不能定義維表達式
5)
int[] a;
a=new int[5]; //正確,同(2)一樣
int[] a;
a={1,2,3,4,5}; //錯誤數組常量只能在初始化操作中使用,如(3)
6) int a[];
a[0]=1;
//錯誤,因為數組沒有初始化,不能賦值a[1]=2; 二維數組
1)
int[][] a;
//聲明,沒有初始化
2) int[][] a=new int[2][3];
//初始化為默認值,int型為0
3)
int[][] a={{1,2},{2,3},{3,4}};
//初始化為給定值
int[][] a={{1,2},{2,3},{3,4,5}};
//沒有錯,數組空間不是連續分配的,所以不要求每一維的大小相同
4)
int[][] a=new int[2][];
a[0]=new int[3];
//a[0]其實就是一個數組a[1]=new int[4];
//每一維的大小可以不一樣
;
5)
int[][] a=new
int[][]{{1,2},{2,3},{3,4,5}};
//同(3)
❸ java 語言數組怎麼初始化
掌握Java數組初始化的藝術:動態與靜態的巧妙應用
在Java的世界裡,數組的使用是編程的基礎,而初始化則是它們存在的前提。初始化不僅是為數組元素分配內存空間,更是賦予它們生命的第一步。讓我們一起深入了解Java數組的兩種初始化方式:動態初始化和靜態初始化,它們各自的特點和用法。
動態初始化是程序員只指定數組的長度,系統會為數組元素自動分配內存並賦予默認值。這里有兩種常見的寫法:
在示例中,我們創建了一個長度為3的整型數組並動態初始化:
動態初始化的關鍵在於,一旦數組長度確定,數組元素的初始值將由系統自動分配,但需注意,下標從0開始,不要嘗試訪問超出范圍的元素,否則會導致運行時錯誤。
靜態初始化則是程序員直接為每個數組元素指定初始值,系統根據這些值計算數組長度。這里有三種常見的寫法:
靜態初始化示例中,創建了一個字元串數組並初始化:
靜態初始化的優勢在於,程序員可以直接控制每個元素的初始值,無需額外操作。
理解了這兩種初始化方式,你會發現它們各有優勢,選擇哪一種取決於你的具體需求。動態初始化適合於需要動態改變數組長度或填充元素的情況,而靜態初始化則適合於需要一次性給所有元素賦初始值的場景。希望這些內容能幫助你更好地理解和運用Java數組的初始化。
❹ Java數組的初始化有沒有區別,靜態與動態
靜態是指在定義的同時就指定了值,一般存放已經知道卻不改變的數據,例如性別等
而動態的話,聲明時候只是給數組分配了內存大小空間,空間里除了初始值(數值類型是0,引用類型為NULL)什麼也沒有,實際放什麼值是要由後面的程序來指定的,因為一開始放什麼,我們也許也並不清楚
❺ Java的動態數組怎麼做
Java動態數組是一種可以任意伸縮數組長度的對象,在Java中比較常用的是ArrayList,ArrayList是javaAPI中自帶的java.util.ArrayList。下面介紹一下ArrayList作為Java動態數組的用法。
Java動態數組是一種可以任意伸縮數組長度的對象,在Java中比較常用的是ArrayList,ArrayList是javaAPI中自帶的java.util.ArrayList。下面介紹一下ArrayList作為Java動態數組的用法。
1.語法:add()是添加一個新的元素,
remove()刪除一個元素,
size()獲得ArrayList的長度。
ArrayList的下標是從0開始。
2.示例代碼
import java.util.ArrayList;
public class JavaArrayList {
public static void main(String[]args) {
//Java動態數組的初始化
ArrayList al=new ArrayList();
//向Java動態數組中添加數據
al.add("a");
al.add("b");
al.add("c");
//輸出Java動態數組
for(int i=0;i<al.size();i++) {
String alEach=(String)al.get(i);
System.out.println(alEach);
}
//刪除數組中的某個元素,刪除第二個元素
al.remove(1);
//修改Java動態數組,把新的元素放到第二個位置
al.add(1,"2");
//輸出Java動態數組
for(int i=0;i<al.size();i++) {
String alEach=(String)al.get(i);
System.out.println(alEach);
}
}
}
輸出如下:
a
b
c
a
2
c
PS:java的一維動態數組一般是使用集合的:ArrayList,HashMap等
泛型:
ArrayList<T> a = new ArrayList<T>();
T是你數組里 存的類型 比如String類型的 比如int的
你可以去看下泛型 就明白了
❻ java 中 String 數組怎麼動態賦值
首先明確一下數組的初始化:
//靜態初始化
inta[]={1,2,3};
//動態初始化
inta[];a=newint[3];a[0]=1;a[1]=2;a[2]=3;
//默認初始化
inta[]=newint[5];
JAVA是強類型,數組類型一旦聲明,就不能更改了;
如果數組長度確定,我想所謂的「動態賦值」用循環應該可以搞定;
如果數組的長度是不確定的,我認為你這個提問才有點價值,因為這需要根據具體情況來改變數組的長度,告訴你java是怎麼乾的,用的System.array,jdk里好多操作數組的源碼都是用的這個,比如ArrayList的實現
閑著沒事寫了個小例子玩玩:
importjava.util.Random;
importjava.util.Scanner;
/**
*
*@authorLYTG
*@since2015-12-29上午12:21:09
*/
publicclassDemoTest{
/**
*@authorLYTG
*@paramargs
*/
publicstaticvoidmain(String[]args){
test2();
}
/**
*@authorLYTG
*@paramarray
*/
publicstaticvoidout(String[]array){
if(array==null){
System.out.println("null");
return;
}
if(array.length<1){
System.out.println("{}");
return;
}
StringBuffersb=newStringBuffer();
sb.append("{"");
sb.append(array[0]);
sb.append(""");
for(inti=1;i<array.length;i++){
sb.append(","");
sb.append(array[i]);
sb.append(""");
}
sb.append("}");
System.out.println(sb.toString());
}
/**
*聲明一個長度為5的String類型數組,並為每個數組元素賦值一個隨機整數
*@authorLYTG
*/
publicstaticvoidtest1(){
String[]array=newString[5];
for(inti=0;i<array.length;i++){
array[i]=String.valueOf(newRandom().nextInt());
}
out(array);
}
/**
*在控制台輸入字元,把每次輸入的字元保存到一個數組中,
*如果輸入的字元串中包含空格,則切割後再分別保存到此數組中,
*在每次輸入完成後輸出整個數組,直到手動終止程序
*@authorLYTG
*/
privatestaticString[]array=newString[0];
publicstaticvoidtest2(){
Scannersc=newScanner(System.in);
System.out.println("請輸入一串字元(輸入完請敲回車):");
Stringinput=sc.nextLine();
if(input.contains("")){
String[]a=input.split("");
intarrayLength=array.length;
intaLength=a.length;
String[]newArray=newString[arrayLength+aLength];
System.array(array,0,newArray,0,arrayLength);
System.array(a,0,newArray,arrayLength,aLength);
array=newArray;
}else{
intarrayLength=array.length;
String[]newArray=newString[arrayLength+1];
System.array(array,0,newArray,0,arrayLength);
newArray[arrayLength]=input;
array=newArray;
}
out(array);
test2();
}
}