生活随笔
收集整理的這篇文章主要介紹了
Java基础day13
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java基礎day13 Java基礎部分day13-常用API&異常 1.包裝類 1.1基本類型包裝類 1.2Integer類 1.3int和String類型的相互轉換 1.4字符串數據排序案例 1.5自動拆箱和自動裝箱 2.時間日期類 2.1Date類 2.2Date類常用方法 2.3SimpleDateFormat類 2.4日期工具類案例 2.5Calendar類 2.6二月天案例 3.異常 3.1異常 3.2JVM默認處理異常的方式 3.3try-catch方式處理異常 3.4Throwable成員方法 3.5編譯時異常和運行時異常的區別 3.6throws方式處理異常 3.7throws和throw的區別 3.8自定義異常
Java基礎部分day13-常用API&異常
1.包裝類
1.1基本類型包裝類
1.2Integer類
示例代碼
public class Integerdemo { public static void main ( String
[ ] args
) { Integer i1
= new Integer ( 100 ) ; System
. out
. println ( i1
) ; Integer i2
= new Integer ( 100 ) ; System
. out
. println ( i2
) ; Integer i3
= Integer
. valueOf ( 100 ) ; System
. out
. println ( i3
) ; Integer i4
= Integer
. valueOf ( "100" ) ; System
. out
. println ( i4
) ; }
}
1.3int和String類型的相互轉換
int轉換為String 轉換方式 方式一:直接在數字后加一個空字符串 方式二:通過String類靜態方法valueOf() 示例代碼
public class Integerdemo { public static void main ( String
[ ] args
) { int number
= 100 ; String s1
= number
+ "" ; System
. out
. println ( s1
) ; String s2
= String
. valueOf ( number
) ; System
. out
. println ( s2
) ; }
}
String轉換為int 轉換方式 方式一:先將字符串數字轉成Integer,再調用valueOf()方法 方式二:通過Integer靜態方法parseInt()進行轉換 示例代碼
public class Integerdemo { public static void main ( String
[ ] args
) { String s1
= "100" ; Integer i
= Integer
. valueOf ( s1
) ; int i1
= i
. intValue ( ) ; System
. out
. println ( i1
) ; int i2
= Integer
. parseInt ( s1
) ; System
. out
. println ( i2
) ; }
}
1.4字符串數據排序案例
案例需求 有一個字符串:“91 27 46 38 50”,請寫程序實現最終輸出結果是:“27 38 46 50 91” 代碼實現
import java
. util
. Arrays
; public class demo { public static void main ( String
[ ] args
) { String s
= "91 27 46 38 50" ; String
[ ] strarr
= s
. split ( " " ) ;
int [ ] arr
= new int [ strarr
. length
] ; for ( int i
= 0 ; i
< arr
. length
; i
++ ) { arr
[ i
] = Integer
. parseInt ( strarr
[ i
] ) ; } Arrays
. sort ( arr
) ; StringBuilder sb
= new StringBuilder ( ) ; for ( int i
= 0 ; i
< arr
. length
; i
++ ) { if ( i
== arr
. length
- 1 ) { sb
. append ( arr
[ i
] ) ; } else { sb
. append ( arr
[ i
] ) . append ( " " ) ; } } String result
= sb
. toString ( ) ; System
. out
. println ( result
) ; }
}
1.5自動拆箱和自動裝箱
自動裝箱 把基本數據類型轉換為對應的包裝類類型 自動拆箱 把包裝類類型轉換為對應的基本數據類型 示例代碼
Integer i
= 100 ; i
= i
+ 200 ;
2.時間日期類
2.1Date類
import java
. util
. Date
; public class test { public static void main ( String
[ ] args
) { Date d
= new Date ( ) ; System
. out
. println ( d
) ; long date
= 1000 * 60 * 60 ; Date d2
= new Date ( date
) ; System
. out
. println ( d2
) ; }
}
2.2Date類常用方法
常用方法
方法名 說明public long getTime() 獲取的是日期對象從1970年1月1日 00:00:00到現在的毫秒值public void setTime(long time) 設置時間,給的是毫秒值
import java
. util
. Date
; public class test2 { public static void main ( String
[ ] args
) { Date d
= new Date ( ) ; System
. out
. println ( d
. getTime ( ) ) ; System
. out
. println ( d
. getTime ( ) * 1.0 / 1000 / 365 / 24 / 60 / 60 ) ; long time
= System
. currentTimeMillis ( ) ; d
. setTime ( time
) ; System
. out
. println ( d
) ; }
}
2.3SimpleDateFormat類
SimpleDateFormat類概述 SimpleDateFormat是一個具體的類,用于以區域設置敏感的方式格式化和解析日期。 我們重點學習日期格式化和解析 SimpleDateFormat類構造方法
方法名說明 public SimpleDateFormat() 構造一個SimpleDateFormat,使用默認模式和日期格式 public SimpleDateFormat(String pattern) 構造一個SimpleDateFormat使用給定的模式和默認的日期格式
SimpleDateFormat類的常用方法
格式化(從Date到String) public final String format(Date date):將日期格式化成日期/時間字符串 解析(從String到Date) public Date parse(String source):從給定字符串的開始解析文本以生成日期 示例代碼
import java
. text
. ParseException
;
import java
. text
. SimpleDateFormat
;
import java
. util
. Date
; public class test3 { public static void main ( String
[ ] args
) throws ParseException
{ Date date
= new Date ( ) ; SimpleDateFormat sdf
= new SimpleDateFormat ( "yyyy年MM月dd日 HH:mm:ss" ) ; String s
= sdf
. format ( date
) ; System
. out
. println ( s
) ; System
. out
. println ( "------------" ) ; String ss
= "2020-08-16 16:09:10" ; SimpleDateFormat sdf2
= new SimpleDateFormat ( "yyyy-MM-dd HH:mm:ss" ) ; Date dd
= sdf2
. parse ( ss
) ; System
. out
. println ( dd
) ; }
}
2.4日期工具類案例
案例需求 定義一個日期工具類(DateUtils),包含兩個方法:把日期轉換為指定格式的字符串;把字符串解析為指定格式的日期,然后定義一個測試類(DateDemo),測試日期工具類的方法 代碼實現
import java
. text
. ParseException
;
import java
. text
. SimpleDateFormat
;
import java
. util
. Date
; public class DateUtils { private DateUtils ( ) { } public static String
dateToString ( Date date
, String format
) { SimpleDateFormat sdf
= new SimpleDateFormat ( format
) ; String s
= sdf
. format ( date
) ; return s
; } public static Date
stringToDate ( String s
, String format
) throws ParseException
{ SimpleDateFormat sdf
= new SimpleDateFormat ( format
) ; Date d
= sdf
. parse ( s
) ; return d
; }
} import java
. text
. ParseException
;
import java
. util
. Date
; public class demo { public static void main ( String
[ ] args
) throws ParseException
{ Date d
= new Date ( ) ; String s1
= DateUtils
. dateToString ( d
, "yyyy年MM月dd日 HH:mm:ss" ) ; System
. out
. println ( s1
) ; String s2
= DateUtils
. dateToString ( d
, "yyyy年MM月dd日" ) ; System
. out
. println ( s2
) ; String s3
= DateUtils
. dateToString ( d
, "HH:mm:ss" ) ; System
. out
. println ( s3
) ; System
. out
. println ( "-------" ) ; String s
= "2020-08-16 16:33:33" ; Date dd
= DateUtils
. stringToDate ( s
, "yyyy-MM-dd HH:mm:ss" ) ; System
. out
. println ( dd
) ; }
}
2.5Calendar類
Calendar類概述 Calendar 為特定瞬間與一組日歷字段之間的轉換提供了一些方法,并為操作日歷字段提供了一些方法 Calendar 提供了一個類方法 getInstance 用于獲取這種類型的一般有用的對象。 該方法返回一個Calendar 對象。 其日歷字段已使用當前日期和時間初始化:Calendar rightNow = Calendar.getInstance(); Calendar類常用方法
方法名說明 public int get(int field) 返回給定日歷字段的值 public abstract void add(int field, int amount) 根據日歷的規則,將指定的時間量添加或減去給定的日歷字段 public final void set(int year,int month,int date) 設置當前日歷的年月日
import java
. util
. Calendar
; public class Calendardemo { public static void main ( String
[ ] args
) { Calendar c
= Calendar
. getInstance ( ) ; int year
= c
. get ( Calendar
. YEAR
) ; int month
= c
. get ( Calendar
. MONTH
) + 1 ; int date
= c
. get ( Calendar
. DATE
) ; System
. out
. println ( year
+ "年" + month
+ "月" + date
+ "日" ) ; c
. add ( Calendar
. YEAR
, - 3 ) ; year
= c
. get ( Calendar
. YEAR
) ; month
= c
. get ( Calendar
. MONTH
) + 1 ; date
= c
. get ( Calendar
. DATE
) ; System
. out
. println ( year
+ "年" + month
+ "月" + date
+ "日" ) ; c
. add ( Calendar
. YEAR
, 10 ) ; c
. add ( Calendar
. DATE
, - 10 ) ; month
= c
. get ( Calendar
. MONTH
) + 1 ; date
= c
. get ( Calendar
. DATE
) ; System
. out
. println ( year
+ "年" + month
+ "月" + date
+ "日" ) ; c
. set ( 2020 , 7 , 16 ) ; month
= c
. get ( Calendar
. MONTH
) + 1 ; date
= c
. get ( Calendar
. DATE
) ; System
. out
. println ( year
+ "年" + month
+ "月" + date
+ "日" ) ; }
}
2.6二月天案例
import java
. util
. Calendar
;
import java
. util
. Scanner
; public class test { public static void main ( String
[ ] args
) { Scanner sc
= new Scanner ( System
. in
) ; System
. out
. println ( "請輸入年份" ) ; int year
= sc
. nextInt ( ) ; Calendar c
= Calendar
. getInstance ( ) ; c
. set ( year
, 2 , 1 ) ; c
. add ( Calendar
. DATE
, - 1 ) ; int date
= c
. get ( Calendar
. DATE
) ; System
. out
. println ( year
+ "年的2月份有" + date
+ "天" ) ; }
}
3.異常
3.1異常
異常的概述 異常就是程序出現了不正常的情況 異常的體系結構
3.2JVM默認處理異常的方式
如果程序出現了問題,我們沒有做任何處理,最終JVM 會做默認的處理,處理方式有如下兩個步驟: 把異常的名稱,錯誤原因及異常出現的位置等信息輸出在了控制臺 程序停止執行
3.3try-catch方式處理異常
try { 可能出現的異常代碼
; } catch ( 異常類名 變量名
) { 異常的處理代碼
; }
執行流程 程序從 try 里面的代碼開始執行 出現異常,就會跳轉到對應的 catch 里面去執行 執行完畢之后,程序還可以繼續往下執行 示例代碼
public class test { public static void main ( String
[ ] args
) { System
. out
. println ( "開始" ) ; method ( ) ; System
. out
. println ( "結束" ) ; } public static void method ( ) { try { int [ ] arr
= { 1 , 2 , 3 } ; System
. out
. println ( arr
[ 3 ] ) ; } catch ( ArrayIndexOutOfBoundsException e
) { e
. printStackTrace ( ) ; } }
}
3.4Throwable成員方法
方法名說明 public String getMessage() 返回此 throwable 的詳細消息字符串 public String toString() 返回此可拋出的簡短描述 public void printStackTrace() 把異常的錯誤信息輸出在控制臺
public class demo1 { public static void main ( String
[ ] args
) { System
. out
. println ( "開始" ) ; method ( ) ; System
. out
. println ( "結束" ) ; } public static void method ( ) { try { int [ ] arr
= { 1 , 2 , 3 } ; System
. out
. println ( arr
[ 3 ] ) ; System
. out
. println ( "這里能訪問到嗎" ) ; } catch ( ArrayIndexOutOfBoundsException e
) { System
. out
. println ( e
. getMessage ( ) ) ;
} }
}
3.5編譯時異常和運行時異常的區別
編譯時異常 都是Exception類及其子類 必須顯示處理,否則程序就會發生錯誤,無法通過編譯 運行時異常 都是RuntimeException類及其子類 無需顯示處理,也可以和編譯時異常一樣處理
3.6throws方式處理異常
public void 方法
( ) throws 異常類名
{
}
import java
. text
. ParseException
;
import java
. text
. SimpleDateFormat
;
import java
. util
. Date
; public class demo2 { public static void main ( String
[ ] args
) { System
. out
. println ( "開始" ) ; try { method2 ( ) ; } catch ( ParseException e
) { e
. printStackTrace ( ) ; } System
. out
. println ( "結束" ) ; } public static void method2 ( ) throws ParseException
{ String s
= "2048-08-16" ; SimpleDateFormat sdf
= new SimpleDateFormat ( "yyyy-MM-dd" ) ; Date d
= sdf
. parse ( s
) ; System
. out
. println ( d
) ; } public static void method ( ) throws ArrayIndexOutOfBoundsException
{ int [ ] arr
= { 1 , 2 , 3 } ; System
. out
. println ( arr
[ 3 ] ) ; }
}
注意事項 這個throws格式是跟在方法的括號后面的 編譯時異常必須要進行處理,兩種處理方案:try…catch …或者 throws,如果采用 throws 這種方案,將來誰調用誰處理 運行時異常可以不處理,出現問題后,需要我們回來修改代碼
3.7throws和throw的區別
3.8自定義異常
public class scoreException extends Exception { public scoreException ( ) { } public scoreException ( String message
) { super ( message
) ; }
}
public class teacher { public void checkscore ( int score
) throws scoreException
{ if ( score
< 0 || score
> 100 ) { throw new scoreException ( ) ; } else { System
. out
. println ( "成績正常" ) ; } }
}
import java
. util
. Scanner
; public class test { public static void main ( String
[ ] args
) { Scanner sc
= new Scanner ( System
. in
) ; System
. out
. println ( "請輸入成績:" ) ; int score
= sc
. nextInt ( ) ; teacher t
= new teacher ( ) ; try { t
. checkscore ( score
) ; } catch ( scoreException e
) { e
. printStackTrace ( ) ; } }
}
總結
以上是生活随笔 為你收集整理的Java基础day13 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。