美文网首页
iOS开发Java重学之旅一

iOS开发Java重学之旅一

作者: 程序大猩猩 | 来源:发表于2019-03-10 21:44 被阅读0次

    1. 基础数据类型

    符号整型的取值范围是[-128,127]

    因为:-1 + - 127 = 原码 1000 0001 + 1111 1111 = 反码 1111 1110 + 1000 0000 = 补码 1111 1111 + 1000 0001 = 补码 1000 0000

    详见

    2. 变量类型

    局部变量是在栈上分配的。

    局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。

    int age; //Error:(15, 15) java: 可能尚未初始化变量age
    

    类变量:无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。静态变量除了被申明为常量外很少使用。

    3. 修饰符

    public protected default private

    使用默认访问修饰符声明的变量和方法,对同一个包内的类是可见的。接口里的变量都隐式声明为 public static final,而接口里的方法默认情况下访问权限为 public。

    static 修饰符,用来修饰类方法和类变量。

    • 静态变量:
      static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量。

    • 静态方法:
      static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据。

    final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。

    private static final int numInstances = 0;
    // Error:(10, 9) java: 无法为最终变量numInstances分配值
    
    // Error:(5, 17) java: com.rambo.Boss中的superMethod()无法覆盖com.rambo.Employee中的superMethod() 被覆盖的方法为final
    
    // Error:(3, 27) java: 无法从最终com.rambo.Employee进行继承
    

    abstract 修饰符,用来创建抽象类和抽象方法。

    // Error:(3, 8) java: com.rambo.SubCaravan不是抽象的, 并且未覆盖com.rambo.Caravan中的抽象方法changeColor()
    

    synchronized 和 volatile 修饰符,主要用于线程的编程。

    4. 装箱

    所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。

    Character

    这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。相似的,编译器也可以把一个对象拆箱为内置类型。

          Integer x = 5;
          x =  x + 10;
          System.out.println(x); 
    // 当 x 被赋为整型值时,由于x是一个对象,所以编译器要对x进行装箱。然后,为了使x能进行加运算,所以要对x进行拆箱。
    

    5. Math

    Math.round() : 表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果是12,Math.round(-11.5)的结果为-11.Math.round( )符合这样的规律:小数点后大于5全部加,等于5正数加,小于5全不加。

    6. 循环、条件

    int [] numbers = {10, 20, 30, 40, 50};
    for(int x : numbers ) {
    }
    

    switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。

    相关文章

      网友评论

          本文标题:iOS开发Java重学之旅一

          本文链接:https://www.haomeiwen.com/subject/venjjqtx.html