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是二维数组;
在设计方法时,方法的最后一个形参的个数是变动的
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
- Java 常识 可变参数,Arrays工具类的使用 二维数组
- JAVA基础 day17 Collections工具类和Arrays工具类的使用 静态导入和可变参数的学习
- 一维数组的元素查找和利用Arrays工具类查找,可变参数等
- 数组应用之去除重复元素、Arrays数组工具的使用、二维数组、数组总结
- day17集合框架的工具类Collections。二分法查找原理 。操作数组的工具类Arrays,集合变数组。高级for循环。可变参数
- Java基础——Collections+Arrays工具类+可变参数+静态导入
- 工具类 Collections Arrays asList 数组变集合 集合变数组 高级for循环 可变参数 。。。 静态导入
- Java学习笔记(五)--二维数组 冒泡排序 选择排序 Arrays数组工具类
- Java 数组工具类-Arrays
- Java 数组工具类 Arrays
- Java 数组工具类 Arrays
- 巧妙的...【可变数组】参数校验非空工具类
- java可变参数的使用
- Java可变参数的使用
- 黑马程序员---2015.6.22java基础笔记---Collections---Arrays---方法的可变参数---常用类介绍
- java 可变数组参数
- JAVA基础复习十六-LinkedList、栈和队列数据类型、泛型、增强for循环、可变参数、Arrays工具类
- 黑马程序员:Java基础总结-----Arrays 数组的工具类
- PV操作(原语)及相关概念以及常见疑问
- 关于unity中Network组件的简单应用
- 4-12固定定位的用途顶部导航栏
- 合并两个有序的链表使新链表依然有序(不开辟新空间,在原链表上操作。 递归版本)
- JdkDynamicAopProxy-invoke方法-5
- Java 常识 可变参数,Arrays工具类的使用 二维数组
- 【codevs 1851】越狱
- Android初学者仿QQ聊天软件APP (一) 登录界面
- Akka并发编程——第七节:Actor模型(六)
- 单例模式和静态类
- 苏嵌点滴(二)
- Android数据存储之数据库(SQLite和litepal)
- Linux下Shell编程之必背必记(一)
- ThreadLocal的用法和内存泄漏