1.8 String類、static關鍵字呼巴、Arrays類泽腮、 Math類

第一章 String類

1.1 String 類概述

概述

java.lang.String 類代表字符串。Java程序中所有的字符串文字(例如 "abc" )都可以被看作是實現(xiàn)此類的實例衣赶。

類? String 中包括用于檢查各個字符串的方法诊赊,比如用于比較字符串,搜索字符串屑埋,提取子字符串以及創(chuàng)建具有翻譯為大寫或小寫的所有字符的字符串的副本豪筝。

特點

????????1. 字符串不變:字符串的值在創(chuàng)建后不能被更改。

2. 因為String對象是不可變的,所以它們可以被共享续崖。

3. "abc" 等效于 char[]?data={?'a'?,?'b'?,?'c'?} 敲街。


1.2 使用步驟

查看類

????????java.lang.String :此類不需要導入。

查看構造方法

????????public?String() :初始化新創(chuàng)建的 String對象严望,以使其表示空字符序列多艇。

????????public?String(char[]?value) :通過當前參數(shù)中的字符數(shù)組來構造新的String。

????????public?String(byte[]?bytes) :通過使用平臺的默認字符集解碼當前參數(shù)中的字節(jié)數(shù)組來構造新的String像吻。

????????構造舉例峻黍,代碼如下:

? ??

1.3 常用方法

判斷功能的方法

Object 是” 對象”的意思,也是一種引用類型拨匆。作為參數(shù)類型姆涩,表示任意對象都可以傳遞到方法中。

獲取功能的方法

public?int?length?() :返回此字符串的長度惭每。

public?String?concat?(String?str) :將指定的字符串連接到該字符串的末尾骨饿。

public?char?charAt?(int?index) :返回指定索引處的 char值。

public?int?indexOf?(String?str) :返回指定子字符串第一次出現(xiàn)在該字符串內(nèi)的索引台腥。

public?String?substring?(int?beginIndex) :返回一個子字符串宏赘,從beginIndex開始截取字符串到字符串結尾。

public?String?substring?(int?beginIndex,?int?endIndex) :返回一個子字符串黎侈,從beginIndex到endIndex截取字符串察署。含beginIndex,不含endIndex峻汉。

轉(zhuǎn)換功能的方法

public?char[]?toCharArray?() :將此字符串轉(zhuǎn)換為新的字符數(shù)組贴汪。

public?byte[]?getBytes?() :使用平臺的默認字符集將該 String編碼轉(zhuǎn)換為新的字節(jié)數(shù)組。

public?String?replace?(CharSequence?target,?CharSequence?replacement) :將與target匹配的字符串使用replacement字符串替換休吠。

CharSequence 是一個接口嘶是,也是一種引用類型。作為參數(shù)類型蛛碌,可以把String對象傳遞到方法中

分割功能的方法

public?String[]?split(String?regex) :將此字符串按照給定的regex(規(guī)則)拆分為字符串數(shù)組聂喇。

方法演示,代碼如下

1.4 String 類的練習

拼接字符串

