《Head First Java》读书笔记day04

Java是通过值传递的,也就是通过拷贝传递;方法无法改变调用方所传入的参数。

如果方法声明了非void的返回类型,那就一定要返回与类型相同的值。

数据隐藏-封装的基本原则:将你的实例变量标记为私有的,并提供公有的getter与setter来控制存取动作。将实例变量标记为private,将getter与setter标记为public。

实例变量永远都会有默认值。如果你没有明确的赋值给实例变量,或者没有调用setter,实例变量还是会有值!

integers                    0

floating points           0.0

booleans                 false

reference                 null

实例变量与局部变量之间的区别

  1. 实例变量是声明在类内而不是方法中。
  2. 局部变量是声明在方法中的。
  3. 局部变量在使用前必须初始化。

局部变量没有默认值!如果在变量被初始化前就要 使用的话,编译器会显示错误。

变量的比较

使用 == 来比较两个primitive主数据类型,或者判断两个引用是否引用同一个对象;使用equals()来判断两个对象是否在意义上相等。(像是两个String对象是否带有相同的字节组合)

使用 == 来比对primitive主数据类型:这个运算式可以用来比较任何类型的两个变量,它只是比较其中的字节组合。

int a = 3;
byte b = 3;
if (a == b) { // true }

使用 == 来判别两个引用是否都指向同一对象。

Foo a = new Foo();
Foo b = new Foo();
Foo c = a;
if (a == b) { //false }
if (a == c) { //true }
if (b == c) { //false }

 加强版的for循环

for (String name : nameArray){}
//String name:数组元素的类型必须与循环变量的类型匹配;声明会带有数组单一元素的循环变量;此变量在循环过程中会带有不同元素的值;
//: 代表“in”
//nameArray:要被逐个运行的集合
//{}:重复执行的部分放在这里

这段代码,自己看了老半天,结果还写错了,的确有点绕,写下来,以备复习。

public class OutPut {
    public static  void main(String[] args){
        OutPut o = new OutPut();
        o.go();
    }

    void go(){
        int y = 7;
        for (int x = 1;x < 8;x++){
            y++;
            if(x > 4){
                System.out.println(++y + " ");
            }
            if (y > 14) {
                System.out.println(" x = " + x);
                break;
            }
        }
    }
}

输出是:13 15 x = 6

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值