了解基本程序设计结构:
这章节有几个以前没注意的坑,在这里贴出来~提醒以后的自己也希望过路的朋友踩。
基本数据类型/运算符
1.System.out.println(2.0-1.1)打出来的是0.899999999999(二进制系统无法精确表示1/10)。
2.在java中,char类型采用UTF-16编码描述一个代码单元(16个二进制位)。
UTF-16编码采用不同长度的编码表示Unicode代码点。Unicode。
有关编码算法的描述请参看http://en.wikipe-dia.org/wiki/UTF-16
3.在java中0/非零 != false/true
4.变量名有字母(26个英文字母+在某种语言中代表字母的任何Unicode字符,
可用Character类isJavaIdentifierStart和isJavaIdentifierPart 方法进行检测)和数字组成,
java对大小写敏感。
5.整数被0除将会产生一个异常,浮点数被0除将的到一个无穷大或NaN
6.“>>>”用0填充高位;“>>”用符号位填充高位;没有“<<<”;1<<3 等于 1<<35(int )
7.强制类型转换是截断小数部分将float->整型;如果想进行舍入运算就要使用Math.round()方法。
8.将boolean转化为数值:b?1:0;
9.总结几个右结合 运算符:! ~ ++ -- + - () new ?: = += -= %= &= |= ^= <<= >>= >>>=
字符串:
1.字符串没有内置,而是提供了一个预定义类,用""括起来的字符串都是String类的实例。
2.字符串拼接,字符串与非字符串+时后者会变成字符串
3.字符串截取 s(字符串).substring(0,n);
4.对于新创建和修改字符串的效率问题,要看具体场景。对于不可变字符串:编译器可以让字符串共享。
5.== 运算符只能检测 字符串是否放在同一内存区,检测字符串是否相等用equals()方法检测。
6.if(str != null && str.length() != 0) 检测字符串既不是空串也不是null。
7.代码单元可以理解为字符编码的一个基本单元、代码点是指可用于编码字符集的数字
java.lang.string
基本的读入输出
java.util.Scanner
java.lang.System
java.io.Console
java.util.Scanner
java.io.PrintWriter
java.nio.file.Paths
大数值
java.math.BigInteger
java.math.BigDecimal
数组
1.数组长度为0 和null 不同
2.多维数组 数组的数组 是可以相互替代的
3.命令行参数 字符串数组
java.util.Arrays
顺序 选择 循环 中强调一下特有的for each循环:
for(int element: a)System.out.print(element).