Java进阶day4变量篇【final、表达式、块】

  • final

当一个变量被final修饰的时候,该变量只有一次赋值的机会。

public class final1 {
    public void method1(){
        final int i = 5;
        
        i = 1;//i已经被赋值一次,该句会出现编译错误
    }
}

如果在声明的时候未赋值,那么可以在后面代码进行唯一的一次赋值

public class final1 {
    public void method1(){
        final int i;
        i = 6;//i在第3行被声明没被赋值,第4行是第1次赋值
        
        i = 1;//i已经被赋值一次,该句会出现编译错误
    }
}

final 除了修饰变量,还可以修饰类修饰方法

如果final修饰的是参数,能否在方法里给这个参数赋值?

public class final1 {
    public void method1(final int j){
        j = 5;

    }
}

编译结果:
java: 不能分配最终参数j

final初始化补充

final 修饰的变量在方法中,可以先初始化再赋值。

但是如果是全局变量,必须在初始化的时赋值,不然会报错。

public class final1 {
    final int j;//会报错
    public void method1(){
        final int i;//不会报错

    }
}

final修饰的类不能被继承 ,final定义的方法不能被重写 ,final定义的常量不能被重写赋值。

  • 表达式

  • 以;结尾的一段代码,即为一个表达式。表达式是由变量、操作符以及方法调用所构成的结构。如下所示:
  •  int i = 5;
        System.out.println();
    public class 表达式 {
        public static void main(String[] args) {
            //每一句话都是一个表达式
            int i = 5;
            System.out.println(5);
        }
    }

    ; 也是一个完整的表达式

  • public class 表达式 {
        public static void main(String[] args) {
            //一个空;也是一个表达式
           ;
           ;
           ;
           ;
        }
    }

    有双引号的5,输出为string类型的5;//System.out.println("5");

  • 没有双引号的5,输出为int类型的5;//System.out.println(5);

  • 从{ 开始 到对应的} 结束,即一个块
  • public class 表达式 {//类对应的块
        public static void main(String[] args) {//主方法对应的块
           System.out.println(5);
    
        }
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值