㈠ java字元型數組怎麼賦初值
首先是編譯錯誤
char a[]={'一','二','三','四','五','六','七','八','九'};
最後那個分號是中文全形字元,要改成英文分號;
但估計這個不是樓主的主要問題,問題在於列印中文漢字char變成了char所對應的短整型輸出,改成這樣就行了
System.out.print(""+a[i - 1] + a[j - 1] + "得" + i * j + " ");
其中的道理是基本類型在運算中的自動轉換,java,C/C++中都有這個規則。
㈡ JAVA 中String數組賦初值
這是數組下標溢出的錯誤。就是你存入的數組長度大於你定義的數組長專度。原因是因為你實例化屬了一個空數組。如果按你所想要的效果的話,應該定義動態長度的數組來接受,而這個長度則剛好是你從資料庫獲取的數組元素個數。如下代碼:
//從資料庫取得結果集rs
String[] name=new String[rs.getRow()];
for(i = 0;rs.next();i++){
name[i] = rs.getString(1);//後面這段代碼直接拿你的,你這里取值賦值為同一個值也得自己更改下
}
㈢ java中,數組可以怎麼賦值,幾種賦值方法
public class TempArray {
public static void main(String[] args) {
//聲明數值型數組
int[] array = {1, 2};
int[] array2 = new int[4];
//新增一個數組長度
array = Arrays.Of(array, array.length+1);
//將3這個數值賦值個數組索引 2 的位置,也就是最後面追加
array[array.length-1] = 3;
System.out.println(array2.length); //Result: 4
上面用的是數組,你也可以用 ArrayList 數組列表,是List的一個實現。
㈣ JAVA 給數組賦值
int[]b;
int[]a={1,2,3,4};
b=a;
答:可以這樣對數組進行賦值。
但是這種方式對數組進行賦值, 實際上是一種淺層復制.
也就是說,b實際上就是a,它們的內存地址值都是一樣的, 當a發生改變,那麼b也會跟著改變。
為了真正意義上實現賦值,那麼我們應該對數組進行深層復制。
深層復制後,無論a怎麼改變,都不會影響到b。
具體代碼如下
packagecore.com;
importjava.util.Arrays;
publicclassDemoCopy{
publicstaticvoidmain(String[]args){
//---------淺層復制--------
int[]a;
int[]b={1,2,3,4};
a=b;//淺層復制.當b改變的時候,a會跟著改變
System.out.println(Arrays.toString(a));//輸出數組a,[1,2,3,4]
b[0]=5;//改變數組b,數組a也會跟著改變
System.out.println(Arrays.toString(a));//輸出數組a,[5,2,3,4]
System.out.println(a==b);//輸出truea就是b
//-----------分割線--------
//深層復制方法一:
String[]c;
String[]d={"a","b","c"};
c=newString[d.length];//需要初始化數組長度
for(inti=0;i<d.length;i++){//循環復制,
c[i]=d[i];
}
d[0]="y";//改變數組d,不會影響c
System.out.println(Arrays.toString(c));//
System.out.println(c==d);
//-------------分割線---------
//深層復制方法二:
int[]ary1;
int[]ary2={8,8,8};
ary1=newint[ary2.length];
System.array(ary2,0,ary1,0,ary2.length);//調用函數進行深層復制
ary2[0]=6;//改變數組ary2,並不會影響ary1
System.out.println(Arrays.toString(ary1));
System.out.println(ary1==ary2);
}
}
控制台輸出
[1,2,3,4]
[5,2,3,4]
true
[a,b,c]
false
[8,8,8]
false
㈤ JAVA 中String數組賦初值
這是數組下標溢出的錯誤。就是你存入的數組長度大於你定義的數組長專度。原因是因為你實例化屬了一個空數組。如果按你所想要的效果的話,應該定義動態長度的數組來接受,而這個長度則剛好是你從資料庫獲取的數組元素個數。如下代碼:
//從資料庫取得結果集rs
String[]
name=new
String[rs.getRow()];
for(i
=
0;rs.next();i++){
name[i]
=
rs.getString(1);//後面這段代碼直接拿你的,你這里取值賦值為同一個值也得自己更改下
}