写JAVA代码时常遇到的一些小问题

默认问题 int = 0 , float = 0.0f , double 0.0d , long 0l , char = ‘/u0000’, String=null , boolean=false
精确度问题 System.out.println( 2.0 - 1.1 ) ; // 0.89999999999999999999… 说明浮点数相减并不准确
类型转换问题 byte b1 = 1 ; byte b2 = 2 ; byte b3 = b1+b2 // 应该写成 byte b3 = (byte)(b1+b2) ;
优先问题 System.out.println( “123” + 4*5 ) ; // 12320
移位问题 -8>>1 和 -8>>>1 (>>高位补符号位 >>>高位补0 ) 
switch(类型) 类型可以是 int , short , byte , char , enum 这五个类型(enum必须是JDK 5.0 )
String不是基本类型,是一个类,每一个字符串都是一个对象。

 

byte b1 = 10 ;
byte b2 = 20 ;
byte b3 = b1+b2 ; //编译不通过 应该写成 byte b3 = (byte)(b1+b2) ;
因为存在类型的转换:当a+b的时候
1. 先看看有没有double ,有结果是double类型的
2. 再看有没有float
3. 再看long
4. 如果以上都没有就是int
所以上面的例子中必须要求强转,他们的特点都是向上匹配!

final可以修饰类、属性、方法。

当用final修饰类的时候,此类不可被继承,即final类没有子类,被final修饰得类其类中的方法默认的全是final,这样可以用final保证用户调用时动作的一致性,可以防止子类覆盖情况的发生。

当利用final修饰一个属性(变量)的时候,此时的属性成为常量。

利用final定义方法:这样的方法为一个不可覆盖的方法。

private , static 不可以和 abstract 一起使用。

接口就是接口,尽管本质上是抽象类,但是总归不是类,接口没有父类,Object类绝不是接口的父类.

接口和接口之间可以定义继承关系,并且接口之间允许实现多继承。

String A=new String(“hello”);
String A=new String(“hello”);
A==B(此时程序返回为FALSE)
因为此时AB中存的是地址,因为创建了新的对象,所以存放的是不同的地址。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值