一些java中的官方API的应用场景

来源:互联网 发布:淘宝品牌的市场定位 编辑:程序博客网 时间:2024/06/05 04:12

1、基本数据类型的封装
   a、装箱:
    是将基本数据类型,通过=等号的形式,直接赋值给一个对应的基本数据类型
    的封装类。比如:Integer a = 3;
   b、拆箱:
    是在使用基本数据类型的包装类直接进行算数运算的时候,将自动进行拆箱操     作,比如:Integer a = 3; int b = a + 1;此时,将会对a进行拆箱操作,取     出的是Integer这个包装类中封装的对应的int类型的值。
    (PS:类似的,还有Long,Float等)
  2、字符串
   a、charAt(int arg);返回arg下标索引所对应的char字符
   b、aa.compareTo(bb);
    b.1、如果aa.equals(bb) == true,那么返回0.
    b.2、如果不相等,那么两个字符串进行同位的依次比较,如果都相等,那么
    输出,调用者字符串 减去 参数字符串的长度。
    b.3、如果有不相等的,直接返回aa的Unicode表中的该char对应的码值
    减去bb的Unicode表中的该char对应的码值。
    (PS:如果aa大于bb,则返回正整数,反之返回负整数,均不符合,则返回0     ,即相等)
    public int compareTo(String anotherString) {
           int len1 = value.length;
           int len2 = anotherString.value.length;
           int lim = Math.min(len1, len2);
           char v1[] = value;
           char v2[] = anotherString.value;

           int k = 0;
           while (k < lim) {
                char c1 = v1[k];
                char c2 = v2[k];
                if (c1 != c2) {
                    return c1 - c2;
                }
                k++;
           }
           return len1 - len2;
       }

   c、contains(CharSequence s):
    c.1:比较左边字符串中是否包含右边字符串的内容,如果包含,则返回      true,反之返回false。
   d、contentEquals与equals这个方法,当传入参数为字符串的时候,则均用equals来 
   比较字符串是否是相同的内容。
   c、-1 >>> 1:相当于取得字面量int类型的最大值。如果再+1,int范围溢出,舍掉    溢出的最高位,变为int类型最小值。
   e、copyValueOf(char [] arg):通过String的构造方法,将arg数组转为String对象。
   f、endsWith()
   g、equalsIgnoreCase(String arg):忽略大小写,比较两个字符串是否相等。
   h、indexOf(int arg):输出当前字符串中第一次出现arg这个字符的索引位置。
   i、replace:将原String字符串中的某个char替换为新的char
   j、replaceAll:将某个符合正则表达式的字符串内容,替换为某个字符串。
   k、replaceFirst:将第一个符合正则表达式的字符串内容,替换为第二参数内容。
   (该正则表达式可以直接写成想替换的字符串实际内容。)
   l、split:可以通过正则表达式来分割字符串。
   m、trim():去掉String中的空格。
   n、String.valueOf:将某个参数转换为String类型。
  
  3、Math
   a、π
   b、E
   c、abs:取绝对值
   d、提供各种三角函数运算
   e、cbrt:返回double值的立方根
   f、ceil:无小数点部分,则等于原参数。有小数点部分,则直接进1。
   g、copySign:取第二个参数的符号给第一个参数,并且返回。
   h、log:求对数的一系列算法。
   i、max:返回比较的两个值中较大的那一个
   j、min: 返回比较的两个值中较小的那一个
   k、nextAfter:返回两个值之间的一个数字,并且在double范围内,无限接近第一个参   数
   l、pow:求第一个参数的第二个参数次幂
   m、random:返回一个[0,1)的随机数。
   n、rint:如果小数部分<=0.5,则为舍弃,返回整数。反之,进1.
   o、round:四舍五入,返回long类型。
   p、scalb(double arg1, int arg2):返回arg1 * 2^arg2;
   q、返回参数的符号函数;如果参数为 0,则返回 0;如果参数大于 0,则返回 1.0;   如果参数小于 0,则返回 -1.0。
   r、弧度转角,角转弧度
  4、Random
   a、seed:种子数,相同的种子数,不同的对象,执行相同次数的next系列方法,返回   相同的值。
   b、可以返回某个范围内的随机数,可以使double,float,long,int等类型。
   c、nextGaussian:返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(   “正态”)分布的 double 值,其平均值是 0.0,标准差是 1.0。

package main;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Random;

import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter.DEFAULT;

