Java编程思想第四版——工作心得

所有的问题,我都希望能从书本中找到理论的支撑。我的学习方法,爱读书!

 

因为一些小问题,导致编译失败,真的是很操蛋的心情。从c++转到java,有个心得就是,能多做点就多做点,否则编译器给你报错误。

1, 局部变量没有初始化导致编译错误。

String file ;

如果后面使用了file的话,而file又没有初始化。则就会报:

error: variable file might not have been initialized.

尤其是一个大工程,好不容易编译完一次,整这么个错误,真想摔键盘了。

理论出处:《Java编程思想》P24,2.2.3 Java中的数组

使用任何引用,必须为其指定一个对象;如果试图使用一个还是null的引用,运行时将会报错。使用前!!!!

java为了提高代码安全性,规定:
1,在类中定义的成员变量如果你没有初始化java会自动帮你初始化,如果变量是数字会自动初始化成 0,变量是字符会初始化成 'a', 变量是对象引用会初始化成 null, 变量是布尔型,则自动初始化成 false.
2,如果你定义的是以后要用到的(要从那里提取数值的)局部变量,那就必须在声明的时候就初始化,否则编译会报错。

 

2,enum和switch的搭配

参考《java编程思想》 P593 19,3 switch 语句中的enum

public enum Color{
    RED,
    GREEN,
    BLUE}

public void change(Color cl){
    switch(cl){
    //Note that you don't have to say Color.RED
    //in the case statement:
    case RED:
        cl = Color.GREEN;
        break;
    case GREEN:
        cl = Color.BLUE;
        break;
    case BLUE:
        cl = Color.RED;
        break;
    }
}

case Color.RED:  这么写就错了。

编译错误:

enum switch case label must be the unqualified name of an enumeration constant. 

在switch 的case 标签里必须使用 枚举常量的非限定名。为啥?语法?

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值