定義一個方法蔚携,把數(shù)組{1,2,3}按照指定個格式拼接成一個字符串希太。格式參照如下[word1#word2#word3]。

統(tǒng)計字符個數(shù)

鍵盤錄入一個字符酝蜒,統(tǒng)計字符串中大小寫字母及數(shù)字字符個數(shù)

第二章 static關鍵字

2.1? 概述

關于? static 關鍵字的使用誊辉,它可以用來修飾的成員變量和成員方法,被修飾的成員是屬于類的亡脑,而不是單單是屬于某個對象的堕澄。也就是說邀跃,既然屬于類,就可以不靠創(chuàng)建對象來調(diào)用了蛙紫。

2.2? 定義和使用格式

類變量

當? static 修飾成員變量時拍屑,該變量稱為類變量。該類的每個對象都共享同一個類變量的值坑傅。任何對象都可以更改該類變量的值僵驰,但也可以在不創(chuàng)建該類的對象的情況下對類變量進行操作。

類變量 :使用 static關鍵字修飾的成員變量唁毒。

定義格式:

舉例:

比如說蒜茴,基礎班新班開班,學員報到〗鳎現(xiàn)在想為每一位新來報到的同學編學號(sid)粉私,從第一名同學開始,sid為1近零,以此類推毡鉴。學號必須是唯一的,連續(xù)的秒赤,并且與班級的人數(shù)相符,這樣以便知道憎瘸,要分配給下一名新同學的學號是多少入篮。這樣我們就需要一個變量,與單獨的每一個學生對象無關幌甘,而是與整個班級同學數(shù)量有關潮售。

所以,我們可以這樣定義一個靜態(tài)變量numberOfStudent锅风,代碼如下:

靜態(tài)方法

當 static 修飾成員方法時酥诽,該方法稱為類方法 。靜態(tài)方法在聲明中有 static 皱埠,建議使用類名來調(diào)用肮帐,而不需要創(chuàng)建類的對象。調(diào)用方式非常簡單边器。

類方法 :使用 static關鍵字修飾的成員方法训枢,習慣稱為靜態(tài)方法。

定義格式:

舉例:在Student類中定義靜態(tài)方法

靜態(tài)方法調(diào)用的注意事項:

????????靜態(tài)方法可以直接訪問類變量和靜態(tài)方法忘巧。

????????靜態(tài)方法 不能直接訪問普通成員變量或成員方法恒界。反之,成員方法可以直接訪問類變量或靜態(tài)方法砚嘴。

????????靜態(tài)方法中十酣,不能使用 this關鍵字涩拙。

小貼士:靜態(tài)方法只能訪問靜態(tài)成員。

調(diào)用格式

被static修飾的成員可以并且建議通過類名直接訪問耸采。雖然也可以通過對象名訪問靜態(tài)成員兴泥,原因即多個對象均屬于一個類,共享使用同一個靜態(tài)成員洋幻,但是不建議郁轻,會出現(xiàn)警告信息。

格式:

2.3 靜態(tài)原理圖解

static 修飾的內(nèi)容:?

????????是隨著類的加載而加載的文留,且只加載一次好唯。?

????????存儲于一塊固定的內(nèi)存區(qū)域(靜態(tài)區(qū)),所以燥翅,可以直接被類名調(diào)用骑篙。?

????????它優(yōu)先于對象存在,所以森书,可以被所有對象共享靶端。


2.4 靜態(tài)代碼塊

靜態(tài)代碼塊 :定義在成員位置,使用static修飾的代碼塊{ }凛膏。

????????位置:類中方法外杨名。

????????執(zhí)行:隨著類的加載而執(zhí)行且執(zhí)行一次,優(yōu)先于 main方法和構造方法的執(zhí)行猖毫。

格式:

作用:給類變量進行初始化賦值台谍。用法演示,代碼如下:

小貼士: static 關鍵字吁断,可以修飾變量趁蕊、方法和代碼塊。在使用的過程中仔役,其主要目的還是想在不創(chuàng)建對象的情況 下掷伙,去調(diào)用方法。下面將介紹兩個工具類又兵,來體現(xiàn)static 方法的便利任柜。

第三章 Arrays類

3.1? 概述

java.util.Arrays 此類包含用來操作數(shù)組的各種方法,比如排序和搜索等沛厨。其所有方法均為靜態(tài)方法乘盼,調(diào)用起來非常簡單。

3.2? 操作數(shù)組的方法

public?static?String?toString(int[]?a) :返回指定數(shù)組內(nèi)容的字符串表示形式俄烁。

public?static?void?sort(int[]?a) :對指定的 int 型數(shù)組按數(shù)字升序進行排序绸栅。

3.3 練習

請使用 Arrays 相關的API,將一個隨機字符串中的所有字符升序排列页屠,并倒序打印粹胯。

第四章 Math類

4.1? 概述

java.lang.Math 類包含用于執(zhí)行基本數(shù)學運算的方法蓖柔,如初等指數(shù)、對數(shù)风纠、平方根和三角函數(shù)起宽。類似這樣的工具類赦颇,其所有方法均為靜態(tài)方法,并且不會創(chuàng)建對象,調(diào)用起來非常簡單淹冰。

4.2? 基本運算的方法

public?static?double?abs(double?a) :返回 double 值的絕對值羞延。

public?static?double?ceil(double?a) :返回大于等于參數(shù)的最小的整數(shù)拷淘。

public?static?double?floor(double?a) :返回小于等于參數(shù)最大的整數(shù)撇他。

public?static?long?round(double?a) :返回最接近參數(shù)的 long。(相當于四舍五入方法)

4.3 練習

請使用 Math 相關的API誊抛,計算在 - 10.8 到 5.9 之間列牺,絕對值大于 6 或者小于 2.1 的整數(shù)有多少個?

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拗窃,一起剝皮案震驚了整個濱河市瞎领,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌随夸,老刑警劉巖九默,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異宾毒,居然都是意外死亡驼修,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門伍俘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人勉躺,你說我怎么就攤上這事癌瘾。” “怎么了饵溅?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵妨退,是天一觀的道長。 經(jīng)常有香客問我蜕企,道長咬荷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任轻掩,我火速辦了婚禮幸乒,結果婚禮上,老公的妹妹穿的比我還像新娘唇牧。我一直安慰自己罕扎,他們只是感情好聚唐,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著腔召,像睡著了一般杆查。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上臀蛛,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天亲桦,我揣著相機與錄音,去河邊找鬼浊仆。 笑死客峭,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的氧卧。 我是一名探鬼主播桃笙,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼沙绝!你這毒婦竟也來了搏明?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤闪檬,失蹤者是張志新(化名)和其女友劉穎星著,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體粗悯,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡虚循,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了样傍。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片横缔。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖衫哥,靈堂內(nèi)的尸體忽然破棺而出茎刚,到底是詐尸還是另有隱情,我是刑警寧澤撤逢,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布膛锭,位于F島的核電站,受9級特大地震影響蚊荣,放射性物質(zhì)發(fā)生泄漏初狰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一互例、第九天 我趴在偏房一處隱蔽的房頂上張望奢入。 院中可真熱鬧,春花似錦媳叨、人聲如沸俊马。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柴我。三九已至解寝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間艘儒,已是汗流浹背聋伦。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留界睁,地道東北人觉增。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像翻斟,于是被迫代替她去往敵國和親逾礁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容