1.字符(char)转整型(int)
是不是有点懵逼。‘1’ => 1有什么好转,不就嘎嘎转吗。
诶! 你还别说,里面大有门道。
1.1. 第一层的小伙伴可能想到
int a = '1';
int b = (int) a;
System.out.println(a);
不过很抱歉,它的答案是49,很明显,被强转成ASCII码了。
1.2. 第二层的小伙伴就可能想到先转成字符串,在转成int了
char a = '1';
int b = Integer.parseInt(String.valueOf(a));
System.out.println(b);
答案是对的没错,不过调用了两个方法,也太麻烦了
1.3. 大气层的同志们就不一样了,直接用字符ASCII的性质,一步到位
char a = '1';
int b = a - '0';
System.out.println(b);
代码简洁,效率高!
2.字符(char)ASCII的妙用
当你用字典法,排除字母狼狈的样子,是不是在对照ASCII表,哈哈哈,这样就对了,很符合我等新手的想象。
如何快速的声明字典数组,或者准确对位数组。
1.1. 快速声明字典
int[]arr = new int['z' - 'a' + 1];
System.out.println(arr.length);
1.2. 快速对照字典:
int[]arr = new int['z' - 'a' + 1];
System.out.println(arr.length);
arr['a' - 'a'] = 1;
arr['z' - 'a'] = 2;
System.out.println(arr[0]);
System.out.println(arr[25]);
是不是这样又快又准,哈哈哈。
3.JDK8新的日期类的使用
不知道谁还在用new date
,恕我直言真的是又难用,可惜网上的教程还都是基于这玩意的。
但是jdk8引入了心的日期时间类(有细分的日期和时间),只能说远离date,人人有责
Date date = new Date();
System.out.println(date.toString()); //就date声明时间
LocalDateTime localTime = LocalDateTime.now();
System.out.println(localTime.toString()); //新date声明
localTime.plusDays(10);//新时间日期增加时间
Date date = new Date();
System.out.println(date.toString());
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DAY_OF_YEAR,1);
//旧日期时间增加时间
只能说老的api啥都没有,支持正义薄纱
4.StringBuilder高效的字符串拼接工具
如果是新手一定会选择
String a = "a";
String b = "b"
String ab = a + b;
这种用+拼接符拼接的会造成效率的降低,底层是通过StringBuilder 拼接并通过toString输出(会生产很多的对象,可以在jvm学习中了解到)。
StringBuilder sb = new StringBuilder()
sb.append(a");
sb.append("b");
5.JAVA的区间为左闭又开
java中很多范围都是取左闭右开(二分查找,分治,for循环,数组下标,list等等)
6.JAVA快速创建数组
可以采用匿名数组的方式,用于方法取参,测试等简单场景
new int[]{2, 3, 6, 7};
7. 字符串内字符快速字典排序
String S = "adsfesaf";
String []charS = s.split("");
Arrays.sort(charS);
StringBuilder stringBuilder = new StringBuilder();
for(String tempS : charS){
stringBuilder.append(tempS);
}
String newS = stringBuilder.toString();
split() 方法按照给定的正则表达式将字符串分割成子串,并返回一个字符串数组。如果传递空串 “” 给 split() 方法,它将尝试在每个字符之间分割字符串。这意味着字符串中的每个字符都会成为数组的一个元素。
7. 字符串数组字典序排序
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String[] strings = {"banana", "apple", "orange", "grape"};
Arrays.sort(strings);
for (String str : strings) {
System.out.println(str);
}
}
}