JAVA编程思想读书笔记四(控制程序流程)

1、关于别名效应

      对对象赋值实际上是拷贝的对象的引用,而引用会指向同一个对象。这会带来“别名效应”。

     当把对象传递给方法的时候,也会产生别名效应。比如下面的代码中的例子:

class letter()...{
        char c;
}

public class PassObject()...{
        static void f( letter y )...{
                y.c = 'z';
         }
         public static void main( string[] args)...{
                letter x = new letter();
                x.c = 'a';
                System.out.println("x.c="+x.c);
                f...{x};
                System.out.println("y.c="+y.c)
         }
}
       
在这里传的还是reference。

别名效应是个很复杂的问题,在后面还会讲到。

2、正则表达式

  expect()方法

3、对象的相等性

     比较对象的相等性,使用equals() 方法,但是在默认的 equals()方法中比较的还是对象的引用,只是在大多数的类中系统已经重写了这个方法,用来比较对象的相等性。

4、短接

     处理逻辑运算时,只要准确的知道整个表达式的结果,会自动结束整个表达式,这种现象叫做“短接”。

     java中不提供运算符重载。

5、 while ( x = y ) 在JAVA中在等待一个boolean 值,而这个表达式不是 boolean 值,它更不会将int 转化为 boolean 值,所以编译器会自动报错。

6、类型转换

    cast 的意思是“将东西浇到模子里”

    JAVA 允许对除 BOOLEAN 之外的任何基本类型的数据任意转换,而boolean 值根本不能转换。类是不允许转化的。要让他们相互转换,必须有特殊的方法。JAVA中所有的对象都可以在自己的类系中上下传递。

     如果对比 int 小的数据类型(也就是char,byte 和 short 型的数据)进行数学和位运算时,这些值会自动被提升为int 在进行运算。所以运算的结果仍然是int ,所以当你把这个值赋给更小的变量时,必须进行类行转换。    java中没有sizeof()运算符,因为JAVA中的所有的数据类型在所有的机器语言上相同的。

7、程序的控制

      GOTO 是 JAVA 中的保留字,但是并没有用进去。而JAVA 中有 LABLE(标签)。

 

 

 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值