package ArrayDemo;
import util.ArrayUtil;
public class ArrayDemo1 {
public static void main(String[] args) {
int[] arr = {10,5,40,3,20,16};
selectSort(arr, true);
ArrayUtil.printArr(arr);
}
public static void selectSort(int[] arr, boolean isAsc) {
// isAsc: true升序,false降序
for (int i=0;i<arr.length-1;i++) {
for (int j=i+1;j<arr.length;j++) {
if (isAsc?arr[i] > arr[j]:arr[i] < arr[j]) {
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
}
}
package ArrayDemo;
import util.ArrayUtil;
public class ArrayDemo2 {
public static void main(String[] args) {
int[] arr = {1,42,33,2,45,66};
bubbleSort(arr,false);
ArrayUtil.printArr(arr);
}
public static void bubbleSort(int[] arr, boolean isAsc ) {
for (int i=1;i<arr.length;i++) {
for (int j=0;j<arr.length-i;j++) {
if (isAsc?arr[j] > arr[j+1]:arr[j] < arr[j+1]) {
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
}
}
public static int binarySearch(int[] arr, int key) {
int start = 0;
int end = arr.length-1;
while (start <=end) {
int middleIndex = (start + end) / 2;
int middle = arr[middleIndex];
if (key == middle) {
return middleIndex;
} else if (key > middle) {
start = middleIndex + 1;
} else {
end = middleIndex - 1;
}
}
return -1;
}
import java.util.Arrays;
int[] arr = {1,2,3,4,6};
System.out.println(Arrays.toString(arr));// [1, 2, 3, 4, 6]
// 只能进行升序排序
Arrays.sort(arr);
System.out.println(Arrays.binarySearch(arr, 3));
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character
// 示例
// 装箱
int a = 10;
Integer a2 = Integer.valueOf(a);
// 拆箱
int a3 = a2.intValue();
// 上述示例是jdk1.5之前书写方式,需要自己手动装箱拆箱
? JDK1.5之后可以自动装箱和拆箱
int a = 10;
// 装箱
Integer a4 = a;
// 拆箱
int a5 = a4
int b = 100;
// 方式1:
Stirng s1 = b + "";
// 方式2:
String s2 = String.valueOf(b);
String s3 = "100";
// 方式1:
// 返回值是Integer类型
Integer b = Integer.valueOf(s3);
// 方式2:
// 返回值是int类型
int b = Integer.parseInt(s3);
// 方式3:
Integer b = new Integer(s3);
1.toBinaryString 转成二进制字符串
System.out.println(Integer.toBinaryString(100));
2.toOctalString 转成八进制字符串
System.out.println(Integer.toOctalString(100));
3.toHexString 转成16进制字符串
System.out.println(Integer.toHexString(100));
4. toString 转成几进制
System.out.println(Integer.toString(100,36));// 把100转换成36进制 范围(2-36进制)。超出36进制返回自己。
5.parseInt 其他进制转实际值
System.out.println(Integer.parseInt("abc",16));// 把16进制abc转成成10进制
1.isUpperCase 判断是否是大写字母
System.out.println(Character.isUpperCase(‘a‘));
2.isLowerCase 判断是否是小写字母
System.out.println(Character.isLowerCase(‘d‘));
3.isDigit 判断是否为数字
System.out.println(Character.isDigit(‘6‘));
4.toUpperCase 字母转大写
System.out.println(Character.toUpperCase(‘a‘));
5.toLowerCase 字母转小写
System.out.println(Character.toLowerCase(‘b‘));
1. 常量值
Math.PI
Math.E
2. abs 求绝对值
System.out.println(Math.abs(-12));
3. ceil 向上取整
System.out.println(Math.ceil(15.3));
4. floor 向下取整
System.out.println(Math.floor(15.3));
5. pow(a,b) 求a的b次方
System.out.println(Math.pow(14,2));
6. random 求随机数0-1之间
System.out.println(Math.random());
7. round 四舍五入
System.out.println(Math.round(3.5));
8. sqrt 求算数平方根
System.out.println(Math.sqrt(16));// 4.0
1.gc 用于垃圾回收
2.exit 退出
3.currentTimeMillis 获取当前时间毫秒值 时间基准值:1970年1月1日0:0:0
System.out.println(System.currentTimeMillis());
4.nanoTime 获取当前时间纳秒值
5.arraycopy 数组拷贝
参数: src 源数组,srcPos 从哪拷贝,dest 拷贝到哪里,destPost 目标数组的位置, length 拷贝长度
int[] arr = {12,34,2,4,66,44,5};
int[] arr2 = new int[6];
// 从arr index为2位置开始拷贝,拷贝位置到arr2的index为1起始,拷贝3个长度
System.arraycopy(arr, 2, arr2, 1, 3);
ArrayUtil.printArr(arr2);// [0,2,4,66,0,0]
import java.util.Date;
Date d = new Date();
System.out.println(d);//Tue Oct 13 00:14:31 CST 2020
Date d2 = new Date(0);
System.out.println(d2);
// getTime 把日期对象转成毫秒值
// setTime 当前日期设置为毫秒值
d.getTime()
d.setTime(0)
原文:https://www.cnblogs.com/xujunkai/p/13806414.html