Java编程思想学习笔记(—)
(美) Bruce Eckel 著 《Java编程思想》部分学习日记(随手记录的笔记)
1. 操作符-测试对象等价性:
测试对象的等价性。
==这个符号只有完全同一个对象才返回true。
equal()这个方法则对于非自己创建的类时,比较实际内容是否一致。对于自己创建的类时,要比较实际内容必须重写equal()方法。
代码:
public class JavaTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Dog spot = new Dog();
spot.name = "zengxiao";
spot.say = "汪汪";
Dog spot1 =new Dog();
spot1.name ="zengxiao";
spot1.say="汪汪";
Integer intNum =new Integer(47);
Integer intNum1 =new Integer(47);
System.out.println(intNum==intNum1);
System.out.println(intNum.equals(intNum1));
System.out.println(spot==spot1);
System.out.println(spot.equals(spot1));
}
}
class Dog {
String name;
String say;
}
输出的结果就是:
false
true
false
false
2. 操作符-短路与直接常量:
当使用逻辑操作符时,我们会遇到一种短路现象。即一旦能明确无误地确定整个表达式的值,就不再计算表达式余下的部分了。因此整个逻辑表达式靠后的部分有可能不会被运算。
直接常量:
L代表long,F代表float,D代表double
十六进制数以前缀Ox表示,八进制数以前缀O表示
把十六进制和八进制转化成二进制的数时用,toBinaryString()方法
代码:
public class JavaTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int i1= 0x2f;
System.out.println(Integer.toBinaryString(i1));
long l1 =02567;
System.out.println(Long.toBinaryString(l1));
}
}
把十六进制和八进制转化成二进制的数时用, toBinaryString
3. 截尾和舍入:
截尾:
如:29.7转换成int类型,会变成29
舍入的话:
调用Math.round()方法,就会变成30
4. 生成一个随机小写字母的方法和生成随机数的方法:
生成一个随机小写字母的方法:
Random rnd = new Random();
char c =(char)(rnd.nextInt(26)+'a');
生成随机数的方法:
Random rnd = new Random();
ArrayList<Integer> listInt = new ArrayList();
int i = 0;
while (i < 25) {
int j =rnd.nextInt(500);
if (!listInt.contains(j)) {
listInt.add(j);
i++;
}
}
for (Integer integer : listInt) {
System.out.println(integer);
}
Arrays.toString()将产生一维数组的可打印版本
public class JavaTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Random rndRandom =new Random();
int[] intNum =new int[rndRandom.nextInt(20)];
System.out.println(intNum.length);
for (int i = 0; i < intNum.length; i++) {
intNum[i]=rndRandom.nextInt(200);
}
System.out.println(Arrays.toString(intNum));
}
}
5. Enum用法:
代码:
public class JavaTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
for (Spiciness s : Spiciness.values()) {
System.out.println(s+",ordinal"+s.ordinal());
}
}
public enum Spiciness {
Not,mild,zengxiao,zeng,xiao
}
}
6. Java中正则应用: