国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

福田附近公司做網(wǎng)站建設(shè)哪家效益快seo教程下載

福田附近公司做網(wǎng)站建設(shè)哪家效益快,seo教程下載,如何做電影網(wǎng)站才不侵權(quán),企業(yè)關(guān)鍵詞排名優(yōu)化網(wǎng)址今日內(nèi)容 上課同步視頻:CuteN饕餮的個(gè)人空間_嗶哩嗶哩_bilibili 同步筆記沐沐霸的博客_CSDN博客-Java2301 零、 復(fù)習(xí)昨日 一、作業(yè) 二、異常 三、自定義異常 零、 復(fù)習(xí)昨日 見晨考 一、作業(yè) package com.qf.homework;import java.text.ParseException; import java.text.Simpl…

今日內(nèi)容

上課同步視頻:CuteN饕餮的個(gè)人空間_嗶哩嗶哩_bilibili
同步筆記沐沐霸的博客_CSDN博客-Java2301
零、 復(fù)習(xí)昨日
一、作業(yè)
二、異常
三、自定義異常

零、 復(fù)習(xí)昨日

見晨考

一、作業(yè)

package com.qf.homework;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;/*** --- 天道酬勤 ---** @author QiuShiju* @desc*/
public class TestBirthday2 {// 變式擴(kuò)展,輸入身份證號(hào)確定截止今天是否成年/***  思路:*  1. 如果年份相減小于17,肯定未成年*  2. 如果年份相減大于18,肯定成年*  3. 如果年份相減等于18,還需要判斷月份和日*/public static void main(String[] args) throws ParseException {printInfo("410112200502220104");}/*** 以身份證號(hào)輸出個(gè)人信息*/public static void printInfo(String idStr) throws ParseException {// 校驗(yàn)身份證號(hào)規(guī)則(長度18位)if (idStr.length( ) != 18) {System.out.println("身份證號(hào)有誤!");return;}// 410112202210250103String birthdayStr = idStr.substring(6, 14);// 字符串變?nèi)掌?/span>SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");Date birthday = sdf.parse(birthdayStr);// 將日期轉(zhuǎn)成日歷Calendar calendar = Calendar.getInstance( );calendar.setTime(birthday);// 通過日歷信息獲得,年月日int year = calendar.get(Calendar.YEAR);int month = calendar.get(Calendar.MONTH) + 1;int day = calendar.get(Calendar.DAY_OF_MONTH);// System.out.println(year+"-"+month+"-"+day );// 獲得當(dāng)前時(shí)間Calendar now = Calendar.getInstance( );int nowYear = now.get(Calendar.YEAR);int nowMonth = now.get(Calendar.MONTH) + 1;int nowDay = now.get(Calendar.DAY_OF_MONTH);// System.out.println(nowYear+"-"+nowMonth+"-"+nowDay );boolean flag = false;// 先判斷年份差值if (Math.abs(nowYear - year) > 18) {// System.out.println("成年" );flag = true;} else if (Math.abs(nowYear - year) < 18) {//System.out.println("未成年" );} else {if (month < nowMonth) {//System.out.println("成年" );flag = true;} else if (month > nowMonth) {//System.out.println("未成年" );} else {if (day <= nowDay) {//System.out.println("成年" );flag = true;} else {//System.out.println("未成年" );}}}if (flag) {System.out.println("成年" );} else {System.out.println("未成年" );}}
}

計(jì)算是否成年, 方案二: 毫秒值計(jì)算

變式題: 輸入身份證號(hào),計(jì)算該人在世多少天

二、異常

2.1 介紹

異常,就是程序出現(xiàn)的不正常的情況.

2.2 分類

在java程序設(shè)計(jì)中,關(guān)于異常有一大類,叫做Throwable
其下又有兩個(gè)分類: Error,Exception

Error: 程序出現(xiàn)的嚴(yán)重問題,且只能拋出(throw),不能試圖捕獲(try catch)

Exception: 是程序出現(xiàn)的問題,可以捕獲可以拋出

image-20230221110049534

ps: 編譯期又叫 受檢查異常,運(yùn)行時(shí)異常又叫不受檢查異?!?/p>

總結(jié)目前見過的異常

ArithmeticException 算術(shù)異常
ArrayIndexOutOfBoundsException 數(shù)組下標(biāo)越界異常
NullPointerException  空指針異常
ClassCastException    類轉(zhuǎn)換異常
StringIndexOutOfBoundsException 字符串下標(biāo)越界
NumberFormatException 數(shù)字格式化錯(cuò)誤
ParseException      解析異常

2.3 異常的產(chǎn)生

