最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
韓順平j(luò)ava-枚舉和注解&異常&包裝類-創(chuàng)新互聯(lián)
文章目錄
  • 11章 枚舉和注解
    • 11.1枚舉
    • 11.2注解
  • 12章 異常
    • 12.1 異常類型
    • 12.2異常處理
      • 1)try - catch - finally
      • 2)throws
    • 12.3 自定義異常
  • 13章 包裝類wrapper
    • 13.1包裝類
    • 13.2 String——不可變字符序列
    • 13.2 StringBuffer——可變字符序列
    • 13.3 StringBuilder
    • 13.4 Math
    • 13.5Arrays——管理或者操作數(shù)組
    • 13.6System
    • 13.7大數(shù)處理——BigInteger,BigDecimal
    • 13.8日期類Date
    • String練習(xí)題

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),嫩江企業(yè)網(wǎng)站建設(shè),嫩江品牌網(wǎng)站建設(shè),網(wǎng)站定制,嫩江網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,嫩江網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。11章 枚舉和注解 11.1枚舉

季節(jié)類——用戶可以隨意修改——但是季節(jié)類是有限且只讀的——>枚舉類(有限的 特定的對象)
用法示例

package com.hsp.test;

public class Season {public static void main(String[] args) {System.out.println(Season2.SPRING.getDisc());

    }
    enum Season2{SPRING("春天", "溫暖"),
        WINTER("冬天", "寒冷"),
        AUTUMN("秋天", "涼爽"),
        SUMMER("夏天", "炎熱"),
        What();
        // public static final Season SPRING = new Season("春天", "溫")

        private String name;
        private String disc;

        Season2() {}
        Season2(String name, String disc) {this.name = name;
            this.disc = disc;
        }

        public String getName() {return name;
        }

        public String getDisc() {return disc;
        }

        @Override
        public String toString() {return "Season2{" +
                    "name='" + name + '\'' +
                    ", disc='" + disc + '\'' +
                    '}';
        }
    }

}


枚舉需要寫在第一行
常用方法:
1)toString:Enum 類已經(jīng)重寫過了,返回的是當(dāng)前對象
名,子類可以重寫該方法,用于返回對象的屬性信息
2) name:返回當(dāng)前對象名(常量名),子類中不能重寫
3) ordinal:返回當(dāng)前對象的位置號,默認(rèn)從 0 開始
4) values:返回當(dāng)前枚舉類中所有的常量
5) valueOf:將字符串轉(zhuǎn)換成枚舉對象,要求字符串必須為已有的常量名,否則報異常!
6) compareTo

11.2注解

@Override只能修飾方法。其實起到一個檢查的作用,看看是否真的重寫了。
@Deprecated表示過時了,但不是不能用??梢宰鳛榘姹旧壍倪^渡使用。
@SupressWarinings抑制編譯器警告。通常我們可以放置具體的語句, 方法,
四種元注解:修飾注解的注解

  1. Retention //指定注解的作用范圍,三種 SOURCE,CLASS,RUNTIME
  2. Target // 指定注解可以在哪些地方使用
  3. Documented //指定該注解是否會在 javadoc 體現(xiàn)
  4. Inherited //子類會繼承父類注解
12章 異常 12.1 異常類型

運行時異常不要求強制處理,編譯時異常一定要進行處理
在這里插入圖片描述
常見的運行時異常包括:

  1. NullPointerException 空指針異常
  2. ArithmeticException 數(shù)學(xué)運算異常
  3. ArrayIndexOutOfBoundsException 數(shù)組下標(biāo)越界異常
  4. ClassCastException 類型轉(zhuǎn)換異常
  5. NumberFormatException 數(shù)字格式不正確異常
12.2異常處理 1)try - catch - finally

程序員在代碼中捕獲異常,自行處理
細節(jié)
如果異常發(fā)生了,則在try中異常位置后面的代碼不會執(zhí)行
try finally 不管發(fā)生什么異常,都必須執(zhí)行某個業(yè)務(wù)邏輯。但是沒有捕獲異常

2)throws

將異常拋出,交給調(diào)用者處理,最頂級的是jvm
編譯異常必須處理,運行異常有默認(rèn)處理機制,不一定要顯式處理
子類重寫父類的方法,子類拋出的異常要么和父類一致,要么為父類拋出類型的子類型

12.3 自定義異常

一般都是繼承runtime exception,也就是運行時異常,這樣可以使用默認(rèn)處理機制。
throw 手動生成異常的關(guān)鍵字,在方法體中,后面跟的是異常對象
throws異常處理的一種方式,在方法聲明處,后面跟的是異常類型。
https://www.jianshu.com/p/06755f52ba90

13章 包裝類wrapper 13.1包裝類

——基本數(shù)據(jù)類型用法的擴展
手動裝箱和拆箱

int a = 10;
        Integer b = Integer.valueOf(a);
        int aa = b.intValue();

        String str = b.toString();
        String str1 = b + "";
        String str2 = String.valueOf(b);

        Integer b2 = Integer.parseInt(str);
        Integer b3 = new Integer(str);

