day12

来源:互联网 发布:淘宝店铺违规怎么申诉 编辑:程序博客网 时间:2024/05/22 10:12
之前查找元素第一次在数组中出现的索引,基本查找法(从头查到尾)
二分查找:针对数组一定有序的!
 
 定义一个数组:
 11,22 ,33 ,44 ,55 ,66 ,77 
 
 解决思路:
 1)定义最小索引和最大索引
 2)计算出中间索引
  3)拿中间索引对应的元素和要查找的元素进行比较
  如果相等:直接返回中间索引
  不相等:
  大了,左边找
  小了,右边找
  4)重新获取最小索引和最大索引,计算出中间索引

  5)回到3)继续查找


   






  Arrays:此类包含用来操作数组(比如排序和搜索)的各种方法(针对数组操作的工具类)
  
  常用的几个方法:
 public static String toString(int[] a):将任意类型的数组以字符串形式显示出来!
 public static void sort(int[] a):快速排序:(将给定数组中元素升序排序)
 public static int binarySearch(int[] a, int key):当前int数组一定是有序数组
 使用二分搜索法来搜索指定的 int 型数组,以获得指定的值




Test








 对于浮点类型的数据类说,他们存储和整数的存储是不一致的,是按照有效数字位来进行存储的,浮点类型的数据计算的时候
  容易损失精度,计算出来的结果不精确,Java针对这种情况:提供了这个
 BigDecimal:
 作用:来提供浮点类型数据的精确计算!可变的、任意精度的有符号十进制数
 构造方式:
 public BigDecimal(String val)








  public BigDecimal(String val)
  常用的成员方法;
  public BigDecimal add(BigDecimal augend):加
  public BigDecimal subtract(BigDecimal subtrahend):减
  public BigDecimal multiply(BigDecimal multiplicand):乘法
  public BigDecimal divide(BigDecimal divisor):除
  public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)
  参数1:商, 参数2:保留几位小数,参数3:舍入的一种模式:ROUND_HALF_UP






BigInteger:用来计算超出了Integer类型范围的数据

BigInteger的构造方法
  public BigInteger(String val)将字符串表示的数字封装成BigInteger类型
  成员方法:
  public BigInteger add(BigInteger val)
  public BigInteger subtract(BigInteger val)
          public BigInteger multiply(BigInteger val)
  public BigInteger divide(BigInteger val)
          public BigInteger[] divideAndRemainder(BigInteger val)
                 
返回一个BigInteger数组,数组中的元素:商,余数









Calendar:日历类:
  Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,
  并为操作日历字段(例如获得下星期的日期)提供了一些方法
  Calendar该类是一个抽象类:不能实例化的,所以通过一下这个方法来创建对象
  public static Calendar getInstance()
  public int get(int field)返回给定日历字段的值
 
  public static final int YEAR:表示日历中 的年
  public static final int MONTH:月份:是0开始计算的
  public static final int DATE:和DAY_OF_MONTH是同义词,表示月份中的某天


 





Calendar常用的成员方法:
  public abstract void add(int field,int amount)
  为给定的日历的字段添加或者减去时间偏移量
  public final void set(int year,int month,int date)
  设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值


Test






Date类:日期类:
  表示特定的瞬间,精确到毫秒。
 
  常用的构造方式:
  public Date():表示分配的一个Date对象:无参: 通过无参构造获取当前系统的具体的时间
  public Date(long date):指定一个时间毫秒值  和它1970-1-1 00:00:00有时间差






Date中的两个成员方法
  public long getTime():获取当前时间毫秒值
 
 如果知道Date对象,可以通过getTime()获取时间毫秒值
 public void setTime(long time)








将Date对象--->String类型的日期的"文本格式":格式化
   public final String format(Date date)
  String类型日期的"文本格式"---->Date日期对象:解析
   public Date parse(String source) 该方法本身会抛出一个异常:ParseException(解析异常:编译时期异常)
 
 要进行转换:必须使用中间桥梁:DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。
   日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期Date -> 文本String)、解析(文本String-> 日期Date)和标准化
  
  但是,DateFormat是抽象类,不能直接实例化,使用的是它更具体的子类进行实例化:
  SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类
 
  常用的构造方法:
  Date---格式化--->String文本格式
 
  public SimpleDateFormat(String pattern)用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat
 
  日期和时间模式
  y 比如:2017---->yyyy
  M 年中的月份:2------>MM
  d   月份中的天数 :----->dd
  H 小时HH
  m 小时中的分钟数mm
   s 分钟中的秒数ss




Math类提供了一些数学运行的方法
  常用的成员方法:
  public static int abs(int a):绝对值
  public static double ceil(double a):向上取整
public static double floor(double a):向下取整
  public static double max(double a,double b):获取最大值
  public static double min(double a,double b):获取最小值
          public static double pow(double a,double b):a的b次幂
  public static double random():取值范围:[0.0,1.0)
  public static long round(double a):四舍五入
  public static double sqrt(double a):一个数的正平方跟









System:该类没有构造方法,所以字段和成员方法都用静态修饰
 
   常用的两个字段:
   in ,out都和流有关系:java.io...
 
  PrintStream(字节打印流) ps = System.out ;标准输出流
  PrintWriter(字符打印流)
 
  InputStream  in =  System.in; 标准输入流
 
  常用的成员方法:
  public static void gc()运行垃圾回收器。 
调用 gc 方法暗示着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存,最终调用的就是重写之后finalize()回收不用
的对象!
public static void exit(int status)终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。
public static long currentTimeMillis():返回当前的时间毫秒值






 System里面的常用的成员方法:
  public static void arraycopy(Object src,int srcPos,Object dest, int destPos,int length)
  指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束


原创粉丝点击