Java编程思想随笔

看thinking in Java 第2章总结


1、String 支持操作符+和+=
也就是说可以
String test="abc"+"edf";
和String test+="ghi";


2、赋值操作符=
对于基本数据类型的=,如a=b;(包括string)
可以把b的值赋给a,而b的值不变,a仅是值改变;
对于对象赋值,如Test a和Test b

如果a=b,b的引用赋值给a;那么a和b便指向同一块内存,也即是a/b其中一方改变,另一方也会同样改变

备注:JS中,使用 = 获取的数组和对象,指代的也是同一块内存。



3、Random对象
Random r1=new Random(47);
Random r2=new Random(47);
这里的47为随机数生成器的种子,你可以任意写,只要是long类型的数字即可
当你的种子相等时,每一次所生成数字的大小的相等的,所以为了避免重复,可以不写种子,
这样Java就会以当前时间作为随机数种子。
r1.nextInt(100);这里的100规定的是范围,意思是生成的数只取0——100之间的(包括0,不包括100)
附带一句,作者说的魔幻数字47,没有任何特别的地方,私下认为是作者的一种编程习惯
而Math.random()产生的则是0——1之间的double值,包括0,但不包括1.


4、equals比较的是值是否相同,而==比较的是引用
但是当用equals比较实体类时,
如,Test a=new Test();Test b=new Test();
a.equals(b);时
需要重写equals方法,因为equals的默认行为是比较引用。                               


5、指数计数法用e来表示
如float f=2e12f;输出为2E12,意思为2*1012次方;
20.2e-4,输出为2.02e3;


6、基本类型转换
如果3.98要转换成整数如int类型,则为3(这种结果和Math.floor(3.98)是一样的,都是截取小数)
如果想按照四舍五入的方法,那么通过Math.round(3.78);的方法
在运算时char,byte,short会自动转换为int

float会转换成double

看thinking in Java 第3章总结

1、foreach
任何一个返回一个数组的方法都可以用foreach
其中(以前没干过)可以这样
for(char c:"someone is a good boy and handsome".toCharArray())
{
System.out.print(c+"/");
}
任何一个Iterable对象

看thinking in Java 第5章总结

程序的赋值步骤为
    父类的静态变量赋值
    自身的静态变量赋值
    父类成员变量赋值
    父类块赋值
    父类构造器赋值
    自身成员变量赋值
    自身块赋值
    自身构造器赋值




2、对于数组int a[]={1,2,3,4,5};
可以使用Arrays.toString(a);来进行遍历。


3、从jdk5开始,增加了可变参数列表,如下所示
public void ma(int... args){
  for(int each:args){
     System.out.println(each);
  }
}
只要类型正确,可以输入>=0个参数,也可以输入一个int或Integer类型的数组(注意是一个,重要的自己去说三遍)。
甚至你可是写几个可变参数的重载方法,如
ma(char...args){}
ma(long...args){}
ma(int...args){}


4枚举Enum
Enum是在jdk5以后添加的,Enum中都为常量,所以用大写书写,如下:
public enum MoneyEnum {
ONE,TWO,THREE,FOUR,FIVE


}
Enum中有toString(),来显示某个enum的名字;有ordinal()方法,又来表示某个特定enum的声明顺序;
有static values(),按照enum的声明顺序,来生成由这些常量生成的数组。
Enum写在单独的一个类中
public class EnumTest {


public static void main(String[] args) {
// TODO Auto-generated method stub
for(MoneyEnum e:MoneyEnum.values()){
System.out.println(e+",ordinal "+e.ordinal());
}


}


}
Enum支持switch遍历;




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值