「java数组初始化赋值」Java定义数组并初始化
今天给各位分享java数组初始化赋值的知识,其中也会对Java定义数组并初始化进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java中字符串数组如何赋值?
- 2、java中怎么数组初始化
- 3、java 类型类怎么初始化赋值
- 4、java中怎么数组初始化?
- 5、JAVA 给数组赋值
- 6、java类中构造函数中:数组怎样初始化
java中字符串数组如何赋值?
变量初始化,和变量赋值是两个不同的语法。
数组初始化时,可以为null,{value1,value2,value3,....},或者赋予另一个数组的值:String[]
b
=
a;
常量只能被初始化,一次,不能再次赋值;
非常量则可以进行赋值操作,赋值操作只能赋予以下情况:null,另一个数组的值。
lz的问题中,a={","}是一个初始化的语法,不是正确的赋值语法。
java中怎么数组初始化
成员变量,你不设值它也会初始化为null,但在方法中的局部变量就必须要初始化了
Boolean
array[]
=
{true,true};
或
Boolean
array[]
=
new
Boolean[2];
array[0]
=
true;
array[1]
=
true;
java 类型类怎么初始化赋值
总结了java数组的初始化的两种方法如下:
1、最简单的方法是直接赋值,如:
一维数组:
int[] num = {21,34,2,-9,987,0,-89};//创建一个一维数组,并赋7个初始值
二维数组:
int[][] num2 = {{21,22},{34,35}};//创建一个二维数组,并赋2个初始值
2、先创建一个数组对象出来,再进行循环赋值,如:
一维数组:
int[] num3 = new int[5];//先创建一个5长度的数组对象
for(int i=0;inum3.length;i++){//之后进行循环遍历对数组进行赋值
num3[i] = i;
}
二维数组:
int[][] num4 = new int[5][2];//先创建一个二维数组对象
for(int i=0;inum3.length;i++){//之后进行循环遍历对数组进行赋值
for(int j=0;jnum4[i].length;j++){
num4[i][j] = j;
}
}
java中怎么数组初始化?
//数组定义最方便的就是用for循环来做定义,数组下标是从0开始,到11的话就是12个数字。要输出的话可以用以//号注释掉的后面的一句if(i12){System.out.println(x[i]);}当然也可以自己再写一个for循环语句来输出,不过我觉得这有点画蛇添足了
public class shuzu {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int x[]=new int[12];
for(int i=0;i=11;i++)
{
x[i]=i;
//if(i12){System.out.println(x[i]);}
}
}
}
.动态初始化:数组定义与为数组分配空间和赋值的操作分开进行;
2.静态初始化:在定义数字的同时就为数组元素分配空间并赋值;
3.默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐士初始化。
数组名加上下标可以表示数组元素。数组的第一个元素是下标为O的元素,例如points[0]。最后一个元素的下标为length一1,如points[points.1ength一1]。当创建一个数组时,每个元素都被初始化。如前面创建的字符数组s,它的每个值被初始化为O(\0000)。而数组points的每个值被初始化为null,表明它还没指向真正的Point对象。
在赋值语句points[o]= New Point();后,系统创建一个真正的Point对象,并让数组的第一个元素指向它。
注意:包括数组元素在内的所有变量的初始化.从系统安全角度看都是必不可少的任何变量都不能在没有初始化状态下使用。编译器不能检查数组元素的初始化情况。Java允许用初值来创建数组,如例:String names[]={”Georgianna”,“Tenn”,“Simon“,“Tom“};用4个字符串常量初始化names数组,这种方式称为静态初始化,它等价于:String names[];names=new String[4];names[0]=“Georgianna“;names[1]=“JEN”;names[2]=”Simon“;静态初始化可用于任何元素类型,初值块中每个位置的每个元素对应一个引用。
JAVA 给数组赋值
int[] b;
int[] a ={1,2,3,4};
b=a;
答:可以这样对数组进行赋值。
但是这种方式对数组进行赋值, 实际上是一种浅层复制.
也就是说,b实际上就是a,它们的内存地址值都是一样的, 当a发生改变,那么b也会跟着改变 。
为了真正意义上实现赋值,那么我们应该对数组进行深层复制。
深层复制后,无论a怎么改变,都不会影响到b。
具体代码如下
package core.com;
import java.util.Arrays;
public class DemoCopy {
public static void main(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);//输出true a就是b
//-----------分割线--------
//深层复制方法一:
String[] c ;
String[] d = {"a","b","c"};
c = new String[d.length]; // 需要初始化数组长度
for (int i = 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 = new int[ary2.length];
System.arraycopy(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类中构造函数中:数组怎样初始化
1、java构造函数--数组 在构造函数中初始化数组,如 public class array { private int [][] matrix; public array(int r,int c) { matrix=new matrix[r][c]; } }
matrix=new matrix[r][c];
2、这里是new int[][]; java中8个基本数据类型都是有默认值的,int默认值为0 ,
3、所以数组中默认都为0.
4、但是切记有默认值的变量必须是类的属性,方法中局部变量必须赋值才可以使用。
java数组初始化赋值的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java定义数组并初始化、java数组初始化赋值的信息别忘了在本站进行查找喔。