代码1:数组内容的动态初始化与静态初始化。
代码2:数组长度的动态初始化与静态初始化。
注:代码2中
if (temp<Integer.MIN_VALUE && temp>Integer.MAX_VALUE)
{
System.out.println("输入求和的参数非int型!");
}
判断机制是伪代码^^
class ArrayDemo1
{
public static void main(String[] args)
{
//数组内容 动态初始化
int[] intA=new int[2];
intA[0]=88;//数组下标值域为 0 到 数组长度-1
intA[1]=99;
//JDK1.5 新增 foreach 功能 可用于数组与集类
for(int i:intA)
{
System.out.printf(i+"、");
}
System.out.println();
//数组内容 静态初始化
int[] intB={66,77};
for(int i:intB)
{
System.out.printf(i+"、");
}
//我很好奇二维数组的 ... 嘿嘿
int[][] intC={{1,2},{3,4}};
System.out.println();
/**
这段代码很不幸的出错了,foreach貌似没有我想象中聪明
for(int i:intC[])
{
System.out.printf(i+"、");
}
*/
//But this right^^哈哈,看来 foreach 对于多维支持不好
for(int i:intC[0])
{
System.out.printf(i+"、");
}
System.out.println();
//对于多维还是普通for循环好哇^^
for(int i=0;i<intC.length;i++){
for(int j=0;j<intC[i].length;j++){
System.out.printf(intC[i][j]+"、");
}
}
}
}
代码2:数组长度的动态初始化与静态初始化。
class ArrayDemo2
{
static int sum=0;
public static void main(String[] args){
//数组长度 动态初始化
//由Java应用程序接收 int型参数 完成求和
//个人觉得方法的参数的类型其实可以看做数组
if(args.length>0){//控制应用程序没接收到参数时报错
System.out.println(args[0]);
//System.out.println(args[1]);
//cmd:java ArrayDemo2 1 2
//result:1 2
//哇哈哈,试验得知,方法的参数就是一个数组
System.out.println(checkArgsToSum(args));
}
//数组长度 静态初始化
int[] intA=new int[3];//开辟数组空间时,系统默认给所有数组元素赋0值
for(int i:intA){
System.out.println(i);
}
}
public static int checkArgsToSum(String[] args){
if(args.length<2){
return Integer.parseInt(args[0]);
//break; //err, must be in switch or loop
//这里我理解错误,其实前面的return早已结束了这个方法^^
}
for(String s:args){
int temp=Integer.parseInt(s);
if (temp<Integer.MIN_VALUE && temp>Integer.MAX_VALUE)
{
System.out.println("输入求和的参数非int型!");
}
else
{
sum+=temp;
}
}
return sum; //语句块外写,因为方法有返回值,放语句块里,方法捕获不了
}
}
注:代码2中
if (temp<Integer.MIN_VALUE && temp>Integer.MAX_VALUE)
{
System.out.println("输入求和的参数非int型!");
}
判断机制是伪代码^^