一、可变参数
在设计方法时,方法的最后一个形参的个数是变动的
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是二维数组;
在设计方法时,方法的最后一个形参的个数是变动的
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是二维数组;