基础1:基本数据

目录

基本数据

数据截断:

移位运算符:

case标签的类型:

数组

一维数组

多维数组

命令行参数

类的关系:

   依赖(use a)

   聚合(has a)

   继承(is a)

初始化块:

初始化过程:

重载:

时间

类加载器的直观作用:


基本数据

数据截断:

       /*
        * 300的二进制编码 100101100
        * 44的二进制编码101100
        * 一byte8个二进制位发生截断
        * 输出44
        * */
        System.out.println((byte)(300));

移位运算符:

       /*
        * m<<n 表示m的每个二进制位向左移动n位,相当于*2^n
        * m>>>n 表示m的每个二进制位向右移动n位,最高位用0补(逻辑右移)
        * m>>n 表示m的每个二进制位向右移动n位,最高位用原先最高位的补 ,正数补0,负数补1(算术右移)
        * */
        System.out.println((1<<2)==4);
        System.out.println(-1>>2);
        System.out.println(-1>>>2);


case标签的类型:

    char byte short 或int的常量表达式
    枚举常量
    字符串字面值
   

数组

一维数组

        int[]a1=new int[]{0,0,0,0,0};
        int[]a2=new int[5];
        int []a3={1,2,3,4,5}

多维数组

int[][] magicSquare =
           {
             {16, 3, 2, 13},
             {5, 10, 11, 8},
             {9, 6, 7, 12},
             {4, 15, 14, 1},
           };
           int[][] odds = new int [NMAX + 1] [] ;
           for (int n = 0; n <= NMAX ; n++)
           odds[n] = new int [n + 1] ;

    在java允许创建长度为0的数组,这对于碰巧结果为0处理的很好,不需要单独判断

命令行参数

    在 Java 应用程序的 main 方法中, 程序名并没有存储在 args 数组中例如:当使用下列命令运行程序时
    java Message -h world
    args[0] 是“ -h”, 而不是“ Message” 或“ java”

类的关系:

   依赖(use a)

        如果一个类的方法操纵另一个类的对象,我们就说一个类依赖于另一个类。
        应该尽可能地将相互依赖的类减至最少。 如果类 A 不知道 B 的存在, 它就不会关心 B的任何改变(这意味着 B 的改 变不会导致 A 产生任何 bug )。用软件工程的术语来说, 就是让类之间的耦合度最小

   聚合(has a)

   继承(is a)


初始化块:

    初始化块相当于将初始化块中的内容放入了构造函数的最前面

初始化过程:

    所有数据域被初始化为默认值(0、 false 或 null)
    调用父类构造方法
    按照在类声明中出现的次序, 依次执行所有域初始化语句和初始化块。
    执行这个构造函数的剩余主体

重载:

    要完整地描述一个方法,需要指出方法名以及参数类型。这叫做方法的签名,返回类型不是方法签名的一部分。 也就是说, 不能有两个名字相同、 参数类型也相同却返回不同类型值的方法。

时间

    Date:时间点
    LocalDate:表示日历如2019-03-25

杂:
    final 只能保证在某个变量的引用不会再指向其他对象,但这个对象内部可以改变
    本地方法可以绕过 Java 语言的存取控制机制

类加载器的直观作用:

      在默认情况下,包不是一个封闭的实体。也就是说, 任何人都可以向包中添加更多的类。当然,有敌意或低水平的程序   员很可能利用包的可见性添加一些具有修改变量功能的代码。例如,在 Java 程序设计语言的早期版本中, 只需要将下列这条语句放在类文件的开头, 就可以很容易地将其他类混入 java.awt包中:package java.awt;
     然后把结果类文件放置在类路径某处的 java/awt子目录下, 就可以访问 jaVa.awt 包的内部了。使用这一手段, 可以对警 告框   进行设置从 1.2 版开始, JDK 的实现者修改了类加载器(双亲委托机制), 明确地禁止加载用户自定义的、 包名以“  java.” 开始的类!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值