❶ 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();
}
}