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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java 参数代替所有类_Java中的常用类

發(fā)布時(shí)間:2024/7/23 java 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 参数代替所有类_Java中的常用类 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1? ? ? 常用類NO13

Int????Interger

short??Short

byte???Byte

double?Double

float???Float

Boolean?Boolean

Char????Character

封裝類都是引用類型,并且也具有對應(yīng)基本數(shù)據(jù)類型的數(shù)學(xué)運(yùn)算特征

裝箱:將基本數(shù)據(jù)類型的值裝進(jìn)封裝類對象中去,也可以說把基本數(shù)

據(jù)類型轉(zhuǎn)為封裝類型

封裝類名.valueOf(基本數(shù)據(jù)類型的值)

這個(gè)方法是靜態(tài)方法,參數(shù)是基本數(shù)據(jù)類型的值,返回對應(yīng)的封裝類型對象

【Integeri2 = Integer.valueOf(2);? //屬于類的靜態(tài)方法】

拆箱:

【Integerinteger = Integer.valueOf(1000);//裝箱

inti = integer.intValue();//拆箱與對象相關(guān)的實(shí)例方法】

把封裝類對象轉(zhuǎn)換為基本數(shù)據(jù)類型變量,這個(gè)過程就像把一個(gè)箱子(封裝類)拆開,拿出里面裝著的基本數(shù)據(jù)類型變量(將封裝類型轉(zhuǎn)換為基本數(shù)據(jù)類型)

xxxValue()不是靜態(tài)方法,用封裝類對象去調(diào)用,返回一個(gè)基本數(shù)據(jù)類型的值,就是封裝了值。

自動(dòng)裝箱:

【Integerinteger = 1000;? //自動(dòng)裝箱】

直接將基本數(shù)據(jù)類型的值賦給對應(yīng)的封裝類的對象

這種方式和valueOf(…)方法完全一樣

自動(dòng)拆箱:

【Integerinteger =Integer.valueOf(10000);

//直接將封裝類型對象賦給對應(yīng)的基本數(shù)據(jù)類型變量

inti = integer;】

直接將封裝的對象賦給對應(yīng)的基本數(shù)據(jù)類型的變量

這種方式和xxxValue()完全一樣

用構(gòu)造方法也能裝箱,但沒有緩存效果,一般不會這么用

靜態(tài)方法parseXXX(String? s)用來將字符串轉(zhuǎn)換為數(shù)字類型

