zoukankan      html  css  js  c++  java
  • 雨课堂知识点总结(七)

    3.1

    1.Java中的Primitive Type(int,char,boolean等)和Object Type(String,Boolean,Calendar)的差异是

    前者在Stack中分配内存,后者在heap中分配内存

    使用前者的时空代价低,使用后者的时空代价高

    前者和后者中的某些类型可通过auto-boxing进行自动转换,例如int和Integer

    2.Static type checking和dynamic type checking的区别是

    前者在编译阶段发生,后者在运行阶段发生

    前者比后者更能带来程序的健壮性,因为可以在程序投入运行前就发现错误

    前者是关于“类型合法性”的检查,后者是关于“值的合法性”的检查

    3.下面的代码会在运行阶段发生错误:

    int [] arr = new int [] {1,2};

    arr[2] = 3;

    以及

    String s = null;

    System.out.println(s.length());

    4.static type checking所能处理的错误包括:

    所调用函数的参数数目错误

    函数的return语句返回的变量类型与函数声明中的返回值类型不匹配

    赋值语句右侧的值类型与左侧的变量类型不匹配

    5.不具备static typing的能力的语言包括:

    Python Ruby Perl PHP

    6.String a = "5"+6;
    System.out.println(a);

    上面代码会在控制台打印56

    int a = "5"+6;

    System.out.println(a);

    此处会发生编译错误

  • 相关阅读:
    宜未雨而绸缪,毋临渴而掘井。
    JDBC fetch size
    社会主义核心价值观
    JavaEE
    《夜泊牛渚怀古》
    JAVA "GMT+10" 和 "GMT+0010"
    乡村振兴1
    申论 题好文一半
    UCOS时钟与中断:
    任务的状态-挂起和恢复
  • 原文地址:https://www.cnblogs.com/HIT-ryp/p/10522908.html
Copyright © 2011-2022 走看看