java流程控制、数组

一、Java 7增强的switch语句

控制表达式类型

byte
short
char
int
java.lang.String

二、数组初始化

  1. 静态初始化:显式指定数组元素,数组长度由系统识别
    int[] arr = new int[]{0,1,2,3};

  2. 动态初始化:显式指定数组长度,元素初始值由系统分配
    int[] arr = new int[4];

三、数组工具类Arrays

static int Arrays.binarySearch(T[] array, T key);

/*
找到值返回索引,否则返回负数
数组必须已经排好序
*/
int[] arr = new int[]{1,3,5,7,9,11,13,15,17};
int index = Arrays.binarySearch(arr, 15);//index为7

static int Arrays.binarySearch(T[] array, int from, int to, T key);

/*
类似上一个方法,只是在特定区间搜索
*/
int[] arr = new int[]{1,3,5,7,9,11,13,15,17};
int index = Arrays.binarySearch(arr, 4, 8, 15);//index为7

static T[] Arrays.copyOf(T[] old, int length);

/*
如果length<old_arr.length,则复制前length个元素
如果length>old_arr.length,除了负责全部元素之外,补充0(数值类型)、false(boolean)、null(引用类型)
*/
int[] old_arr = new int[]{1,3,5,7,9,11,13,15,17};
//int[] new_arr = Arrays.copyOf(old_arr, old_arr.length);//[1, 3, 5, 7, 9, 11, 13, 15, 17]
//int[] new_arr = Arrays.copyOf(old_arr, old_arr.length - 1);//[1, 3, 5, 7, 9, 11, 13, 15]
int[] new_arr = Arrays.copyOf(old_arr, old_arr.length + 1);//[1, 3, 5, 7, 9, 11, 13, 15, 17, 0]

static T[] Arrays.copyOfRange(T[] old, int from, int to);

/*
复制特定区间的元素
*/
int[] old_arr = new int[]{1,3,5,7,9,11,13,15,17};
int[] new_arr = Arrays.copyOfRange(old_arr, 2, 6);//[5, 7, 9, 11]

static boolean Arrays.equals(T[] left, T[] right);

/*
长度相等,且元素一一相同,返回true
*/
int[] l_arr = new int[]{1,3,5,7,9,11,13,15,17};
int[] r_arr = new int[]{1,3,5,7,9,11,13,15,17};
boolean result = Arrays.equals(l_arr, r_arr);//true

static void Arrays.fill(T[] arr, T value);

/*
以特定值填充数组
*/
int[] arr = new int[]{1,3,5,7,9,11,13,15,17};
Arrays.fill(arr, 99);//[99, 99, 99, 99, 99, 99, 99, 99, 99]

static void Arrays.fill(T[] arr, int from, int to, T value);

/*
以特定值填充数组特定区间
*/
int[] arr = new int[]{1,3,5,7,9,11,13,15,17};
Arrays.fill(arr, 2, 6, 99);//[1, 3, 99, 99, 99, 99, 13, 15, 17]

static void Arrays.sort(T[] arr);

/*
对数组进行升序排序
*/
int[] arr = new int[]{11,4,5,0,1,34,9,2,22};
Arrays.sort(arr);//[0, 1, 2, 4, 5, 9, 11, 22, 34]

static void Arrays.sort(T[] arr, int from, int to);

/*
对数组特定区间进行升序排序
*/
int[] arr = new int[]{11,4,5,0,1,34,9,2,22};
Arrays.sort(arr, 2, 6);//[11, 4, 0, 1, 5, 34, 9, 2, 22]

static String toString(T[] arr);

/*
*
*/
int[] arr = new int[]{1,3,5,7,9,11,13,15,17};
String arr_to_string = Arrays.toString(arr);//"[1, 3, 5, 7, 9, 11, 13, 15, 17]"


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值