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 + "天");
}
}