数组排序
Arrays.sort():
public class ArraysDemo {
public static void main(String[] args) {
int[] arr = {56, 45, 48, 77, 221};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
冒泡排序
两层for循环,每次排序都是从第一个开始依次两两比较,大的一方最后被交换到数组的末尾,然后下一次排序时大的一方被放到已经排好序的部分前一个位置。
public static void main(String[] args) {
int[] arr = {45, 77, 1, 555, 12};
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j]; //应该用arr[j]来比较,而不是
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
Integer
Integer创建对象不能创建字母,只能创建数字
Integer i1 = Integer.valueOf("222");
Integer i2 = Integer.valueOf(45);
System.out.println(i1);
System.out.println(i2);
int类型转换为string类型:
String.valueOf(number):
int number = 100;
String s1 = String.valueOf(number); //静态方法,提倡
System.out.println(s1);
string类型转换为int类型:
Integer.parseInt(x):现成的静态方法。
String s = "100";
int y = Integer.parseInt(s);
System.out.println(y);
字符串中数据排序
先用split将字符串中元素分隔开,然后将字符串数组中的string类型元素转换成int类型存入int数组中,排序以后将int数组中的元素拼接到字符串中,然后输出结果。
public static void main(String[] args) {
String s1 = "45,1,35,111,11";
String[] strArray = s1.split(",");
// for (int i = 0; i < strArray.length; i++) {
// System.out.println(strArray[i]);
// }
//定义一个int数组,把字符串中的元素存储到数组中,字符串中的元素是
int[] arr = new int[strArray.length];
for (int i = 0; i < arr.length; i++) {
arr[i] = Integer.parseInt(strArray[i]);
}
Arrays.sort(arr);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
sb.append(arr[i]);
} else {
sb.append(arr[i]).append(" ");
}
}
String result = sb.toString();
System.out.println("result:" + result);
}
装箱与拆箱
装箱:把基本数据类型转换成对应的包装类类型。
拆箱:把包装类类型转换成基本的数据类型。
// Integer ii = Integer.valueOf(100);
Integer ii = 100; //自动装箱
System.out.println(ii);
// ii = ii.intValue() + 200;
ii +=200;//自动拆箱
System.out.println(ii);
}
Date():
public Date():无参构造
public Date(long date):带参构造
Date d1 = new Date();
System.out.println(d1);
//输出当前的时间 无参构造
long da = 1000*60*60;
Date d2 = new Date(da);
System.out.println(d2);
//输出距离1970年0点da毫秒之后的时间 带参构造
d2.setTime(1000*60);//设置一个毫秒值
System.out.println(d2);
d2.getTime(); //得到当前的时间
System.out.println(d2);
SimpleDateFormaDemo():
SimpleDateFormaDemo():无参构造
SimpleDateFormaDemo(“yyyyMMddHHmmss”):有参构造
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
SimpleDateFormat sdf = new SimpleDateFormat();
String s = sdf.format(d);
System.out.println("时间:"+s);
Calender():
Calendar.getInstance() : 获取日历的信息
Calendar c = Calendar.getInstance(); //多态的形式
System.out.println(c);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int date = c.get(Calendar.DATE);
System.out.println(year + "年" + month + "月" + date + "日");
c.add(Calendar.YEAR,-3); //对年限进行修改
c.set(2045,5,11); //对年月日进行设置
RuntimeException :
在编译器不检查的,出现问题后,我们回来更改代码
非RuntimeException:
在编译器就必须处理的,否则程序不能通过正常编译,不能正常运行
printStackTrace() :
把异常的错误信息输出在控制台 (较为全面)
toString():
返回可抛出的简短描述
getMessage():
返回此throwable的详细信息字符串
throws 抛出异常 谁调用谁处理,只是延迟了异常