Java學習筆記之常用API(1)

1.int類型與String類型的相互轉換

(1)、int->String
public static String valueOf(int i):返回int參數的字符串表示形式。該方法是String類型中的方法。
例:

int num = 100;
String s = String.valueOf(num);
System.out.println(s);

(2)、String->int
public static int parseInt(String s):將字符串解析爲int類型。該方法時Integer類中的方法。
例:

String 是= "100";
int i = Integer.parseInt(s);
System.out.println(i);

2.字符串數據排序

例:
需求:一個字符串"91 27 46 38 50",請寫程序實現最終輸出結果爲:“27 38 46 50 91”。
Java代碼實現:

public class Test{
	public static void main(String[] args) {
		String s = "91 27 46 38 50";
		//定義一個字符串數組,使用split(" ")將字符串s中的元素分割
		String[] strArray = s.split(" ");
		//定義一個int類型的數組
		int[] arr = new int[strArray.length];
		//將字符串數組中的元素分別賦給int類型的數組
		for(int i = 0; i < strArray.length; i++) {
			arr[i] = Integer.parseInt(strArray[i]);
		}
		//將得到的數組arr進行排序
		Arrays.sort(arr);
		//定義StringBuilder對象
		StringBuilder sb = new StringBuilder();
		//for循環遍歷數組arr
		for(int i = 0; i < arr.length; i++) {
			sb.append(arr[i]);
			if(i != arr.length - 1) {
				sb.append(" ");
			}
		}
		//輸出遍歷好的數組
		System.out.println(arr.toString);
	}
}

3.自動裝箱和自動拆箱

裝箱:把基本數據類型轉換爲對應的包裝類類型.
拆箱:把包裝類類型轉換爲對應的基本數據類型.
例:

Integer i = 10;//自動裝箱
i += 200;//i + 200自動拆箱; i = i + 200自動裝箱

注意:在使用包裝類類型的時候,如果做操作,先判斷對象是否爲null.

4.如何編寫和使用日期工具類

(1).public long getTime():獲取的是日期對象從1970年1月1日00:00:00到現在的毫秒值.
(2).public void setTime(long time): 設置時間,給的是毫秒值.
(3).SimpleDateFormat類概述
SimpleDateFormat是一個具體的類,用於以區域設置敏感的方法格式化和解析日期.
日期和時間格式化由日期和時間模式字符串指定,在日期和時間模式字符串中,從’A’到’Z’以及從’a’到’z’引號的字母被解析爲常用的模式字母.
常用的模式字母及對應關係如下:
y->年
M->月
d->日
H->時
m->分
s->秒
(4).格式化(Date->String)
public final String format(Date date):將日期格式化爲日期/時間字符串.
代碼實現:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(pattern:“yyyy年MM月dd日”);
String s = sdf.format(date);
System.out.println(s);
(5).解析(String->Date)
public Date parse(String source):從給定字符串的開始解析文本生成日期.
代碼實現:
String s = “2019-12-20 HH:mm:ss”;
SimpleDateFormat sdf = new SimpleDateFormat(pattern:yyyy-MM-dd HH:mm:ss);
Date d = sdf.parse(s);
System.out.println(d);
(6).日期工具類的應用
例:需求:定義一個日期工具類(DateUtils),包含兩個方法:把日期轉換爲指定格式的字符串;把字符串解析爲指定格式的日期,然後定義一個測試類(DateTest),測試日期工具類.
代碼實現:

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

public class DateUtils {
    //私有無參構造
    private DateUtils(){}
    //String -> Date
    public static Date StringToDate(String time , String Pattern) throws ParseException {
        SimpleDateFormat sdf1 = new SimpleDateFormat(Pattern);
        Date date1 = sdf1.parse(time);
        return date1;
    }
    //Date -> String
    public static String DateToString(Date date , String Pattern){
        SimpleDateFormat sdf2 = new SimpleDateFormat(Pattern);
        String time = sdf2.format(date);
        return time;
    }
}
import java.util.Date;
import java.text.ParseException;
import java.util.Date;

public class DateTest {
    public static void main(String[] args) throws ParseException {
        //定義一個字符串
        String s = "2019年12月20日 13:25:25";
        //定義一個字符串模板
        String pattern = "yyyy年MM月dd日 HH:mm:ss";
        //創建對象用於接收方法DateUtils.StringToDate的返回值
        Date d = DateUtils.StringToDate(s,pattern);
        //輸出解析後的時間
        System.out.println(d);

        //創建時間對象
        Date date = new Date();
        //創建字符串對象用於接收方法DateUtils.DateToString的返回值,並傳入參數
        String time = DateUtils.DateToString(date,"yyyy年MM月dd日 HH時mm分ss秒");
        //輸出格式化後的時間
        System.out.println(time);
    }
}

5.Calendar的使用

(1).Calendar爲某一時刻和一組日曆字段之間的轉換提供了一些方法,併爲操作日曆字段提供了一些方法.
Calendar提供了一個類方法getItstance用於獲取Calendar對象,其日曆字段已使用當前日期和時間初始化(多態的形式):Calendar rightNew = Calendar.getInstance();
(2).Calendar的常用方法
public int get(int field):返回值給定日曆字段的值.
代碼實現:

Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int date = c.get(Calendar.DATE);
System.out.println(year + "年" + month + "月" + date + "日");

public abstract void add(int field , int amount):根據日曆的規則,將指定的時間量添加或減去給定的日曆字段.
代碼實現:

Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR , amount:-3);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int date = c.get(Calendar.DATE);
System.out.println(year + "年" + month + "月" + date + "日");

public final void set(int year , int month , int date):設置當前日曆的年月日.
代碼實現:

Calendar c = Calendar.getInstance();
c.set(2020,12,12);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int date = c.get(Calendar.DATE);
System.out.println(year + "年" + month + "月" + date + "日");

(3).案例:2月天
代碼實現:

import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

public class FebruaryDemo02 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入一個您要判斷的年份:");
        int year = sc.nextInt();
        Calendar ca = Calendar.getInstance();
        ca.set(year,2,1);
        ca.add(Calendar.DATE,-1);
        int date = ca.get(Calendar.DATE);
        System.out.println(year + "年2月有" + date + "天");
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章