Java 常识 可变参数,Arrays工具类的使用 二维数组

来源:互联网 发布:windows xp下 arp命令 编辑:程序博客网 时间:2024/05/21 02:19
一、可变参数
      在设计方法时,方法的最后一个形参的个数是变动的
      jdk1.5增加的新特性
    格式:
    class   Demo
     {
public static void main(String[] args) 
{
//可变参数   理解成为一个可变长度的数组  操作相同
int sum=add(7,8,9);
System.out.print(sum);
System.out.print("\r\n");
}
       //数组中元素的和
 public static int add(int...args){//int...args  一定要放在最后,
  int sum=0;
  for (int i=0;i<args.length ;i++ )
  {
  sum+=args[i];
  }
  return sum;
}
     }


        访问权限修饰符  返回值类型  方法名();
特点:可变参数可以理解为一个一维数组
      可变参数只能写在参数列表最后
      int...args   只能有3个点,只能置于类型和变量名




二、Arrays工具类的使用
    util包存放的都是工具
    Arrays工具类:负责对一维数组进行排序、查询、填充等等操作。
    import java.utli.Arrays;   导包
     import java.utli.*;
           常用方法:
      1.将数组内容转化成字符串的形式输出
          Arrays.toString();数组数据类型;
  import java.util.Arrays;
                   class Demo1 
                      {
        public static void main(String[] args) 
      {
int[] arr={45,65,23,12,56,87,98};
System.out.print(Arrays.toString(arr));//只能打印数组,不能操作
       }
               }
      2.数组排序
                    Arrays.sort(数组类型[] arr);


   import java.util.Arrays;
                     class Demo2 
                     {
          public static void main(String[] args) 
          {
  int[] arr={45,65,23,12,56,87,98};
                   Arrays.sort(arr);
          System.out.print(Arrays.toString(arr));
          }
                   }






      3.二分法  必须先排序
        int  index=Arrays.binarySearch(int[] )
                   import java.util.Arrays;
                  class Demo3 
                     {
       public static void main(String[] args) 
       {
int[] arr={45,65,23,12,56,87,98};
int  index=Arrays.binarySearch(arr,3);
   System.out.print(index);//如果返回负数 这个数不存在
   }
          }


                  


      4.复制指定的数组
  Arrays.copyof(int[] arr,int newlength);//包含这个newlength本身
  Arrays.copyof(int[] arr,int from.int to);
              
     import java.util.Arrays;
              class Demo1 
               {
    public static void main(String[] args) 
     {
int[] arr={45,65,23,12,56,87,98};
int[] arr1=Arrays.copyOf(arr,3);
   System.out.print(Arrays.toString(arr1));
      }
          }


 import java.util.Arrays;
             class Demo1 
          {
public static void main(String[] args) 
{
int[] arr={45,65,23,12,56,87,98};
int[] arr1=Arrays.copyOfRange(arr,3,5);
   System.out.print(Arrays.toString(arr1));
    }
           }




                 5.判断两个数是否相等
   Arrays.equals(int[] arr,int[] arr1);
   import java.util.Arrays;
                 class Demo1 
                    {
  public static void main(String[] args) 
  {
int[] arr={45,65,23,12,56,87,98};
   int[] arr1={45,65,23,12,56,87,98};
   System.out.print( Arrays.equals(arr,arr1));
  }
         }
三、二维数组
     概述:数组里面存数组
     格式:
          数据类型  数组名[][] =new 数据类型[m][n];
 数据类型 [][] 数组名 =new 数据类型[m][n];
 数据类型 [] 数组名[] =new 数据类型[m][n];


     格式2:静态初始化
            数据类型[][] 数组名={{元素1,元素2.....},{元素1,元素2.....},{元素1,元素2.....},{元素1,元素2.....}};
    


    区别:1.若制定一个int型的值,表示二维数组中每一个一维数组的元素的个数是相同的
          2.若留空,表示二维数组中每一个一维数组中的个数是不相同的 是不定的


       二维数组的遍历:


       import java.util.Arrays;
       class Demo1 
       {
public static void main(String[] args) 
{
int[][] arr={{1,4,9},{6,7,9},{5,4,9,}};
for(int i=0;i<arr.length;i++){
         for(int j=0;j<arr[i].length;j++){
       System.out.print(arr[i][j]+"   ");
  } 
System.out.println();
       }
     }
    }






  数组的表示:
一维数组:int[] x    int x[]
二维数组:int[][] x   int [] x[]   int x[][]
      int[] x,y[];


       x是一维数组;
       y是二维数组;

阅读全文
1 0