溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java基礎(chǔ)語(yǔ)法類的基操有哪些

發(fā)布時(shí)間:2021-10-13 09:25:43 來(lái)源:億速云 閱讀:139 作者:iii 欄目:編程語(yǔ)言

本篇內(nèi)容主要講解“Java基礎(chǔ)語(yǔ)法類的基操有哪些”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Java基礎(chǔ)語(yǔ)法類的基操有哪些”吧!

功能類的使用
Java中有一些比較常用的類可以使用,今天就去學(xué)習(xí)一下# 關(guān)于數(shù)學(xué)的類Number類和Math類,一個(gè)是將內(nèi)置數(shù)據(jù)類型裝箱成對(duì)象,一個(gè)是進(jìn)行數(shù)學(xué)中的相關(guān)運(yùn)算

Number類
雖然Java語(yǔ)法中有著基本數(shù)據(jù)類型,但是有的時(shí)候我們?cè)谑褂弥?,往往需要將?shù)據(jù)作為對(duì)象來(lái)使用,所以Java中將數(shù)字的int、short、long、float、double、byte這幾種內(nèi)置數(shù)據(jù)類型都封裝進(jìn)類中,分別是Integer、Short、Long、Float、Double、Byte而他們都是Number類的子類,繼承自Number類。
并且由于這些類都用了final修飾詞修飾,所以是無(wú)法被繼承,重寫的。(繼承這個(gè)后面會(huì)講,大概意思就是父類有的,子類也有,父類沒(méi)有的,子類也可以有)。
而關(guān)于基本數(shù)據(jù)類型的包裝類,還有兩個(gè),一個(gè)是Character類,另一個(gè)是Booleam類。Number類在java.lang包中,包括它的子類也在java.lang中。這種由編譯器特別支持的包裝稱為裝箱,所以當(dāng)內(nèi)置數(shù)據(jù)類型被當(dāng)作對(duì)象使用的時(shí)候,編譯器會(huì)把內(nèi)置類型裝箱為包裝類。
相似的,編譯器也可以把一個(gè)對(duì)象拆箱為內(nèi)置類型。

定義聲明使用
使用方法上和內(nèi)置還是數(shù)據(jù)類型沒(méi)什么區(qū)別都是先寫類型名/類名+空格+變量名+賦值運(yùn)算符+值+半角分號(hào),以Integer為例:

public class Te0{    
    public static void main(String[] args){
        Integer a = 10;          
        b= a + 10;        
        System.out.println(b);    
    }
}
1
2
3
4
5
6
7
運(yùn)行結(jié)果

20
1
別的類也是同樣的用法

Mtah類
Java 的 Math 包含了用于執(zhí)行基本數(shù)學(xué)運(yùn)算的屬性和方法,如初等指數(shù)、對(duì)數(shù)、平方根和三角函數(shù)等運(yùn)算,由于Math類是靜態(tài)類(static),所以其中的方法可以直接調(diào)用,同樣的Math類也不需要導(dǎo)入可以直接使用。
我愛(ài)數(shù)學(xué),大愛(ài)數(shù)學(xué)


基礎(chǔ)用法
兩個(gè)重要屬性
既然是用于數(shù)學(xué)運(yùn)算的類,那么就不得不提一下兩個(gè)量,一個(gè)是π \piπ (圓周率3.1415926…),一個(gè)是e (自然常數(shù))。
在Math類中,也有這兩個(gè)量,使用final修飾,表示不可變的常量
π \piπ 在Java的Math中是Math.PI
e 在Java的Math中是Math.E。

public class Te1{    
    public static void main(String[] args){
        System.out.println(Math.PI+" "+Math.E);    
    }
}
1
2
3
4
5
輸出結(jié)果:

3.141592653589793 2.718281828459045
1
常用方法
話不多說(shuō),咱就直接上干貨!(干貨?!真的是干貨嗎?作者竟然能寫干貨,稀奇)

abs() 求絕對(duì)值
Math.abs(-10); //結(jié)果:10
ceil() 向上取整
Math.ceil(5.2); //結(jié)果:6.0 直接讓個(gè)位+1
floor() 向下取整
Math.floor(5.7); //結(jié)果:5.0 直接讓個(gè)位-1
max() 最大值
Math.max(5, 6.2); //結(jié)果:6.2 比較兩個(gè)數(shù)的大小,返回大的
pow() a的b次冪
Math.pow(2, 3); //結(jié)果:8.0 返回2**3的結(jié)果,結(jié)果為double類型
random() 隨機(jī)數(shù)
Math.random(); //結(jié)果:一個(gè)0-1的隨機(jī)數(shù),注意里面沒(méi)有參數(shù)
round() 四舍五入
Math.ronud(11.1); //結(jié)果:11
sqrt() 求平方根
Math.sqrt(2); //結(jié)果:1.4142135623730951
sin() cos() tan() asin() acos() atan() 三角函數(shù)和反三角函數(shù)
簡(jiǎn)單的將方法叭叭后,就要?jiǎng)邮志毦殻炕蛘哒f(shuō)是看一下運(yùn)行結(jié)果?對(duì),來(lái)了。

