Java常見API文檔(下)

在這里插入圖片描述
格式化的時間形式的常用模式對應關系如下:
在這里插入圖片描述

空參構造創造simdateformate對象,默認格式

練習.按照指定格式展示

在這里插入圖片描述

package kl002;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class Date3 {public static void main(String[] args) throws ParseException {String str = "2000-11-11";SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");Date date = sdf1.parse(str);SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");String result = sdf2.format(date);System.out.println(result);}
}

運行結果:
2000年11月11日

細節:SimpleDateFormat 是 Java 中用于處理日期格式化和解析的類,位于 java.text 包下。它允許你將日期對象(如 java.util.Date 或 java.util.Calendar)按照指定的模式格式化為字符串,也可以將字符串解析為日期對象。
基本用法

  1. 格式化日期(Date → String)
  2. 解析字符串(String → Date)
  3. 注意事項
    線程不安全
    SimpleDateFormat 不是線程安全的,在多線程環境下使用時需要注意同步問題,建議每個線程單獨創建實例。
    時區和語言環境
    默認使用系統時區和語言環境,可通過 setTimeZone() 和構造函數指定:
    4.異常處理
    解析字符串時可能拋出 ParseException,必須進行異常處理。
    替代方案(Java 8+)
    Java 8 引入的 java.time 包(如 LocalDateTime、DateTimeFormatter)提供了更現代化、線程安全的日期時間 API:

練習.秒殺活動

在這里插入圖片描述