三元運算符是一個整體,會提升精度
-128-127對象緩存
只要有基本數(shù)據(jù)類型,== 判斷的就是值是否相等

13.2 String——不可變字符序列

復(fù)用率高,效率低。

Unicode編碼,一個漢字或者字母都是占兩個字節(jié)
串行化——可以在網(wǎng)絡(luò)上傳輸;可以相互比較大小

String是final類型,不能被其他類繼承
private final char value[] 不可以修改(地址不可以修改,單個字符的內(nèi)容可以變化)

String str1 = "java";//指向常量池
String str2 = new String("java");//指向堆中的對象,堆中的對象再指向常量池

常量相加,看的是常量池,變量相加,看的是堆
在這里插入圖片描述
常用方法:
在這里插入圖片描述
在這里插入圖片描述

13.2 StringBuffer——可變字符序列

如果需要對字符串做大量的修改

——對于String的增強
不需要每次都更改地址
append
delete(start,end)
replace(start,end,string)
indexOf insert length
StringBuffer 父類——AbstractStringBuilder

13.3 StringBuilder

不是線程安全的——單線程使用

String 類設(shè)計成不可變的原因及好處?
其實好處就是原因,String 設(shè)計成不可變,主要是從性能和安全兩方面考慮。
1、常量池的需要
這個方面很好理解,Java 中的字符串常量池的存在就是為了性能優(yōu)化。
字符串常量池(String pool)是 Java 堆內(nèi)存中一個特殊的存儲區(qū)域,當(dāng)創(chuàng)建一個 String 對象時,假如此字符串已經(jīng)存在于常量池中,則不會創(chuàng)建新的對象,而是直接引用已經(jīng)存在的對象。這樣做能夠減少 JVM 的內(nèi)存開銷,提高效率。
所以,如果字符串是可變的,那么常量池就沒有存在的意義了。
2、hashcode 緩存的需要
因為字符串不可變,所以在它創(chuàng)建的時候 hashcode 就被緩存了,不需要重新計算。這就使得字符串很適合作為 HashMap 中的 key,效率大大提高。
3、多線程安全
多線程中,可變對象的值很可能被其他線程改變,造成不可預(yù)期的結(jié)果。而不可變的 String 可以自由在多個線程之間共享,不需要同步處理。

13.4 Math

abs絕對值 pow求冪 ceil向上取整 floor向下取整
round四舍五入 sqrt開方 random [0 , 1)之間的隨機小數(shù)
System.out.println((int)(2 + Math.random() * (7 - 2 + 1)

13.5Arrays——管理或者操作數(shù)組

toString
sort——可以直接使用,也可以自己定制排序
實現(xiàn)comparator接口的匿名內(nèi)部類

binarySearch——二叉查找,要求必須排序好,返回下標(biāo)。如果不存在返回應(yīng)該在的位置取負值
copyOf數(shù)組復(fù)制 可以選擇拷貝多少個數(shù)值
fill數(shù)組填充Arrays.fill(num,99);
equals比較兩個數(shù)組的元素是否相同
asList將數(shù)據(jù)轉(zhuǎn)成List集合返回

13.6System

exit(0)
arraycopy(src,0,dest,0,length)
currentTimeMillens 距離1970-1-1毫秒數(shù)
gc

13.7大數(shù)處理——BigInteger,BigDecimal

整數(shù) bigInteger.add() subtract() multiply() divide()
小數(shù) 調(diào)用divide方法的時候指定精度BigDecimal.ROUND_CEILING保留分子的精度

13.8日期類Date

Date

Date d1 = new Date();
        System.out.println(d1);
        //Thu Dec 22 08:43:07 CST 2022
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E");
        System.out.println(sdf.format(d1));
        //2022年12月22日 08:43:07 星期四
        Date parse = sdf.parse(format);
        System.out.println(parse);

Calendar
抽象類,構(gòu)造器私有,可以通過getInstance獲取實例
需要自己進行格式化

System.out.println("月:" + (c.get(Calendar.MONTH) + 1))

JDK8
LocalDate年月日 LocalTime時分秒 LocalDateTime年月日時分秒

LocalDateTime ldt = LocalDateTime.now(); //LocalDate.now();//LocalTime.now()
System.out.println(ldt);
//2. 使用 DateTimeFormatter 對象來進行格式化
// 創(chuàng)建 DateTimeFormatter 對象
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String format = dateTimeFormatter.format(ldt);
System.out.println("格式化的日期=" + format);
System.out.println("年=" + ldt.getYear());
String練習(xí)題

字符串反轉(zhuǎn)

String str = "123456";
        char[] ch = str.toCharArray();
        new String(ch);
        
		str.indexOf('')

判斷是否是數(shù)字

if (ch[i]< '0' || ch[i] >'9')

格式化

String str = "Han Sun Ping";
String[] name = str.split(" ");
String format1 = String.format("%s, %s .%c", name[0], name[2], name[1].toUpperCase().charAt(0));
System.out.println(format1);

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


本文名稱:韓順平j(luò)ava-枚舉和注解&異常&包裝類-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://fisionsoft.com.cn/article/cepdgi.html