Java 再学习 模糊的知识 (一)

基础知识

1. 数值的进制

二进制数 前缀 0b | 0B
八进制数 前缀 0
十进制数 无前缀
十六进制数 前缀 0x | 0X

System.out.println("二进制数 1000:"+0b1000); //二进制数 1000:8
System.out.println("八进制数 1000:"+01000); //八进制数 1000:512
System.out.println("十进制数 1000:"+1000); //十进制数 1000:1000
System.out.println("十六进制数 1000:"+0x1000); //十六进制数 1000:4096
2. 转义序列符\u可以出现在字符常量或字符串的引号之外。
int[] u = new int\u005B3\u005D; //合法 相当于 int[] u = new int[3];
3. 常量的使用
//方法中声明则仅能在声明的方法中使用
final int CIMETHOD = 1;
//类中方法外声明则可以在多个方法,多个类中使用;称之为类常量
static final int PCOMETHODICLASS = 2; 
public static final int PCOMETHODICLASS = 2;
//类中方法外声明则仅可以在这个类的多个方法中使用
private static final int PCOMETHODICLASS = 2;
4. String类对象为不可变字符串
5. 不要用“==”检测两个字符串是否相等,这个运算符只能够确定两个字符串是否放置在同一个位置上,要比较两个字符串是否相当用equals()。
6. 有些时候,需要由较短的字符串构建字符串,例如,按键或来自文件中的单词。采用字符串连接的方式达到此目的效率比较低。每次连接字符串,都会构建一个 新的String对象,既耗时,又浪费空间。使用StringBuilder类就可以避免这个问题的发生。
//StringBuilder Nicholas8false
public static void stringBuilderTest() {
	StringBuilder sb = new StringBuilder();
	sb.append("Nicholas");
	sb.append(8);
	sb.append(false);
	System.out.println(sb.toString());
}
7. 格式化字符串
//格式化输出 
//My name is Hzf and my age is 23
//My name is Nicholas and my age is 23
public static void stringFormat() {
	String info = String.format("My name is %s and my age is %d","Hzf",23);
	System.out.println(info);
	System.out.printf("My name is %s and my age is %d","Nicholas",23);
}
8. 在循环条件的判定中,检测两个浮点数是否相等需要格外小心,由于舍入误差可能造成死循环。
9. 带标签的break语句,标签必须放在希望跳出的最外层循环之前,并且必须紧跟一个冒号。有些类似C++中的goto语句。
//带标签的break语句
//0 
//0G 
public static void breakWithLabel() {
	System.out.println();
	label:
	for (int i = 0; i < 3; i++) {
		System.out.println(i+" ");
		for (int j = 0; j < 3; j++) {
			if ( j == 1 ) {
				break label;
			}
			System.out.print(j+"G ");
		}
		System.out.println();
	}
}
10. java.math中的BigInteger和BigDecimal可以处理包含任意长度数字序列的数值,实现了任意精度的运算。不能使用算数运算符处理大数值,需要使用大数值类的add,multiply等方法。
11. Arrays.toString()可简单实现数组打印
//数组元素的快速打印 [0, 1, 2, 3, 4]
public static void arrayDisplay() {
	int[] a = new int[5];
	for(int i = 0 ; i < 5 ; i++) {
		a[i] = i ;
	}
	System.out.println(Arrays.toString(a));
}
//想要快速打印二维数组,可用
//System.out.println(Arrays.deepToString(a));
12. 在Java中,允许数组长度为0。在编写一个结果为数组的方法时,如果碰巧结果为空,则这种语法形式就显得非常有用。此时可以创建一个长度为0的数组:new elementType [0]

学习整理自《Java 核心技术 卷一 基础知识》

发布了57 篇原创文章 · 获赞 25 · 访问量 1万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章