关于的作用和一些用法

时间:2025-05-09 07:43:10

String args[]都是函数(或叫方法)的参数而已,和普通的方法参数没什么区别,String表示类型,args表示参数名。

表示在调用这个方法的时候需要给这个方法传递一个字符串数组。 而main方法作为程序的入口,给main方法传递参数的操作比较特殊,因为main方法在其他方法之前执行,所以如果给main方法传递参数需要在命令行或者IDE工具中制定,比如说你执行这样的一个程序

 

public class Test{

public static void main(String args[]){

(args[0]);

}

}

 

如果用命令行执行,在编译好之后运行的时候就可以指定参数,比如说“ java Test helloworld”,(在myeclipse中run As的Run configuration中的argument传值)程序就会打印输出“helloworld”. 在多给一个例子说明一下:

 

public class Test{  

public static void main(String args[]){

     for(int i=0;i<;i++){     

   (args[i]+" ");  

    }  

}

}

 

编译好之后,我们运行敲java Test a b c d 那么打印的结果便是a b c d(注意,每个输入的数之间有空格!)

一个例子:用args输入9个数,并将这九个数转换成int型,再进行从小到大的排列输出。

 

public class TestArray1{

public static void main(String args[]){

  int[] a = new int[9];

  ("输入的这些数分别是: ");  

for(int i = 0;i<;i++){

   (( a[i]=(args[i]))+" ");

  }  

for(int j = 1;j<=9;j++){

     int temp;

    for(int i=0;i<8;i++){

    if(a[i]>a[i+1]){   

   temp = a[i];

      a[i] = a[i+1];

      a[i+1]=temp;  

      } 

   }   

}  

("\n按从小到排序为:");

  for(int i=0;i<9;i++){   

(a[i]+" ");

  }

}

}

 

 

将上面的例子改进一下:将排序那部分改为选择排序;

 

 

public class TestArray1{

    public static void main(String args[]){

    int [] a = new int[];

  ("输入的这些数分别是: ");

  for(int i = 0;i<;i++){

   (( a[i]=(args[i]))+" ");

  }

  Sort(a,);

}

public static void Sort(int[]a,int length){

   //下面用选择排序做一下;

  int temp;

  for(int i=0;i<length;i++){

   for(int j=i+1;j<length;j++){

    if(a[i]>a[j]){

     temp = a[i];

     a[i] = a[j];

     a[j] = temp;

    }

     }

  }

  ("\n将输入的数字从小到大排序: ");

  for(int i=0;i<9;i++){

   (a[i]+" ");

  }

}

}

 

 

还是上面的例子,将选择排序法修改一下,改进效率

 

public class TestArray1{

public static void main(String args[]){

  int [] a = new int[];

  ("输入的这些数分别是: ");

  for(int i = 0;i<;i++){

   (( a[i]=(args[i]))+" ");

  }

  Sort(a,);

}

public static void Sort(int[]a,int length){

//下面是修改后的选择排序,算法变得更高效率!

   int temp;    for(int i=0;i<length;i++){

    int k=i;//用k来记录当前最小的值

    for(int j=k+1;j<length;j++){

     if(a[k]>a[j]){

      k=j;

       }

      }

    if(k!=i){

     temp=a[i];

     a[i]=a[k];

     a[k]=temp;

      }

     }

   ("\n将输入的数字从小到大排序: ");

  for( int i=0;i<9;i++){

   (a[i]+" ");

  }

    }

}