java第二讲了,嘿嘿。加油啊!

来源:互联网 发布:财务会计软件 编辑:程序博客网 时间:2024/04/30 08:25

我是一个java菜鸟。发现自己遇到的问题都很白痴的。

数组问题

1  java数组的声明方式:

int [] array;

int array[];//这个和c语言的一样,喜欢用这种表示方法

2  java数组的内存分配问题

java数组在声明时不能指定数组的长度。

array=new int [9];//类型为int

3长度与下脚标

长度为9,下脚标为0-8,在编写代码时对于数组长度的上下限写错,出现错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException


4java多维数组的也别之处

多维数组的各位大小可以逐维的创建,例如:

float array [][]=new float [4][];

array[0]=new float [1];                      //可以使用array[0].length第二维的第一行的大小

array[1]=new float [3];

5对于数组的处理

终端的输入对数组的初始化

System.out.println("请输入记录数据的总条数!");
Scanner input=new Scanner (System.in );
int num=input.nextInt();
String list[][];
list =new String [num][5];
for(int j=0;j<5;j++)
{   
for(int n=0;n<num;n++)

switch(j)
{
case 0:
  System.out.printf("请输入第%d条记录的订单号",n+1);
     break;
case 1:
System.out.printf("请输入第%d条记录的客户名",n+1);
break;
case 2:
System.out.printf("请输入第%d条记录的地址",n+1);
break;
case 3:
System.out.printf("请输入第%d条记录的预订物品",n+1);
break;
case 4:
System.out.printf("请输入第%d条记录的消费价格",n+1);
break;  
}
            Scanner input1=new Scanner (System.in );
String need=input1.nextLine();
list[n][j]=need;
}
}

但是在java里面提供了一个foreach函数使其方便的对数组进行操作

//< 对输入的读取,采用foreach
System.out.println("读出数据:");
//  因为是二维的数组,所以第一层循环应该是一个一维的数组
for(String[] row :list)
{
int i=0;
//第二层循环是一维数组的元素所以直接是element而不是String[]element
for(String  element:row) 
     {
    System.out.println(element +"\t");

if(++i==(row.length))   System.out.println();//换行
 }

}

执行结果如图:


在读入数据时仍然使用复杂的原始for语句,应该也可以在改成foreach的用法。正在调试错误中。

0 0