• 类型转换问题


    1. 输出结果为:168888

    public static void main(String[] args) {   
    
        System.out.println(8+8+"88"+8+8);
    
    }

    解释:

      1.从左往右看,前边两个8都为 int 类型,8+8=16;
      2."88"为 String 类型,16 +"88" = 1688;  字符串拼接后依然是  String类型

      3.因此 1688 + 8 = 16888; 16888 + 8 = 168888;

    2. 输出结果为:出现 NullPointException 空指针异常

    static Integer i;
    public static void main(String[] args) {
            if( i == 1) {
                System.out.println("OK");
            }
    }                

    解释:

      Integer 是 int 的包装类,属于引用类型,默认值为 null;

      if ( null == 1 ) 在编译其不会报错,但运行会报错

      解决方法:1. 为 i 赋初始值;  2. 将 Integer 改为 int

    3.输出结果: 编译期 出现 not have been initialized

    static final int i;
    public static void main(String[] args) {    
        System.out.println(i);    
    }

    解释: final 修饰的变量,要赋初始值;

    4.这段代码共创建了几个对象:5

    String s=”Fred”;
    s=s+”47”;
    s=s.substring(2,5);
    s=s.toUpperCase();
    return s.toString;

    解释:

      String s = "Fred"  创建了一个 Fred

      s = s + "47"  创建了2个  ( s = s 会创建一个 Fred,s = s + "47"会再创建一个 Fred47)

      s=s.substring(2,5);  创建一个 ed47

      s=s.toUpperCase();  创建一个 ED47

  • 相关阅读:
    Prometheus组件
    任务和实例
    初识Prometheus
    Prometheus简介【转】
    MySQL定时备份数据库(全库备份)
    lvextend 扩容后, df -h 看到的却还是原来的大小
    修复VSAN无法看到主机磁盘
    RocketMQ 单机部署(单master模式)
    强制找回GitLab管理员账户密码的方法
    php iis 上传图片后401无法访问
  • 原文地址:https://www.cnblogs.com/cfb513142804/p/4226208.html
Copyright © 2020-2023  润新知