在代碼內(nèi)部使用throw 異常對(duì)象,來產(chǎn)生異常.

    public static void main(String[] args) {test();}public static void test() {System.out.println("xxx" );int a = 1;if(a > 0) {// 拋出一個(gè)異常對(duì)象throw new ArrayIndexOutOfBoundsException(  );//throw new ParseException("Unparseable date: ",1);//throw new FileNotFoundException( );//throw new 異常類();}}

2.4 編譯期異常&運(yùn)行期異常

運(yùn)行期異常: 代碼執(zhí)行時(shí)可能會(huì)出錯(cuò) , 程序中出現(xiàn)的運(yùn)行時(shí)異常沒有強(qiáng)制處理… ,默認(rèn)采取拋出處理異常

編譯期異常: 代碼編譯時(shí)可能會(huì)出錯(cuò),程序中出現(xiàn)編譯期異常,就會(huì)強(qiáng)制要求處理

2.5 異常的處理

異常的處理的只有兩種方案:

  1. 拋出(throws)
  2. 試圖捕獲(try catch)

2.5.1 拋出

拋出: 是將異常在方法簽名上聲明拋出.

public void test() throws 異常類名,異常類名2,....{...
}

在方法參數(shù)列表后,使用throws 加 異常類名來聲明拋出異常
且允許聲明多個(gè)異常類,中間用逗號(hào)隔開

    // 聲明拋出異常public static void test4() throws ParseException {SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");Date date = sdf.parse("20220101");System.out.println("后續(xù)" );}

拋出異常,拋給誰? 誰調(diào)用這個(gè)方法,異常就拋出誰,那么這個(gè)調(diào)用者就要繼續(xù)再處理異常…

拋出異常后,有什么影響? 拋出異常后,異常處后續(xù)代碼不再執(zhí)行!!!

總結(jié)

throwthrows
位置
后面
作用

handle 處理

2.5.2 試圖捕獲

試圖捕獲 try … catch…

try{// 可能會(huì)出現(xiàn)異常的代碼
}catch(異常類名 e) {e.xxx();
}
----------
try里面包裹代碼,如果其中代碼出現(xiàn)異常,就會(huì)被catch抓住,需要拋出異常和catch后聲明的異常同一類型才可以抓住,否則抓不住! 如果try里面的代碼沒有任何報(bào)錯(cuò),catch內(nèi)的代碼不執(zhí)行!----------
catch還可以同時(shí)聲明多個(gè)異常類,特別強(qiáng)調(diào)不是同時(shí)抓多個(gè)異常對(duì)象!!因?yàn)楦揪筒豢赡墚a(chǎn)生多個(gè)異常對(duì)象,因?yàn)?span id="ieo6y2aa"    class="token keyword">try內(nèi)部一旦出現(xiàn)異常,try內(nèi)部的后面不執(zhí)行了... ----------
雖然可以同時(shí)聲明多個(gè)異常類,但是很麻煩,一般可以直接寫一個(gè)最大異常Exception    

無論try…catch代碼有沒有錯(cuò)誤,其結(jié)構(gòu)后面的代碼一定會(huì)執(zhí)行!!!

    // 捕獲異常public static void test5() {SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");try{Date date = sdf.parse("20220101");}catch (ParseException e) {System.out.println("日期解析出錯(cuò)!" );}System.out.println("后續(xù)會(huì)執(zhí)行" );}

2.5.3 finally

try{// ...
}catch(Exception e) {// ... 
} finally{// ...
}
或者
try{// ...
} finally{// ...
}
        // SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");// try{//     Date date = sdf.parse("20220101");// }catch (ParseException e) {//     System.out.println("日期解析出錯(cuò)!" );// } finally {//     System.out.println("...最終的" );// }try{System.out.println(1 /0);} finally {System.out.println("...最終的" );}

finally這么設(shè)計(jì)的作用: 為了確保某些代碼必須能執(zhí)行到! 一般就用于釋放資源!

擴(kuò)展: 配合return一起實(shí)現(xiàn)一些特殊的效果…

2.6 異常的應(yīng)用

應(yīng)用1:
設(shè)計(jì)方法時(shí),如果這個(gè)方法會(huì)經(jīng)常調(diào)用,或者被多次多層調(diào)用,盡量自行捕獲異常,不要拋出!因?yàn)橐坏伋?所有使用者都需要處理該異常!

應(yīng)用2:
方法重寫時(shí)子類拋出的異常范圍 小于等于 父類的異常范圍!
特殊的,父類方法沒有異常,子類重寫時(shí)也不能拋出異常!!!

2.7 異常的API

最大的父類Throwable類

