打算利用寒假时间好好重新再系统学一遍Java。下面这些tips可能都比较基础,但都是我以前容易忘记或者疏忽的,所以这篇主要是写给我自己的啦。后面附上的是我使用的Java学习工具书的页码。
1、使用Alt + /可以启动代码辅助菜单。
System.out.println()方法可以这么输:输入 syso ,按Alt + /
P31、32
2、final常量在整个程序中只能被赋值一次 P43
3、属于类的方法外的变量称为 成员变量(全局变量),方法内的变量称为 局部变量。
static只能加在 成员变量 前。
可以在其他类中使用 类名.静态变量 调用。
局部变量可以和成员变量名相同。
P45
4、++a 和 a++ 的加值先后 P48
5、&& 与;|| 或 P49
6、整数类型:int,long 浮点类型(带小数):float,double
int < long < float < double
P38、39
7、尽量每个声明变量单独一行,即使它们的数据类型相同。这样方便添加注释。
成员变量声明时会默认赋初值,但局部变量不会。声明局部变量后一定要对其初始化。
P57
8、静态方法不能调用非静态变量
9、i+=2 等价于 i = i+2
10、foreach遍历数组语句 P71
11、取余运算符 %
换行符 "\n"
12、str.length(); 获取字符串长度(包括空格)
字符串查找:indexOf(String s) 从头开始找 lastIndexOf(String s) 从后开始找 从0开始计算位置,没有检索到返回-1
str.charAt(int index); 指定索引处的字符返回
获取某段字符串:substring(int beginIndex) 从某位置到结尾 substring(int beginIndex, endIndex) 从某位置到另一位置
str.replace(char oldChar, char newChar); 替换字符串(区分大小写,替换全部)
startsWith(String prefix) endWith(String suffix) 判断字符串的开始和结尾,返回boolean值
判断两个字符串是否相等:equals(String str) 区分大小写 equalsIgnoreCase(String str) 不区分
str.split(String sign) 分割字符串,返回String[]类型。sign为分隔符。多个分隔符用 | 隔开
P78-88
13、正则表达式的元字符、限定符等符号的用法 P93、94
14、利用StringBuilder对String进行增删改动,append(content) 增加任意数据类型的内容,insert(int offset, arg) 在指定位置增加,delete(int start, int end) 删除start到end-1处的字符,toString() 输出字符 P96
15、获取arr数组的最后一项:arr[arr.length - 1]
16、获取算法耗时:
long starTime = System.currentTimeMillis();
// 中间插入某个算法
long endTime = System.currentTimeMillis();
long time = endTime - starTime;
System.out.println("所耗时间:" + time);
17、权限修饰符:
private 只能被这个类本身访问。default(不加修饰符) 可以被这个类本身和同一个包中的类访问。
protected 可以被这个类本身、它的子类(包括同一个包中以及不同包中的子类)和同一个包中的所有其他的类访问。
public 可以被所有的类访问。
P126
18、静态变量在一个类中共用一块内存。必须在方法外声明(成员变量)。该类的所有方法和对象共用一个变量。
19、int与String类型互换:
int myInt = 100;
String myString = "999";
String myString2 = "233";
// int → String
String newString = Integer.toString(myInt);
// String → int
// 以下两种方法均可
// 但valueOf的返回值是Integer,parseInt的返回值是int
int newInt = Integer.valueOf(myString);
int newInt2 = Integer.parseInt(myString2);
System.out.println("toString: " + newString + "\n" + "valueOf: " + newInt + "\n" + "parseInt: " + newInt2);
20、产生大于等于a小于b的随机数:a + (int) (Math.random() * (b - a))
产生随机字母:(char) ('a'+ Math.random() * ('z' - 'a' + 1))