㈠ 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);//后面这段代码直接拿你的,你这里取值赋值为同一个值也得自己更改下
}