// 構(gòu)造方法
Throwable(String message) message就是異常信息// 方法  
String getMessage() 返回此 throwable 的詳細(xì)消息字符串。 
void printStackTrace()  將此 throwable 及其追蹤輸出至標(biāo)準(zhǔn)錯(cuò)誤流。 
    public static void test7() {//throw new ArithmeticException("這是算術(shù)異常");//System.out.println(1/0 );SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");try {sdf.parse("2222/11/21");} catch (ParseException e) {// 將異常信息打印到控制臺(tái)// e.printStackTrace( );String message = e.getMessage( ); // 獲得異常信息System.out.println(message );}}

三、自定義異常

只有當(dāng)對(duì)象是Throwable類(或其子類之一)的實(shí)例時(shí),才能通過 Java 虛擬機(jī)或者 Java throw 語句拋出
換句話,自定義異常需要繼承Throwable類

一般繼承的是Throwable的子類,
繼承Error那就是有Error對(duì)應(yīng)的特點(diǎn),即不能捕獲只能拋出!!
繼承Exception,就是Exception對(duì)應(yīng)的特點(diǎn),可以拋出可以捕獲!!!
繼承RuntimeException那就是運(yùn)行時(shí)異常的特點(diǎn),可以不用主動(dòng)處理!!
繼承非RuntimeException及其子類那就是編譯其異常的特點(diǎn)!

演示: 年齡越界異常

  1. 建類
  2. 繼承
  3. 寫構(gòu)造方法
  4. 在方法內(nèi)部使用異常(產(chǎn)生異常)
  5. 測(cè)試

四、總結(jié)

關(guān)于異常,以后常見的是Exception
Error基本見不到,一旦見到就是嚴(yán)重問題必須處理
需要分清楚編譯期異常有哪些,運(yùn)行時(shí)期異常有哪些
分清楚: 捕獲異常,拋出異常有特點(diǎn)
自定義異常,在后續(xù)寫項(xiàng)目時(shí)會(huì)用到最后,關(guān)于異常最簡單的處理方案: 順其自然
http://aloenet.com.cn/news/42568.html

相關(guān)文章:

  • wordpress政府門戶網(wǎng)站西安百度代運(yùn)營
  • 女生做網(wǎng)站開發(fā)推廣途徑有哪些
  • 泉州哪里有搭建網(wǎng)站的公司寧波seo推廣服務(wù)電話
  • 做a 需要制作網(wǎng)站網(wǎng)絡(luò)營銷的整體概念
  • 網(wǎng)站建設(shè)掙錢嗎?怎么自己做網(wǎng)頁
  • 網(wǎng)站引導(dǎo)動(dòng)畫怎么做的邯鄲百度推廣公司
  • 能掙錢的平臺(tái) 正規(guī)的滿足seo需求的網(wǎng)站
  • 鄭州便民網(wǎng)seo網(wǎng)站的優(yōu)化方案
  • 設(shè)計(jì)上海地址東莞關(guān)鍵詞seo優(yōu)化
  • 有哪些網(wǎng)站是做采購招標(biāo)的seo項(xiàng)目經(jīng)理
  • 上海比較好的外包公司海東地區(qū)谷歌seo網(wǎng)絡(luò)優(yōu)化
  • 一個(gè)企業(yè)可以備案幾個(gè)網(wǎng)站品牌推廣渠道有哪些
  • 黃石網(wǎng)站建設(shè)流程網(wǎng)站制作工具
  • 和一卡通一樣做巡更的網(wǎng)站有哪些友情鏈接交換軟件
  • 網(wǎng)站開發(fā)的行業(yè)情況分析網(wǎng)址搜索
  • 局域網(wǎng)做網(wǎng)站福州seo排名優(yōu)化
  • b2c電子商務(wù)網(wǎng)站主要操作流程怎么在百度上做廣告
  • 保定建站模板百度導(dǎo)航最新版本免費(fèi)下載
  • 如何選擇鎮(zhèn)江網(wǎng)站建設(shè)優(yōu)化設(shè)計(jì)五年級(jí)下冊(cè)語文答案
  • 現(xiàn)在學(xué)軟件前景怎么樣seo刷關(guān)鍵詞排名免費(fèi)
  • wordpress 無廣告東莞seo報(bào)價(jià)
  • 新疆做網(wǎng)站的公司品牌推廣方案
  • 如何查詢自己的企業(yè)郵箱江陰網(wǎng)站優(yōu)化公司
  • 做58同城這樣的網(wǎng)站有哪些廣告營銷推廣
  • 電子書網(wǎng)站模板今日熱點(diǎn)新聞事件及評(píng)論
  • 自助建站好嗎鄭州網(wǎng)絡(luò)推廣公司
  • 手機(jī)網(wǎng)站建設(shè) 豆丁關(guān)鍵詞挖掘長尾詞工具
  • 為什么選php語言做網(wǎng)站手機(jī)百度網(wǎng)盤下載慢怎么解決
  • 三級(jí)分銷網(wǎng)站制作打開網(wǎng)址資料網(wǎng)站
  • 政府集約化網(wǎng)站群建設(shè)aso推廣公司