System.out.println(Math.sin(Math.PI/2));  //結(jié)果:1.0 求正弦值
System.out.println(Math.cos(Math.PI/2));  //結(jié)果:6.123233995736766E-17  求余弦值
System.out.println(Math.tan(Math.PI/2));  //結(jié)果:1.633123935319537E16  求正切值
System.out.println(Math.asin(0.5);  //結(jié)果:0.5235987755982989  求sin的反函數(shù)值
System.out.println(Math.acos(0.5));  //結(jié)果:1.0471975511965979  求cos的反函數(shù)值
System.out.println(Math.atan(0.5));  //結(jié)果:0.4636476090008061  求tan的反函數(shù)值
1
2
3
4
5
6
String相關(guān)類
總共這幾種:String 、StringBuffe、 StringBuilder三種String是無(wú)法修改的,當(dāng)對(duì)字符串進(jìn)行修改的時(shí)候,需要使用 StringBuffer 和 StringBuilder 類。
StringBuilder和StringBuffer 之間的最大不同在于 StringBuilder 的方法不是線程安全的(不能同步訪問(wèn))。
由于 StringBuilder 相較于 StringBuffer 有速度優(yōu)勢(shì),所以多數(shù)情況下建議使用 StringBuilder 類

String類
定義
直接定義法
String str = "Hello World!";
創(chuàng)建對(duì)象法
String str1 = new String("Hello World!");
兩個(gè)方法區(qū)別是什么呢?第一種如果字符串內(nèi)容相同的話,那么兩個(gè)變量就會(huì)指向同一個(gè)字符串,可以理解為一個(gè)人有多個(gè)名字(網(wǎng)名);第二種內(nèi)容相同的話,把他們用equals()方法比較的話,就會(huì)返回false,因?yàn)樗麄兪莾蓚€(gè)實(shí)例化對(duì)象,可以理解為:世界上有兩個(gè)人名字相同,但是不是一個(gè)人
使用
字符串拼接
使用+號(hào)拼接
System.out.println("Hello"+" "+"World"+"!"); //結(jié)果:Hello World!
使用concat方法
System.out.println("Hello ".concat("World!")); //結(jié)果:Hello World!
字符串格式化
就是通過(guò)某種符號(hào),將字符串格式化輸出,可以這么理解:如果我要使用的字符串有可變量,比如說(shuō)我跑步的時(shí)候,每跑一圈都要喊一句:跑了x圈。那么我們就可以使用字符串格式化。
—— 有人會(huì)說(shuō),之前用的時(shí)候,不是用的+號(hào)嗎?
—— 確實(shí),可以使用+號(hào),不過(guò)如果有多個(gè)量的話,+會(huì)不會(huì)顯得有一點(diǎn)繁瑣了呢?
所以我們學(xué)過(guò)以后就可以用格式化字符串的方法了,既顯得逼格高,又好用,豈不美哉?
System.out.printf("He%slo Wo%sld! ", "l","r"); 
//第一種方法結(jié)果是:Hello World %s表示占位符,可以表示任何類型的
//同樣的占位符還有%d ,表示數(shù)字的
System.out.println(String.format("He%slo Wo%sld! ", "l","r")); 
//第二種方法結(jié)果是:Hello World!
1
2
3
4
5
字符串比較
System.out.println("a".equals("b")); //結(jié)果是:false
1
字符串按照元素找下標(biāo)
System.out.println("appdata".indexOf("t")); //結(jié)果是:5 如果沒(méi)有找到,則返回-1
1
字符串長(zhǎng)度
System.out.println("appdata".length()); 
//結(jié)果是:7 返回字符串的長(zhǎng)度
1
2
StringBuilder類
與String不同的是,StringBuilder類的對(duì)象是可變的,意思是什么呢,就是我們可以直接在原對(duì)象上進(jìn)行操作,而不會(huì)生成一個(gè)新的對(duì)象。

定義使用
StringBuilder是一個(gè)類,所以通過(guò)new關(guān)鍵詞來(lái)實(shí)例化對(duì)象

StringBuilder s1 = new String("hello world"); //直接寫字符串,進(jìn)行初始化
StringBuilder s2 = new StringBuilder(5);  //定義一個(gè)長(zhǎng)度,不進(jìn)行初始化
System.out.println(s1+" "+s2);
s1.append("12345");
s1.append("666");
System.out.println(s1+" "+s2);
/*
輸出結(jié)果為:
1234512345666 12345 
*/
1
2
3
4
5
6
7
8
9
10
常用方法:

