日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java基础day13

發布時間:2025/3/12 java 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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基本類型包裝類

  • 基本類型包裝類的作用
    將基本數據類型封裝成對象的好處在于可以在對象中定義更多的功能方法操作該數據
    常用的操作之一:用于基本數據類型與字符串之間的轉換

  • 基本類型對應的包裝類

    基本數據類型 包裝類byte Byteshort Shortint Integerlong Longfloat Floatdouble Doublechar Characterboolean Boolean

1.2Integer類

  • Integer類概述
    包裝一個對象中的原始類型 int 的值

  • Integer類構造方法

    方法名 說明public Integer(int value) 根據 int 值創建 Integer 對象(過時)public Integer(String s) 根據 String 值創建 Integer 對象(過時)public static Integer valueOf(int i) 返回表示指定的 int 值的 Integer 實例public static Integer valueOf(String s) 返回一個保存指定值的 Integer 對象 String

示例代碼

public class Integerdemo {public static void main(String[] args) {//根據 int 值創建 Integer 對象(過時)Integer i1 = new Integer(100);System.out.println(i1);//根據 String 值創建 Integer 對象(過時)//Integer i2 = new Integer("abc");Integer i2 = new Integer(100);System.out.println(i2);//返回表示指定的 int 值的 Integer 實例Integer i3 = Integer.valueOf(100);System.out.println(i3);//返回一個保存指定值的 Integer 對象 StringInteger 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->stringint number = 100;//way1String s1 = number + "";System.out.println(s1);//way2String s2 = String.valueOf(number);System.out.println(s2);} }
  • String轉換為int
    轉換方式
    方式一:先將字符串數字轉成Integer,再調用valueOf()方法
    方式二:通過Integer靜態方法parseInt()進行轉換
  • 示例代碼
public class Integerdemo {public static void main(String[] args) {//String->intString s1 = "100";//way1:String---Integer ---intInteger i = Integer.valueOf(s1);int i1 = i.intValue();System.out.println(i1);//way2:parseIntint 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(" "); // for(int i = 0;i<strarr.length;i++){ // System.out.println(strarr[i]); // }//將String[]數組內容放在int數組中int[] arr = new int[strarr.length];for(int i = 0;i<arr.length;i++){arr[i] = Integer.parseInt(strarr[i]);}//對int數組排序Arrays.sort(arr);//排序后的數組元素進行拼接,使用StringBuilderStringBuilder 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; // i = i + 200; i + 200 自動拆箱;i = i + 200; 是自動裝箱

2.時間日期類

2.1Date類

  • Date類概述
    Date 代表了一個特定的時間,精確到毫秒

  • Date類構造方法

    方法名 說明public Date() 分配一個 Date對象,并初始化,以便它代表它被分配的時間,精確到毫秒public Date(long date) 分配一個 Date對象,并將其初始化為表示從標準基準時間起指定的毫秒數
  • 示例代碼

import java.util.Date;public class test {public static void main(String[] args) {//public Date():分配一個 Date對象,并初始化,以便它代表它被分配的時間,精確到毫秒Date d = new Date();System.out.println(d);//public Date(long date):分配一個 Date對象,并將其初始化為表示從標準基準時間起 指定的毫秒數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到StringDate date = new Date();//SimpleDateFormat sdf = new SimpleDateFormat();SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");String s = sdf.format(date);System.out.println(s);System.out.println("------------");//從String到dateString 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() {}/*把日期轉為指定格式的字符串返回值類型:String參數:Date date, String format*/public static String dateToString(Date date,String format){SimpleDateFormat sdf = new SimpleDateFormat(format);String s = sdf.format(date);return s;}/*把字符串解析為指定格式的日期返回值類型:Date參數:String s, String format*/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();//public int get(int field):返回給定日歷字段的值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 + "日");//需求1:3年前的今天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 + "日");//需求2:10年后的10天前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 + "日");//public final void set(int year,int month,int 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);//3月1日往前推一天,就是2月的最后一天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()); // System.out.println(e.toString()); // e.printStackTrace();}} }

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("開始");//method();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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。