【/*String s ="12345";

//將字符串轉(zhuǎn)換為整型

int i = Integer.parseInt(s);】

toString()重寫了,返回的是封裝的值得字符串形式

靜態(tài)方法toString(XXX?X)將基本數(shù)據(jù)類型轉(zhuǎn)換為字符串

靜態(tài)方法toHexString(XXX? X))?//十六進(jìn)制

靜態(tài)方法toBinaryString(XXX? X)//二進(jìn)制

靜態(tài)方法toOctalString(XXX? X)//八進(jìn)制

靜態(tài)方法.toString(i, 2)//靈活,任何進(jìn)制轉(zhuǎn)換

reverse()

【注意:

//裝箱或自動(dòng)裝箱會將-128到127進(jìn)行緩存,這個(gè)范圍的封裝

//類對象只會有一份

//緩存,靜態(tài)區(qū)域

Integer i3 = 100;

Integer i4 = 100;//i3和i4都在靜態(tài)區(qū)中緩存的封裝類對象

System.out.println(i3== i4);???? //返回true

Integer i5 = newInteger(100);

//i5和i6指向堆區(qū)中new出來不同的對象,不可能相同

Integer i6 = newInteger(100);

System.out.println(i5 == i6);??? //返回false

字符串(字符串是常量值)

字符串對象在創(chuàng)建后不能再更改

equals比較兩個(gè)字符串是否相同,大小寫敏感

equalsIgnoreCase字符串比較時(shí)無視大小寫

trim()去掉首尾的空格和回車換行字符,生成一個(gè)新的字符串(原來字符串對象并沒有被改變)

在實(shí)際開發(fā)中永遠(yuǎn)用equals,

可以使用String?contain(String s)參數(shù)是要和當(dāng)前字符串拼接的字符串,返回的是拼接后新的字符串(原來的兩個(gè)字符串都沒有變

也可以進(jìn)行+來拼接)

如果大量的字符串拼接,應(yīng)該使用StringBuilder、StringBuffer<>,可以避免產(chǎn)生大量的中間字符串

Stringsubstring(int?start):從參數(shù)中的下標(biāo)開始,獲取子字符串(原來的字符串不變,返回的字符串是新的字符串)

Length()可以獲取字符串的長度

char[]toCharArray()返回這個(gè)字符串的字符數(shù)組

charcharAt(int index)返回某個(gè)位置的字符

intindexOf(char c)根據(jù)字符獲取下標(biāo)

intindexOf(char c,int fromIndex)根據(jù)字符獲取下標(biāo)

int? indexOf(String? s)

int? indexOf(String? s,int fromIndex)

booleancontain(String s)判斷當(dāng)前字符串是否以參數(shù)中的字符串(包含)

booleanstartsWith(String? s)判斷當(dāng)前字符串是否以參數(shù)中的字符串開頭

booleanendsWith(String? s)判斷當(dāng)前字符串是否以參數(shù)中的字符串結(jié)尾

String[]? split(String?s)將調(diào)用這個(gè)方法的字符串以參數(shù)中的字符串為分隔符(

暫時(shí)這么理解,其實(shí)是正則表達(dá)式),拆分成一個(gè)字符串?dāng)?shù)組返回出來()

正則表達(dá)式:

【不是語言也不是框架,只是一種格式,可以用來判斷一個(gè)字符串是否滿足某種格式】

boolean matches (String? regex):判斷當(dāng)前字符串是否匹配參數(shù)中的正則表達(dá)式字符串

拿Integer來說,int intValue()將調(diào)用這個(gè)方法的封裝類對象拆箱,并拿出其中的基本數(shù)據(jù)類型變量,并返回

自動(dòng)拆箱:通過=將封裝類型對象賦給基本數(shù)據(jù)類型變量,這樣可以自動(dòng)將封裝類型拆箱成基本數(shù)據(jù)類型,相當(dāng)于隱式調(diào)用了intValue()

字符串轉(zhuǎn)數(shù)字:

Integer的靜態(tài)方法int parseInt(String str)可以將表示數(shù)字的字符串str轉(zhuǎn)為int,如果參數(shù)字符串不是有效的數(shù)字形式,那么會拋出NumberFormatException

Math:數(shù)學(xué)工具類,有很多靜態(tài)方法,其中都是靜態(tài)方法和靜態(tài)屬性

random()生成[0,1)之間的隨機(jī)數(shù)

round()四舍五入

floor(double a)返回小于等于a的最大整數(shù)值

ceil(double a)返回大于等于a的最小整數(shù)值

abs()取絕對值

pow(double a,double b)a的b次方

sqrt(double a)a的平方根

max

min

PI圓周率

E自然對數(shù)底數(shù)

Date日期類

new Date()創(chuàng)建表示當(dāng)前時(shí)間的日期對象

toString()返回默認(rèn)格式日期字符串

getTime()返回絕對時(shí)間毫秒數(shù)

SimpleDateFormat簡單日期格式類,可以用來格式化輸出日期對象,也

可以將一個(gè)格式化了的日期轉(zhuǎn)化回一個(gè)日期對象

Date d = new Date();

SimpleDateFormat f =new SimpleDateFormat("yy-MM-dd hh:mm:ss")

String s =f.format(d);格式化日期成字符串

Date date =f.parse(str);解析成日期對象

Calendar

String:字符串

boolean equals(Object o)比較當(dāng)前字符串和參數(shù)中的字符串是否相等

booleanequalsIgnoreCase(String str)忽略大小寫的字符串比較

int compareTo(String)按照字典順序比較當(dāng)前字符串和參數(shù)中的字符串

char charAat(int index)返回下標(biāo)為index位置的字符()從0開始

int length()字符串的長度

StringsubString(int index)返回一個(gè)從index位置開始的子字符串

Stringconcat(String str)把當(dāng)前的字符串和參數(shù)字符串連接起來,生成一個(gè)新的字符串返回

在需要大量拼接字符串時(shí),這種方式(以及+的方式)會生成大量字符串對象,浪費(fèi)內(nèi)存,這時(shí)我們可以使用StringBuilder或StringBuffer來拼接字符串

StringBuffer:內(nèi)置一個(gè)緩沖,可以不添加字符串而不用生成新的字符串對象

append(String str)? 在緩沖后添加字符串

toString()????????? 最終生成一個(gè)拼接好了的字符串

StringBuilder:和StringBuffer基本一樣,只是StringBuffer線程安全、StringBuilder線程不安全,但效率高

String[] split(String str)拆分當(dāng)前字符串,以參數(shù)作為分割符號,返回一個(gè)拆分后的字符串?dāng)?shù)組(如果要用.作為分割符,必須轉(zhuǎn)義,用\\.)

boolean contains(CharSequence s)當(dāng)前字符串是否包含參數(shù)中的字符序列

boolean startsWith當(dāng)前字符串是否以參數(shù)中字符串開始

boolean endsWith當(dāng)前字符串是否以參數(shù)中字符串結(jié)尾

Date:日期類

構(gòu)建???? new Date()?? 構(gòu)建的是當(dāng)前的日期時(shí)間

toString()? 返回一個(gè)表示這個(gè)日期時(shí)間的字符串

long getTime()?? 返回從1970年1月1日0點(diǎn)00分到這個(gè)日期時(shí)間的毫秒數(shù)

Canlendar:日歷類

get()可以具體獲得某個(gè)值(年、月、日...)

set(int field,intvalue)將某個(gè)屬性(年、月、日)改為指定值

add(int field,intvalue)將某個(gè)屬性(年、月、日)加上指定值

SimpleDateFormat日期格式化

1:用“==”判斷字符串是否相等,實(shí)質(zhì)是判斷引用是否指向同一對象

//用"XXX"方式創(chuàng)建的字符串對象位于靜態(tài)區(qū)常量池

Strings1 = "Android";//第一次出現(xiàn)會在常量池里創(chuàng)建

Strings2 = "android";//第二次出現(xiàn)會直接使用常量池中

//s1和s2是否指向同一個(gè)對象,這里指向同一個(gè)

System.out.println(s1== s2);

//用new的方式創(chuàng)建的字符串對象位于堆區(qū),new一次創(chuàng)建一次

Strings3 = new String("android");//第一次創(chuàng)建

Strings4 = new String("android");//第二次還要?jiǎng)?chuàng)建一個(gè)

System.out.println(s3== s4);?? //false

2:比較封裝類對象可以使用equals

Integer i1 =1000;

Integer i2 = 1000;

System.out.println(i1.equals(i2));//返回true

3:整型封裝類與進(jìn)制間的轉(zhuǎn)換

int i = 11;

Integer.toBinaryString(i)?? //二進(jìn)制

Integer.toHexString(i)???? //十六進(jìn)制

Integer.toOctalString(i)??? //八進(jìn)制

Integer.toString(i,2)????? //靈活,任何進(jìn)制轉(zhuǎn)換

4:切割字符串與數(shù)組的聯(lián)合運(yùn)用

/*二.將給定字符串str="1,2,3!4,5,6,0!7,8,9"存入二維數(shù)組中。

String str ="1,2,3!4,5,6,0!7,8,9";

String[]outer = str.split("!");

int[][]array = new int[outer.length][];

for(inti=0;i

String[]inner = outer[i].split(",");

array[i]=newint[inner.length];

for(intj=0;j

array[i][j]=Integer.parseInt(inner[j]);

}

String str ="1,2,3!4,5,6,0!7,8,9";

String[]outer = str.split("!");

String[][]array = new String[outer.length][];

for(inti=0;i

String[]inner = outer[i].split(",");

array[i]= inner;

}

5:字符串綜合實(shí)例操作

/*三.

1、讓用戶不停輸入字符串并拼接起來,用逗號分隔,如果輸入exit則停止輸

入,最后拼成一個(gè)長字符串,使用StringBuilder

2、將這個(gè)拼成的長字符串中所有的數(shù)字替換成*,并打印出來

3、打印這個(gè)字符串的最后3個(gè)字符*/

public staticvoid main(String[] args) {

Scanners = new Scanner(System.in);

StringBuilderb = new StringBuilder();

while(true) {

Stringline = s.nextLine();

if(line.equals("exit"))

break;

b.append(line);

b.append(",");

}

Stringr = b.toString();

System.out.println(r);

System.out.println(r.replaceAll("[0-9]","*"));

System.out.println(r.substring(b.length()- 3));

}

6:日歷時(shí)間計(jì)算小練習(xí)

【/*四.讓用戶輸入三個(gè)數(shù)字表示年、月、日,輸出這年月日代表的日期是星期幾*/

public staticvoid main(String[] args) {

Scanners = new Scanner(System.in);

intyear = s.nextInt();

intmonth = s.nextInt();

intday = s.nextInt();

Calendarc = Calendar.getInstance();

c.set(Calendar.YEAR,year);

c.set(Calendar.MONTH,month - 1);

c.set(Calendar.DAY_OF_MONTH,day - 1);

System.out.println(c.get(Calendar.DAY_OF_WEEK));

}

總結(jié)

以上是生活随笔為你收集整理的java 参数代替所有类_Java中的常用类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。