package kl002;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class SimpleDateFormateDemo1 {public static void main(String[] args) throws ParseException {//比較兩個時間//解析時間得到毫秒值String startstr = "2023年11月11日 0:0:0";String endstr = "2023年11月11日 0:10:0";String orderstr = "2023年11月11日 0:01:0";SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");//解析上面三個時間,得到Date對象Date startDate = sdf.parse(startstr);Date endDate = sdf.parse(endstr);Date orderDate = sdf.parse(orderstr);//得到三個時間的毫秒值long startTime = startDate.getTime();long endTime = endDate.getTime();long orderTime = orderDate.getTime();//判斷if (orderTime >= startTime && orderTime <= endTime) {System.out.println("參加秒殺活動成功");} else {System.out.println("參加秒殺活動失敗");}}
}

運行結果:
參加秒殺活動成功

總結

在這里插入圖片描述

Calender

Calender概述
在這里插入圖片描述
細節:Calender是一個抽象類,不能直接創建對象
Calender常用方法
在這里插入圖片描述
細節:
月份:范圍0-11,如果獲取出來的是0,那么實際上是1月

總結

在這里插入圖片描述

  1. 獲取 Calendar 實例
  2. 獲取和設置日期字段
  3. 日期計算
  4. 與 Date 類互轉
    5.格式化輸出
    通常結合 SimpleDateFormat 或 Java 8+ 的 DateTimeFormatter 使用
    注意事項
    月份從 0 開始
    Calendar.JANUARY 到 Calendar.DECEMBER 的值是 0 到 11,設置和獲取月份時需要注意。
    線程安全
    Calendar 類不是線程安全的,多線程環境下需注意同步問題。
    Java 8+ 推薦使用 java.time 包
    Java 8 引入的 java.time 包(如 LocalDateTime、ZonedDateTime)提供了更簡潔、線程安全的 API
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
    自動裝箱:把基本數據類型自動變成其對應的包裝類
    自動拆箱:把包裝類自動變成其對象的基本數據類型

JDK5以后:int和Integer可以看作是同一個東西,因為在內部可以自動轉化

包裝類.總結

在這里插入圖片描述
在這里插入圖片描述
以后要進行鍵盤錄入,統一使用nextline
特點:遇到回車才結束

練習.鍵盤錄入

在這里插入圖片描述

package kl003;import java.util.ArrayList;
import java.util.Scanner;public class Test1 {public static void main(String[] args) {//1.創建一個集合用來添加整數ArrayList<Integer> list = new ArrayList<>();//2.鍵盤錄入整數添加到集合當中Scanner sc = new Scanner(System.in);while (true) {System.out.println("請輸入一個整數:");String numStr = sc.nextLine();int num = Integer.parseInt(numStr);//3.過濾異常數據if (num < 1 || num > 100) {System.out.println("輸入的數字超出范圍,請重新輸入");continue;}list.add(num);int sum = getSum(list);if (sum > 200){System.out.println("集合中的所有的數據和已經滿足需求");break;}}for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i) + " ");}}private static int getSum(ArrayList<Integer> list) {int sum = 0;for (int i = 0; i < list.size(); i++) {int num = list.get(i);sum = sum + num;}return sum;}
}

運行結果:
請輸入一個整數:
1
請輸入一個整數:
50
請輸入一個整數:
10
請輸入一個整數:
100
請輸入一個整數:
50
集合中的所有的數據和已經滿足需求
1
50
10
100
50
細節與代碼總結:
//1.創建一個集合用來添加整數
//2.鍵盤錄入整數添加到集合當中
//3.過濾異常數據

練習.算法水題

在這里插入圖片描述

package kl003;public class Test2 {public static void main(String[] args) {//定義一個字符串String str = "123456789";   //2.校驗一個字符串//習慣:過濾異常數據if (str.matches("[1-9]\\d(0,9)")) {//錯誤的數據System.out.println("數據格式有誤");} else {//正確的數據System.out.println("數據格式正確");//3.定義一個變量,表示最終的結果int num = 0;//4.遍歷字符串,得到每一個字符for (int i = 0; i < str.length(); i++) {int c = str.charAt(i) - '0';//5.把每一位數字放到num中num = num * 10 + c;}System.out.println(num);System.out.println(num+1);}}
}

運行結果:
數據格式正確
123456789

練習.算法水題

在這里插入圖片描述

package kl003;public class Test3 {public static void main(String[] args) {System.out.println(toBinaryString(123));}public static String toBinaryString(int num) {//定義一個StringBuilder對象來拼接余數StringBuilder sb = new StringBuilder();//利用循環不斷的除以2,取余數//運用死循環while(true){if (num == 0){break;}//取余數  %int remainder = num % 2;//倒著拼接sb.insert(0,remainder);//除以2num = num / 2;}return sb.toString();}}

運行結果:
1111011

練習.算法水題

在這里插入圖片描述

package kl003;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.util.Date;public class Test4 {public static void main(String[] args) throws ParseException {//請使用代碼實現計算你活了多少天,用JDK7和JDK8兩種方式實現//JDK7String birthday = "2005年12月5日";SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");Date date = sdf.parse(birthday);long birthdayTime = date.getTime();//計算當前時間的毫秒值long todayTime = System.currentTimeMillis();//計算間隔多少天long time = todayTime - birthdayTime;//計算天數long day = time / 1000 / 60 / 60 / 24;System.out.println("你活了" + day + "天");//JDK8LocalDate ld1 = LocalDate.of(2005,12,5);LocalDate ld2 = LocalDate.now();long days = ChronoUnit.DAYS.between(ld1,ld2);System.out.println("你活了" + days + "天");}
}

運行結果:
你活了7105天
你活了7105天

練習.算法水題

在這里插入圖片描述

package kl003;import java.time.LocalDate;
import java.util.Calendar;public class Test5 {public static void main(String[] args) {//JDK7//可以把時間設置為2000年3月1日Calendar c = Calendar.getInstance();c.set(2000,2,1);//月份的范圍是0-11//把日期往前推一天c.add(Calendar.DAY_OF_MONTH,-1);//看當前的時間是28號還是29號int day = c.get(Calendar.DAY_OF_MONTH);System.out.println(day);//JDK8//月份范圍1-12LocalDate.of(2000,3,1);//把時間往前減一天LocalDate ld2 = LocalDate.of(2000, 3, 1).minusDays(1);System.out.println(ld2);//JDK8判斷是否是閏年System.out.println(ld2.isLeapYear());}
}

運行結果:
29
2000-02-29
true
謝謝觀看

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/83743.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/83743.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/83743.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

博圖1200硬件組態與啟保停程序編寫步驟詳解

一、前言 在工業自動化控制領域&#xff0c;西門子S7-1200 PLC因其性能穩定、編程靈活而廣受歡迎。本文將詳細介紹使用TIA Portal&#xff08;博圖&#xff09;軟件進行S7-1200 PLC硬件組態以及編寫基本啟保停程序的完整步驟&#xff0c;幫助初學者快速掌握這一基礎而重要的技…

AutoMouser - 單次AI調用鑄就高效自動化腳本

你是否厭倦了反復點點點的枯燥操作&#xff1f;是否希望像科幻電影那樣&#xff0c;一句指令&#xff0c;萬事搞定&#xff1f;如果告訴你&#xff0c;現在只需要一次AI調用&#xff0c;就能自動執行一整套鼠標腳本操作&#xff0c;你會不會覺得&#xff1a;自動化的時代&#…

雙周報Vol.72:字段級文檔注釋支持、視圖類型現為值類型,減少內存分配

雙周報Vol.72&#xff1a;字段級文檔注釋支持、視圖類型現為值類型&#xff0c;減少內存分配 更新目錄 ..調用鏈末尾自動丟棄值語義變更字段級文檔注釋支持視圖類型現為值類型&#xff0c;減少內存分配特效函數調用現支持樣式高亮實驗性支持虛擬包&#xff0c;接口與實現解耦 …

OceanBase 開發者大會:詳解 Data × AI 戰略,數據庫一體化架構再升級

OceanBase 2025 開發者大會與5月17日在廣州舉行。這是繼 4 月底 OceanBase CEO 楊冰宣布公司全面進入AI 時代后的首場技術盛會。會上&#xff0c;OceanBase CTO 楊傳輝系統性地闡述了公司的 DataAI 戰略&#xff0c;并發布了三大產品&#xff1a;PowerRAG、共享存儲&#xff0c…

大小端模式和消息的加密解密

大小端模式 知識點一 什么是大小端模式 // 大端模式 // 是指數據的高字節保存在內存的低地址中 // 而數據的低字節保存在內存的高地址中 // 這樣的存儲模式有點兒類似于把數據當作字符串順序處理 // 地址由小向大增加,數據從高位往低位放 …

WebRTC技術EasyRTC嵌入式音視頻通信SDK助力智能電視搭建沉浸式實時音視頻交互

一、方案概述? EasyRTC是一款基于WebRTC技術的開源實時音視頻通信解決方案&#xff0c;具備低延遲、高畫質、跨平臺等優勢。將EasyRTC功能應用于智能電視&#xff0c;能夠為用戶帶來全新的交互體驗&#xff0c;滿足智能電視在家庭娛樂、遠程教育、遠程辦公、遠程醫療等多種場…

Supermemory:讓大模型擁有“長效記憶“

目錄 引言&#xff1a;打破大語言模型的記憶瓶頸&#xff0c;迎接AI交互新范式 一、Supermemory 核心技術 1.1 透明代理機制 1.2 智能分段與檢索系統 1.3 自動Token管理 二、易用性 三、性能與成本 四、可靠性與兼容性 五、為何選擇 Supermemory&#xff1f; 六、對…

2025.5.17總結

周六上了一天的課&#xff0c;從早上9&#xff1a;30至下午6&#xff1a;30&#xff0c;在這個過程中&#xff0c;確實也收獲了不少。 1.結識了更多的大佬和不同職業的精英。 一個在某科技公司做開發的主管甘阿碰&#xff0c;當我聽到科技公司&#xff0c;還以為是公司里的一…

語音識別——通過PyAudio錄入音頻

PyAudio 是一個用于處理音頻的 Python 庫&#xff0c;它提供了錄制和播放音頻的功能。通過 PyAudio&#xff0c;可以輕松地從麥克風或其他音頻輸入設備錄制音頻&#xff0c;并將其保存為文件或進行進一步處理。 安裝 PyAudio 在使用 PyAudio 之前&#xff0c;需要先安裝它。可…

python打卡day30

模塊和庫的導入 知識點回顧&#xff1a; 導入官方庫的三種手段導入自定義庫/模塊的方式導入庫/模塊的核心邏輯&#xff1a;找到根目錄&#xff08;python解釋器的目錄和終端的目錄不一致&#xff09; 作業&#xff1a;自己新建幾個不同路徑文件嘗試下如何導入 python的學習就像…

C++ —— Lambda 表達式

&#x1f381;個人主頁&#xff1a;工藤新一 &#x1f50d;系列專欄&#xff1a;C面向對象&#xff08;類和對象篇&#xff09; &#x1f31f;心中的天空之城&#xff0c;終會照亮我前方的路 &#x1f389;歡迎大家點贊&#x1f44d;評論&#x1f4dd;收藏?文章 文章目錄 L…

十三、面向對象底層邏輯-Dubbo序列化Serialization接口

一、引言&#xff1a;分布式通信的數據橋梁 在分布式服務調用中&#xff0c;參數的跨網絡傳輸需要將對象轉化為二進制流&#xff0c;這一過程直接影響系統的性能、兼容性與安全性。Dubbo通過Serialization接口構建了可擴展的序列化體系&#xff0c;支持多種序列化協議的無縫切…

批量剪輯 + 矩陣分發 + 數字人分身源碼搭建全技術解析,支持OEM

在互聯網內容生態蓬勃發展的當下&#xff0c;企業與創作者對內容生產與傳播效率的要求日益增長。批量剪輯、矩陣分發和數字人分身技術的融合&#xff0c;成為提升內容創作與運營效能的關鍵方案。從源碼層面實現三者的搭建與整合&#xff0c;需要深入理解各功能技術原理&#xf…

Java List 接口知識點詳解

一、List 接口概述 1. 基本定義 繼承關系&#xff1a;List 是 Java 集合框架&#xff08;Collection Framework&#xff09;中的一個有序隊列接口&#xff0c;直接繼承自 Collection 接口。核心特性&#xff1a; 有序性&#xff1a;元素按插入順序存儲&#xff0c;可通過索引…

OpenCV-去噪效果和評估指標方法

實驗前言 噪音類型 opencv常見噪音類型有 高斯噪音&#xff1a;高斯噪音是一種隨機噪音&#xff0c;其數值服從正態分布。圖像受到高斯噪音的影響時&#xff0c;像素值的變化類似于白噪音&#xff0c;但是噪音的強度會隨像素值的變化而變化。 椒鹽噪音&#xff1a;椒鹽噪音是…

永磁同步電機公式總結【一】——反電動勢、磁鏈、轉矩公式;三項、兩項電壓方程;坐標表換方程

一、PMSM 電機參數介紹 1.1 轉子極數 轉子極數 (Rotor Poles) &#xff1a;三相交流電機每組線圈都會產生 N、S 磁極&#xff0c;每個電機每相含有的永磁體磁極個數就是極數。由于磁極是成對出現的&#xff0c;所以電機有 2、4、6、8……極 (偶數)。 未知參數的電機&#xff…

eMMC深度解析:嵌入式多媒體卡的硬件電路設計要點

一、eMMC 技術深度解析 1.定義與背景 eMMC&#xff08;Embedded Multi Media Card&#xff09;是一種專為嵌入式系統設計的非易失性存儲解決方案&#xff0c;它將 NAND 閃存、主控芯片和接口協議封裝在一個 BGA&#xff08;Ball Grid Array&#xff09;封裝中。其核心目標是簡…

常見提示詞攻擊方法和防御手段——提示詞越獄

提示詞越獄&#xff08;Prompt Jailbreaking&#xff09;是一種針對大型語言模型&#xff08;LLM&#xff09;的攻擊手段&#xff0c;旨在通過精心設計的輸入提示繞過模型的安全審查和倫理限制&#xff0c;使其生成原本被禁止的內容&#xff08;如暴力、非法操作、敏感信息等&a…

MySQL之基礎事務和隔離級別

目錄 引言&#xff1a; 什么是事務&#xff1f; 事務和鎖 mysql數據庫控制臺事務的幾個重要操作指令&#xff08;transaction.sql&#xff09; 1、事物操作示意圖&#xff1a; 2.事務的隔離級別 四種隔離級別&#xff1a; 總結一下隔離指令 1. 查看當前隔離級別?? …

學習記錄:DAY29

項目開發日志&#xff1a;技術實踐與成長之路 前言 回顧這幾天的狀態&#xff0c;熱情總是比我想象中更快被消耗完。比起茫然徘徊的小丑&#xff0c;我更希望自己是對著風車沖鋒的瘋子。 今天繼續深入項目的實際業務。 狀態好點的時候&#xff0c;再看自己EMO時寫的東西&…