public class CoreJavaDay13 {
 public static void main(String[] args) {
  int a = 3;
  Integer b = 3;
  //装箱(Boxing)操作,起源于:JAVA 1.5
  Integer b2 = Integer.valueOf(3);
  Long c = 100L;
  Long c2 = Long.valueOf(100);
  
  //拆箱(Unboxing)操作,起源于JAVA 1.5
  System.out.println(a + 4);
  System.out.println(b + 4);
  System.out.println( b.intValue() + 4);
  //这个不叫做严格意义的拆箱,但是中间过程中,涉及到拆箱。
  System.out.println(b.toString() + 4);
  
  String aa = "abcaeag";
  String bb = "!!!";
  //如果aa位于bb之前,则返回负整数。
  //如果aa位于bb之后,则返回正整数
  //如果aa与bb顺序相同,则返回0 
//  System.out.println(aa.charAt(0));
//  System.out.println(aa.compareTo(bb));
//  System.out.println(aa.contains(bb));
  System.out.println(aa.contentEquals(bb));
  System.out.println(aa.equals(bb));
  char []cc = {'a', 'b', 'c'};
  System.out.println(String.copyValueOf(cc, cc.length, 0));
  System.out.println(aa.endsWith(bb));
  System.out.println(aa.equalsIgnoreCase(bb));
//  int ddd = aa.charAt(1);
//  System.out.println(ddd);
//  System.out.println((char)ddd);
  System.out.println(aa.indexOf('d'));
  System.out.println(aa = aa.replace('a', '!'));
  System.out.println(aa.replaceAll("!b", "c")); 
  System.out.println(Math.PI);
  System.out.println(Math.E);
  
  System.out.println(Math.ceil(Math.PI));
  System.out.println(Math.ceil(10.7));
  
  System.out.println(Math.ceil(-10.1));
  System.out.println(Math.ceil(-10.7));
  System.out.println(Math.copySign(10, -12));
  
  System.out.println(Math.max(10.1, 10.2));
  System.out.println(Math.max(-10.1, -10.2));
  System.out.println(Math.nextAfter(10.1, 10.2));
  System.out.println(Math.pow(2, 31));
  System.out.println(Math.rint(2.51));
  System.out.println(Math.round(2.49));
  System.out.println(Math.scalb(7.0, -10));
  System.out.println(Math.signum(-10));
  Random random1 = new Random();
  
  System.out.println(random1.nextGaussian());
  
  long time1 = System.currentTimeMillis();
  long time2 = System.currentTimeMillis();
  System.out.println(time1);
  System.out.println(time2);
  Date date1 = new Date(time1);
  Date date2 = new Date(time2);
  System.out.println(date2.after(date1));
  
  
  Calendar calendar = Calendar.getInstance();
  calendar.set(Calendar.YEAR, 2016);
  calendar.set(Calendar.MONTH, 3);
  calendar.set(Calendar.DAY_OF_MONTH, 15);
//  int week = calendar.get(Calendar.WEEK_OF_YEAR);
//  System.out.println(week);
  
  SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日hh点mm分ss秒");
  String timeString = simpleDateFormat.format(date2);
  System.out.println(timeString);
  
  
  Calendar calendar2 = Calendar.getInstance();
  calendar2.setTimeInMillis(System.currentTimeMillis());
  
  int year = calendar2.get(Calendar.YEAR);
  int month = calendar2.get(Calendar.MONTH);
  int day = calendar2.get(Calendar.DAY_OF_MONTH);
  
  System.out.println(year + "年" + (month + 1) + "月" + day + "日");
  
  
  Calendar calendar3 = Calendar.getInstance();
  calendar3.setTimeInMillis(System.currentTimeMillis());
  int week = calendar3.get(Calendar.DAY_OF_WEEK);
  System.out.println(week);
  switch (week) {
  case 1:
   System.out.println("星期日");
   break;
  case 2:
   System.out.println("星期一");
   break;
  case 3:
   System.out.println("星期二");
   break;
  case 4:
   System.out.println("星期三");
   break;
  case 5:
   System.out.println("星期四");
   break;
  case 6:
   System.out.println("星期五");
   break;
  case 7:
   System.out.println("星期六");
   break;

  default:
   break;
  }
  
  
  
 }
}

 


  5、Date、Calendar、SimpleDateFormat
   a、Date
    a.1、after,before分别判断某一个日期是否在参数日期之后或之前。
    a.2、compareTo:比较两个日期的顺序,同一时间,返回0
    当前date如果小于参数date,则返回负数,反之返回正数。
   b、Calendar
    b.1、通过单例模式获得Calendar实例对象。
    b.2、通过Calendar的一系列set方法,可以设置当前对象封装的时间
    b.3、可以通过get方法+参数的形式输出制定的年、月、日、时、分、秒

   c、SimpleDateFormat
    a、可以格式化一个Date类型的时间对象到指定的格式。
   (PS:Calendar相比于Date对象,更具有操作的灵活性)

 

package main;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class CoreJavaDay13_2 {

 public static void main(String[] args) throws ParseException {
  //将2001年3月15号 15点37分5秒 格式化为毫秒数
  Calendar calendar = Calendar.getInstance();
  calendar.set(2001, 2, 15, 03, 37, 5);
  long time1 = calendar.getTimeInMillis();
  System.out.println(time1);
  
  String date = "2001-03-15 15-37-05";
  SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh-mm-ss");
  long time2 = simpleDateFormat.parse(date).getTime();
  System.out.println(time2);
  
  Date date2 = new Date(time1);
  System.out.println(simpleDateFormat.format(date2));
  
 }

}

 

0 0
原创粉丝点击