字符串.append(); 一個(gè)參數(shù)在原字符串后面加新的內(nèi)容,上面第一四步就是在空字符串上加12345
StringBuilder s1 = new StringBuilder("hello world");
s1.append("!");
System.out.println(s1);  
//結(jié)果:hello world!
1
2
3
4
字符串.insert(); 兩個(gè)參數(shù)
StringBuilder s1 = new StringBuilder("hello world");
s1.insert(10,"!");
System.out.println(s1);  
//結(jié)果:hello world!
1
2
3
4
第一個(gè)參數(shù)為字符串下標(biāo),第二個(gè)為內(nèi)容,將內(nèi)容添加到下標(biāo)前面
3. 字符串.delete() 兩個(gè)參數(shù);兩個(gè)參數(shù)都是下標(biāo),第一個(gè)是起始下標(biāo),第二個(gè)是終止下標(biāo),將兩個(gè)下標(biāo)之間的內(nèi)容刪除。

StringBuilder s1 = new StringBuilder("hello world!");
s1.delete(0, 4);
System.out.println(s1);
//結(jié)果是: world!
1
2
3
4
StringBuffer類
StringBuffer類和StringBuilder類一樣,對(duì)象都是可變對(duì)象。

定義
StringBuffer s1 = new StringBuffer ("123");
// 實(shí)例化對(duì)象為s1,并初始化為123
StringBuffer s1 = new StringBuffer ();
//實(shí)例化對(duì)象為s1,并不進(jìn)行初始化
1
2
3
4
使用
StringBuffer s1 = new StringBuffer ("123");
System.out.println(s1.append("1"));  //追加1,輸出:1231
System.out.println(s1.replace("1", "2"));  //將1替換成2,輸出:2232
System.out.println(s1.insert(3, "2"));  //在下標(biāo)為3的后面插入2,輸出:22322
System.out.println(s1.delete(1, 2));  /刪除從下標(biāo)為1到下標(biāo)為2的值,輸出222
1
2
3
4
5
就這么多了,不過(guò)開(kāi)頭我也說(shuō)了,這都是基操,所以,就這樣吧。

Scanner類和Random類
一個(gè)是控制輸入的類,一個(gè)是隨機(jī)數(shù)類

Scanner 類
從鍵盤獲取數(shù)據(jù),位于java.util包下,使用需要先導(dǎo)入

1. 上手
先導(dǎo)入
import Java.util.Scanner;
1
再實(shí)例化
Scanner scan = new Scanner (System.in);
//為Scanner類實(shí)例化一個(gè)名為scan的類,用于接收從鍵盤獲取的數(shù)據(jù)
1
2
使用
int a = scan.nextInt();
//聲明整型變量a,將從鍵盤獲取的數(shù)據(jù)存入a中,輸入的時(shí)候必須為整數(shù),否則報(bào)錯(cuò)
float b = scan.nextFloat();
//聲明單精度浮點(diǎn)數(shù)變量b,將從鍵盤獲取的數(shù)據(jù)存入b中,輸入的時(shí)候必須為單精度浮點(diǎn)數(shù),否則報(bào)錯(cuò)
char c = scan.nextChar();
//聲明字符型變量c,將從鍵盤獲取的數(shù)據(jù)存入c中,輸入的時(shí)候必須為字符型,否則報(bào)錯(cuò)
String d = scan.next();
//聲明字符串d,將從鍵盤獲取的數(shù)據(jù)存入d中,輸入的時(shí)候必須為字符串,否則報(bào)錯(cuò)
System.out.println(a+" "+b+" "+c+" "d);
//可以像使用普通變量一樣去通過(guò)變量名調(diào)用他們
1
2
3
4
5
6
7
8
9
10
好了,沒(méi)了,我會(huì)的就這么多了,學(xué)識(shí)短淺

Random類
隨機(jī)數(shù)類,簡(jiǎn)單實(shí)用,真的超級(jí)簡(jiǎn)單的用法

定義
Random rd = new Random ();
//第一種方法:實(shí)例化一個(gè)Random類對(duì)象
Random rd2 = new Random (10);
//第二種方法:根據(jù)種子值實(shí)例化一個(gè)對(duì)象
1
2
3
4
使用
System.out.println(rd.nextInt()); //生成一個(gè)隨機(jī)整型數(shù)
System.out.println(rd.nextDouble()); //生成一個(gè)0-1的雙精度浮點(diǎn)數(shù)
//…還有別的,用法是next+首字母大寫的基本數(shù)據(jù)類型名字,和Scanner接收數(shù)據(jù)的用法差不多
System.out.println(rd.nextInt(5)); //生成一個(gè)0-5之間的隨機(jī)整數(shù)
System.out.println(rd.nextDouble()*5); //生成一個(gè)0-5的小數(shù)
1
2
3
4
5

到此,相信大家對(duì)“Java基礎(chǔ)語(yǔ)法類的基操有哪些”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI