java基础回顾2(关键字、基本数据类型)

关键字

  • 访问控制
private    protected    public
  • 类,方法和变量
abstract    class    extends    final    implements    interface    native    new
static    strictfp    synchronized    transient    volatile
  • 程序控制
break    continue    return    do    while    if    else    for    
instanceof  switch case    default
  • 异常处理
try    catch    throw    throws
  • 包相关
import    package
  • 基本类型
boolean    byte    char    double    float    int    long    short    null   
true    false
  • 变量引用
super    this    void
  • 保留字
goto    const
  • 不常用字段解释
    • strictfp:在接口和类上加上该标识,会对float和double进行严格计算
    • transient:在对象成员变量中加上该标识,在对象序列化时,被标识变量不会被序列化
    • volatile:在变量前加入该标示,解决多线程情况下变量的可见性和有序性,但无法解决原子性问题,应用场景为,变量的值不参与修改的情况。参见:Java并发编程:volatile关键字解析

数据类型

  • 基本数据类型

    A:整数            占用字节数
        byte            1
        short           2
        int             4
        long            8
    B:浮点数
        float           4
        double          8
    C:字符
        char            2
    D:布尔
        boolean         1
    
    注意:!!!!!
        整数默认是int类型,浮点数默认是double。
    
        长整数要加L或者l。
        单精度的浮点数要加F或者f。
    

思考题和面试题

  • 下面两种方式有区别吗?

        float f1 = 12.345f;     // 本身是一个float类型
        float f2 = (float)12.345;   // 开始是一个double类型,强转为float类型
    
  • 下面的程序有问题吗,如果有,在哪里呢?

        byte b1 = 3;
        byte b2 = 4;
        byte b3 = b1 + b2;  // 有问题,byte参与运算就转换为int类型,编译会报错
        byte b4 = 3 + 4;    // 常量,先把结果计算出来,然后看是否在byte的范围内,如果在,就不报错
    
  • 下面的操作结果是什么呢?

        byte b = 130;   // 编译报错,130不在范围内
        byte b = (byte)130;     // -126 源码反码补码!???
    
  • 字符参与运算

        是查找ASCII里面的值
        'a'     97
        'A'     65
        '0'     48
    
        System.out.println('a');    // a
        System.out.println('a' + 1);    // 98
    
  • 字符串参与运算

        这里其实是字符串的连接
    
        System.out.println("hello"+'a'+1);  // helloa1
        System.out.println('a'+1+"hello");  // 98hello
        System.out.println("5+5="+5+5);     // 5+5=55
        System.out.println(5+5+"=5+5");     // 10=5+5
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值