• java基础学习01


    java的数据类型:
    一、基本类型:
    整数:
        byte     1字节   1 111 1111 第一位0为正1为负,所以最大为2^7-1 为0111 1111 最小值:1000 0000 -2^7
        short       2     -2^15 2^15-1
        int        4         -2^31 2^31-1
        long     8
    浮点型:
         float     4     1 8指数 -127~128 23尾数
        double    8     1 11指数 52尾数
    字符型:
         char 2
    真假:
         boolean 1
     
    注:浮点型计算:
    BigDecimal a=new BigDecimal("0.1");
    BigDecimal b=new BigDecimal("0.2");
    System.out.println(a.add(b));
    需要转换成字符类型进行计算
    二、引用类型:
    数组
    接口
     
    如果调用方法的时候参数是基本类型则传递的是数值,如果参数是引用类型则传递的是指向堆区中的内存地址
     
    拼接字符串:
    StringBuffer buffer = new StringBuffer("a");
    buffer.append("b");
    buffer.append("c");
    System.out.println(buffer.toString());
     
    StringBuilder使用与上相同
    StringBuilder:非线程安全 单线程使用
    StringBuffer: 线程安全 每个方法都有锁,保证每次只有一个线程拼接字符串,防止多线程拼接出现问题 多线程使用
    字符串比较:
    String a = new String("abcd");
    String b = new String("abcd");
    System.out.println(a.equals(b));
     
    数组:
    - - - - 在堆中创建出一个连续的内存空间
    对象指向到内存空间的第一个位置
    int[] arr = new int[5];
    arr[0]
     
    ArrayList arrayList = new ArrayList<>();
    首部添加较慢,尾部添加和LinkedList一样快,取数据较快,所以用的较多
    扩容标准:扩容后的长度为原长度*1.5,如果新加的长度大于扩容后的,则取新加的长度。
     
     
    LinkedList linkedList = new LinkedList<>();
    LinkedList没有容量,只记录队首和队尾
    首部添加速度优于ArrayList,尾部添加差不多,但是取数据相对较慢
     
    Date start = new Date() :获取当前时间
     
    Hashtable:
    方法都有synchronized,有锁,所以线程安全,不允许有空指针
     
     
    Hashmap:
    非线程安全,允许空指针作为key
     
     
     
    多线程:
    进程:一个进行至少有一个线程
    线程:进程的一个执行过程
    实现多线程:
    1.继承Thread类
    2.实现runnable接口
    无论用上述哪种方式,都必须要重写run方法
    调用的时候必须调用start()方法才能以线程的方式启动
    3.线程池
     
     
    接口和抽象类的区别:
      构造方法 成员变量 非抽象方法 抽象方法 非抽象方法    
    接口 ×    
    抽象类    
     
    接口中成员变量只能用static和final修饰为常量,不写值也不能变,无法修改
    接口可以new但不能实例化,可以创建匿名内部类
    接口在1.8之前不可以有非抽象方法,1.8后可以用default实现非抽象方法。
     
    javabean bean model pojp -------数据模型
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    1.C和C++区别,以及const分析(底层const/顶层const)
    4.移植驱动到3.4内核-移植总结
    3.移植驱动到3.4内核-移植DM9000C驱动
    2.移植3.4内核-支持烧写yaffs2,裁剪内核并制作补丁
    Android Support v4、v7、v13、v14、v17的区别和应用场景
    Android利用canvas画各种图形
    ActionBar 自定义布局定义
    android动画坐标定义
    GitHub上最著名的Android播放器开源项目大全
    CardView 简介和使用
  • 原文地址:https://www.cnblogs.com/369529506panyue/p/13939533.html
Copyright © 2020-2023  润新知