Java基础知识——关键字

关键字mubu关键字

  • static作用
    • ①为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关;
    • ②在不创建对象的情况下就可以通过类来直接调用方法或使用类的属性。
    • static有4种情况
      • static代码块
        • static代码块在类中独立于成员变量和成员函数的代码块
        • 他不在任何一个方法体中,JVM在加载类时会执行static代码块,若有多个,则顺序执行。
        • static代码块经常被用于初始化静态变量。
        • static只会被执行一次。
      • static内部类
        • 他可以不依赖于外部类实例化对象而被实例化,而通常的内部类需要在外部类实例化后才能实例化。
        • 静态内部类不能与外部类有相同的名字,不能访问外部类的普通成员变量,只能访问外部类的静态成员变量和方法(包括私有类型)。
        • 注意:::只有内部类才能被定义为static。
    • static和final结合使用 static final
      • 对于变量:则表示一旦赋值,就不可修改,并且通过类名可以访问;
      • 对于方法:表示该方法不可覆盖,并且可以通过类名直接访问。
    • Java语言中,不能在成员函数内部定义static变量,否则会编译失败。
  • switch注意事项
    • 在使用switch(expr)中,expr只能是枚举常量或一个整数表达式。
    • long、float、double、String类型不能够隐式地转换为int类型,因为不能被用作switch的表达式,如果一定要使用,必须将其强制转换为int型才可以。
    • case语句之后可以是①直接的常量数值 或 ②一个常量计算式 或③ final型的变量(final变量必须是编译时常量),但不能是变量或者带有变量的表达式。④当然更不能是浮点类型。
    • 在Java7中,switch开始支持String类型。
    • 在使用switch时,一般在case语句结尾添加break语句。
      • 因为一旦通过switch语句确定了入口点,就会顺序执行后面的代码,直到遇到关键字break。否则,会执行满足这个case后的其他case的语句而不管case是否匹配,直到switch结束或者遇到break为止。
  • volatile关键字
    • volatile是一个类型修饰符,他是被设计用来修饰 被不同线程访问和修改的变量。被volatile定义的变量,系统每次用到它时都是直接从对应的内存中提取,而不会利用缓存。在使用了volatile修饰成员变量后,所有线程在任何时候所看到变量的值都是相同的。
    • 由于volatile不能保证操作的原子性,因此,一般情况下volatile不能代替sychronized。
    • volatile会阻止编译器对代码的优化,因此会降低程序的执行效率。
    • 能不用volatile就不要用volatile。
  • instanceof作用
    • 它是一个二元运算符,作用是判断一个引用类型的变量所指向的对象是否是一个类(或接口、抽象类、父类)的实例,即它左边的对象是否是它右边的类的实例,,该运算符返回Boolean数据。
  • strictfp作用
    • 是strict float point 的缩写,指的是精确浮点,它用来确保浮点数运算的准确性。
    • JVM在执行浮点运算时,若无strictfp,计算结果可能会不准确,而且计算结果在不同平台会不一样。
    • 一旦用strictfp来声明一个类】接口或者方法,在声明的范围内,所有浮点数计算都是精确的。
    • 当一个类被strictfp修饰,所有的方法都会自动被strictfp修饰。
    • strictfp可以保证浮点数运算的精确性,而且在不同的硬件平台上会有一致的运行结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Baymax_wyl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值