• java学习日记(17-18)


    ########## day17 包装类 System Math BigInteger Arrays #########
    构造方法 把字符串转换成int
    Integer in = Integer(String);
    int val = in.intValue();

    int val = Integer.parseInt(String) 把字符串转换成int
    1 String s = i + "" 把int转换成字符串
    2 String s1 = Integer.toString(int)

    静态成员变量 MAX_VALUE MIN_VALUE
    进制的转换 String s = Integer.toBinaryString(int);

    自动装箱:基本数据类型变对象 Integer in = 1; //escially Integer in = new Integer(1)
    自动拆箱:对象变为基本数据类型 in = in + 1; // in.intValue() + 1

    当数据在byte范围内,jvm不会重新new对象
    Integer aa = 127;
    Integer bb = 127;
    aa == bb true

    Integer aa = 128;
    Integer bb = 128;
    aa == bb false

    # System class
    构造函数为private 不能实例化对象
    exit() 退出虚拟机
    Properties getProperties() 获取系统的属性 file.separator

    arrayCopy(src, srcIndex, des, desIndex, length)
    从src目标数组的开始索引srcIndex,复制到目标数组des的desIndex位置,共复制length个
    # Math class
    Math.abs() absolute value
    Math.pow(double a, double b)
    Math.max(double a, double b)
    Math.min(double a, double b)
    Marh.sqrt(double a)
    Math.random() 0.0-1.0
    Math.round(double a) 四舍五入

    # Arrays tools
    Arrays.binarySearch(array, value) 若没有找到返回 -插入点-1
    int index = Arrays.sort(array)
    String toString(array) 打印数组

    # 大数运算
    java.math package
    BigInteger b1 = new BigInteger(String)
    BigInteger addSum = b1.add(b2)
    b1.subtract(b2)
    multiply() divied()

    BigDecimal
    System.out.println(0.09+0.01); 0.9999999999999999
    计算机内浮点数精度

    divide(Bigdecimal divisor, int scale, int roundingMode)
    scale 保留几位小数 roundingMode 保留模式(参看API)

    ################ day18 迭代器 集合 #######################
    Collection 根接口
    add()
    void clear(),只删除元素,容器还在
    boolean contains(Object obj); 判断对象是否在集合中
    Object[] toArray() 集合转换成对象数组
    boolean remove(Object obj) 有则删除第一个,无则不删除

    数组.length 属性
    字符串.length() 方法
    集合.size() 方法
    # iterator接口
    初始迭代器指向-1
    boolean hasNext() 判断集合中还有没有元素
    元素 next() 移动指针
    Collection 中定义了抽象方法 Iterator iterator() ,子类重写此方法

    Collection<String> coll = new ArrayList<String>();
    Iterator<String> it = coll.iterator();

    while(it.hasNext())
    {
    String s = it.next();
    System.out.println(s);
    }

    Collection coll = new ArrayList(); //不写类型默认为Object
    Iterator it = coll.iterator()
    # foreach
    JDK 1.5 以后Collection 继承 java.lang.Iterable
    所有实现该接口的都可使用foreach

    for(数据类型 变量:数组或集合)
    { } 没有索引,只能遍历,类似于python中的for in

    泛型和C++中模板思想一致
    public class ArrayList<E>
    {
    public static add(E e)
    {}
    }
    <? extends Employee > 可以传递Employee及子类,上限
    <? super Employee> 可以传递Employee及父类,下限

    WE ARE ALL IN THE GUTTER, BUT SOME OF US ARE LOOKING AT THE STARS
  • 相关阅读:
    Bonding
    负载均衡
    XML
    wireshark
    IE
    轨迹系列7——Socket总结及实现基于TCP或UDP的809协议方法
    轨迹系列6——车载GPS对接方案汇总小结(809、自定义协议、前置库、WS)
    基于R树索引的点面关系判断以及效率优化统计
    WebGIS中以version方式实现代码更新后前端自动读取更新代码的方法
    轨迹系列5——验证轨迹GPS坐标转换为本地坐标的四/七参数是否准确的一种方案
  • 原文地址:https://www.cnblogs.com/YKang/p/7272178.html
Copyright © 2020-2023  润新知