#千峰#days13StringBuffer谤绳、集合占锯、迭代器

一、StringBuffer(重要)
1缩筛、定義:
消略。線程安全的可變字符序列,一個(gè)類似于Sring的字符緩沖區(qū)瞎抛,我們
可以將StringBuffer看做是一個(gè)高級(jí)的String
艺演。StringBuffer和String的區(qū)別
。String是一個(gè)不可變的字符序列
桐臊。StringBuffer是一個(gè)可變的字符序列
2胎撤、構(gòu)造方法:
。public StringBuffer();無參構(gòu)造方法 默認(rèn)容量是16
断凶。public StringBuffer(int capacity);指定容量的字符串緩沖區(qū)對(duì)象
伤提。public StringBuffer(String str);指定字符串內(nèi)容的字符串緩沖區(qū)
對(duì)象
。擴(kuò)容公式: 原容量<<1+2
3认烁、常用方法
①容量和長(zhǎng)度
肿男。public int capacity();返回當(dāng)前容量,
capacity:英 /k??p?s?ti/:n. 能力砚著;容量次伶;
痴昧。public int length(); 返回長(zhǎng)度(字符數(shù)) 實(shí)際值
演示

publci sttic void main(String[] args){
    StringBuffer  buffer = new StringBuffer();
    //獲取容量
    int capacity = buffer.capacity();
    //獲取內(nèi)容的長(zhǎng)度
    int length = buffer.length();
    
    System.out.println(capacity);
     System.out.println(length );
}

②添加:
稽穆。public StringBuffer append(String str)
「献可以把任意類型數(shù)據(jù)添加到字符串緩沖區(qū)里面舌镶,
并返回字符串緩沖區(qū)本身
。public StringBuffer insert(int offset ,String str)
豪娜。在指定位置把任意類型的數(shù)據(jù)插入到做符串緩沖
區(qū)里面餐胀,并返回字符串緩沖區(qū)本身
演示:

public sttic void main(String[] args){
    StringBuffer buffer = new StringBuffer("abcd");
    
    buffer.append("abbc");
    System.out.println(buffer.toString());//結(jié)果:abcdabbc
    
    buffer.insert(2,"woaini ");//插入到指定位置
    System.out.println(buffer.toString());
    
}

③刪除:
。public StringBuffer deleteCharAt(int index);
瘤载。刪除指定位置的字符否灾,并返回本身
。public StringBuffer delete(int start, int end)
鸣奔。刪除從指定位置開始到指定位置結(jié)束內(nèi)容墨技,
并反回本身
演示:

public static void main(String[] args){
    StringBuffer buffer = new StringBuffer("abcd");
    
    buffer.deleteCharAt(1);//刪除角標(biāo)位1的值
    System.out.println(buffer.toString());//結(jié)果:acd
    
    buffer.delete(1,2);
      System.out.println(buffer.toString());//結(jié)果:ad
}

④替換和反轉(zhuǎn):
惩阶。public StringBuffer replace(int satrt, int end,String str)
扣汪。從start開始到end用str替換
。public StringBuffer reverse()
崭别。字符串反轉(zhuǎn)
演示:

public static void main(String[] args){
    StringBuffer buffer = new StringBuffer("abcd");
    //替換一部分內(nèi)容
    buffer.replace(1,3,"愛你");
    System.out.println(buffer.toString());//結(jié)果:a愛你d
    
    //反轉(zhuǎn)
    buffer.reverse();
    System.out.println(buffer.toString());//結(jié)果:d你愛a
    
}

⑤截取:
茅主。public String substring( int satrt)
舞痰。從指定位置截取到末尾
诀姚。public String substring(int start , int end)
。截取從指定位置到結(jié)束位置学搜,包括開始位置娃善,不
包括結(jié)束位置
。注意:返回值不再是StringBuffer本身瑞佩,而是一
個(gè)String
演示:

public static void main(String[] args){
    StringBuffer buffer = new StringBuffer("abcdefg");
    
    //截取一部分聚磺,從某個(gè)角標(biāo)開始炬丸,到結(jié)尾
    String str1 = buffer.substring(2);
    System.out.println(str1);//結(jié)果:cdefg
    
    //截取一段,從某個(gè)角標(biāo)到某個(gè)角標(biāo)(不包尾)
    String str2 = buffer.substring(2,5);
        System.out.println(str2);//結(jié)果:cde
}

⑥StringBuffer 和String的相互轉(zhuǎn)換
焕阿。String-->StringBuffer
首启。通過構(gòu)造方法
。通過StringBuffer的append方法
毅桃。StringBuffer-->String
。通過toString()方法
莺掠。通過substring(0,length)
4读宙、演示:
1、數(shù)組轉(zhuǎn)成字符串
需求: 使用StringBuffer將數(shù)組中的數(shù)據(jù)按照指定格式拼接成一個(gè)字符串
輸入結(jié)果: [ 1, 2, 3]

public static void main(String[] args) {
        
  int[] arr = {6,5,8,7};
        
  StringBuffer buffer = new StringBuffer();
  buffer.append("[");
  for (int i = 0; i < arr.length; i++) {
    if (i==arr.length-1) {
      buffer.append(arr[i]).append("]");
    }else{
      buffer.append(arr[i]).append(",");
    }
  }
        
  System.out.println(buffer.toString());//結(jié)果: [6,5,8,7]
}

2唇兑、字符串反轉(zhuǎn)
需求: 從鍵盤錄入一個(gè)字符串,對(duì)字符串進(jìn)行反轉(zhuǎn)

public static void main(String[] args) {
        
  Scanner scanner =new Scanner(System.in);
  String str = scanner.nextLine();
        
  StringBuffer buffer = new StringBuffer(str);
  buffer.reverse();
        
  System.out.println(buffer.toString());
        
  scanner.close();
}

二、StringBuilder(重要)
1耻讽、定義:
帕棉。StringBuilder功能等同于Stringbuffer,線程不安全香伴,效率高,
單線程下建議使用StringBuilder
2即纲、StringBuffer和StringBuilder的區(qū)別
。StringBuffer是jdk1.0版本開始的低斋,是線程安全的,效率低
掘猿。StringBuilder是jdk1.5版本開始的唇跨,實(shí)線程不安全的,效率高
三改橘、基本數(shù)據(jù)類型的包裝類(重要)
1玉控、基本數(shù)據(jù)類型自身沒有方法,這樣就限制了我們的使用奸远,將基本數(shù)
據(jù)類型封裝成對(duì)象的號(hào)好處在于可以再對(duì)象中定義更多的功能方法操作
該數(shù)據(jù)
2、對(duì)應(yīng)關(guān)系表:

基本數(shù)據(jù)類型 引用數(shù)據(jù)類型
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
3、常用方法:
薛窥。用于基本數(shù)據(jù)類型和字符串之間的轉(zhuǎn)換

public static void main(String[] args){
    String str = "100";
    int num = Integer.parseInt(str);
    System.out.println(num*5);//結(jié)果500
}

4诅迷、自動(dòng)裝箱和拆箱
罢杉。自動(dòng)裝箱:把基本數(shù)據(jù)類型轉(zhuǎn)換為包裝類型
。自動(dòng)拆箱:把包裝類型轉(zhuǎn)換成基本數(shù)據(jù)類型

public static void main(String[] args){
    Integer ii =100;//自動(dòng)裝箱
    
    int i = ii;//自動(dòng)拆箱
}

四滩租、Math
1、定義:
Math類包含用于執(zhí)行基本數(shù)學(xué)運(yùn)算的方法猎莲,如初等指數(shù)技即,對(duì)數(shù)
,平方根和三角函數(shù)
2身笤、常用方法:
葵陵。public static int abs(int a);返回一個(gè)數(shù)的絕對(duì)值
。public static double ceil(double a );返回大于等于參數(shù)的最
小整數(shù)
莹弊。public static double floor(double a);返回小于等于參數(shù)的最
大整數(shù)
涡尘。public static int max(int a , int b);獲取最大值
。public static double pow(double a,double b);計(jì)算某個(gè)數(shù)的
幾次冥
public static double random() : 獲取一個(gè)大于等于0且小于1的隨機(jī)數(shù)
public static int round(float a) : 對(duì)象小數(shù)四舍五入
public static double sqrt(double a) : 計(jì)算平方根
五呼胚、Random:隨機(jī) (要記)
1犁柜、定義:
疯兼。此類用于產(chǎn)生偽隨機(jī)數(shù)
吧彪。之所以說是偽隨機(jī)數(shù)丢早,是因?yàn)楫a(chǎn)生的數(shù)是使用一個(gè)算法算出的
秧倾。如果用相同的種子創(chuàng)建兩個(gè)Random實(shí)例傀缩,則對(duì)每個(gè)實(shí)例進(jìn)行
相同的方法調(diào)用序列,它們將生成并返回相同的數(shù)字序列
2售淡、構(gòu)造方法:
慷垮。public Random()
。public Random(long seed)
3换帜、常用的方法
。public int nextInt()
蹲嚣。public int nextInt(int n)(重點(diǎn)掌握):產(chǎn)生一個(gè)0到參數(shù)
(不包括)之內(nèi)的隨機(jī)整數(shù)

public static void main(String[] args){
    
    Random random = new Random();
    
    int num = random.nextInt(100);
    System.out.println(num);
}

六祟牲、System:系統(tǒng)说贝、體制
1、常用的方法
乡恕。public static void gc();暗示垃圾回收器運(yùn)行
。public static void exit():虛擬機(jī)退出
运杭。public static long currentTimeMillis();獲取當(dāng)前時(shí)間的毫秒

函卒。public static void arraycopy(Object src ,int srcPos ,
Object dest , int destPos , int length);復(fù)制數(shù)組
2、演示:

public static void main(String[] args){
    new Demo();//創(chuàng)建一個(gè)匿名對(duì)象虱咧,當(dāng)程序執(zhí)行完這句話之后锚国,這個(gè)對(duì)象就沒用了
    System.gc();//暗示調(diào)用垃圾回收器,能不能回收逸雹,看臉
    
    long  time = System.currentTimeMillis();//獲取當(dāng)前時(shí)間的毫秒值
    System.out.println(time);
    
    System.out.println("..............");
    System.exit(0);//退出jvm
    System.out.println(".............");//將不會(huì)執(zhí)行
}

七云挟、Date:日期(重要)
1、定義:
帖世。Date類表示特定的瞬間沸枯,精確到毫秒
2、構(gòu)造方法
绑榴。public Date()
。public Date(long date)
3窃诉、常用方法
赤套。public long getTime()
。 public void setTime()
4宣脉、演示

public static void main(String[] args){
    Date date = new Date();
    
    System.out.println(date.toString());//表示瞬間時(shí)間的字符串剔氏,
    
    System.out.println(date.getTime());//獲取瞬間書劍的毫秒值
    
    date.setTime(1509379011190L);//設(shè)置時(shí)間點(diǎn)
    
    
}

八、SimpleDateFormat:日期格式
Simple 簡(jiǎn)單羊苟、簡(jiǎn)易的币旧、單純
Format 格式、格式化巍虫、格式化磁盤鳍刷、磁盤格式化命令
1、定義:
瓦胎。時(shí)間格式化工具,它以與語言無關(guān)的方式格式化并解析日期或
時(shí)間
2搔啊、構(gòu)造方法
。public SimpleDateFormat()
漫蛔。public SmpleDateFormat(String pattern)使用一個(gè)字符串時(shí)間
格式
3旧蛾、常用方法
。public final String format(Date date)
毯盈。public Date parse(String source)
九搂赋、Calendar(非常重要):英 /?k?l?nd?(r)/n. 日歷陪拘;[天] 歷法左刽;日程表
1迄靠、定義:
掌挚。Calendar類是一個(gè)抽象類吠式,它為特定瞬間與一組諸如YEAR特占、
MONTH是目、DAY_OF_MONTH标捺、HOUR等日歷字段之間的轉(zhuǎn)換
提供了一些方法,并為操作日歷字段(例如獲得下星期的日期)
提供了一些方法
嗤疯。Calendar是一個(gè)萬年歷
2、成員方法
辟汰。public static Calendar getlnstance() 獲取萬年歷對(duì)象
阱佛。public int get(int field) 獲取時(shí)間的某個(gè)值
戴而。public void add(int field, int amount) 在當(dāng)前時(shí)間的基礎(chǔ)上
加上一段時(shí)間
。public final void set(int year , int month , int date)設(shè)置時(shí)
間點(diǎn)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末淮逊,一起剝皮案震驚了整個(gè)濱河市泄鹏,隨后出現(xiàn)的幾起案子秧耗,更是在濱河造成了極大的恐慌,老刑警劉巖分井,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尺锚,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡伏嗜,警方通過查閱死者的電腦和手機(jī)伐厌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門弧械,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人刃唐,你說我怎么就攤上這事∠挝停” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵葫慎,是天一觀的道長(zhǎng)偷办。 經(jīng)常有香客問我澄港,道長(zhǎng),這世上最難降的妖魔是什么废岂? 我笑而不...
    開封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任狱意,我火速辦了婚禮,結(jié)果婚禮上财骨,老公的妹妹穿的比我還像新娘纬纪。我一直安慰自己,他們只是感情好摘仅,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開白布问畅。 她就那樣靜靜地躺著护姆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪卵皂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天殴玛,我揣著相機(jī)與錄音滚粟,去河邊找鬼。 笑死署尤,一個(gè)胖子當(dāng)著我的面吹牛曹体,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播钢坦,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼镶殷,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼颤陶!你這毒婦竟也來了滓走?” 一聲冷哼從身側(cè)響起搅方,我...
    開封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎涛漂,沒想到半個(gè)月后底哗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體跋选,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片稽犁。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出俱笛,到底是詐尸還是另有隱情,我是刑警寧澤星虹,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站卸亮,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜决侈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧坎穿,春花似錦栖茉、人聲如沸衡载。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽官辈。三九已至拳亿,卻和暖如春肺魁,著一層夾襖步出監(jiān)牢的瞬間寂呛,已是汗流浹背贷痪。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留阀圾,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像缸剪,于是被迫代替她去往敵國(guó)和親杏节。 傳聞我的和親對(duì)象是個(gè)殘疾皇子镊逝,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

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

  • 50道經(jīng)典Java編程練習(xí)題玄渗,將數(shù)學(xué)思維運(yùn)用到編程中來浴滴。抱歉哈找不到文章的原貼了司志,有冒犯的麻煩知會(huì)聲哈~ 1.指數(shù)...
    OSET我要編程閱讀 6,950評(píng)論 0 9
  • 四、集合框架 1:String類:字符串(重點(diǎn)) (1)多個(gè)字符組成的一個(gè)序列激才,叫字符串。生活中很多數(shù)據(jù)的描述都采...
    佘大將軍閱讀 738評(píng)論 0 2
  • java中String的常用方法 1、length()字符串的長(zhǎng)度 例:char chars[]={'a','b'...
    赤赤有名閱讀 2,036評(píng)論 0 10
  • 1、一個(gè)".java"源文件中是否可以包括多個(gè)類(不是內(nèi)部類)愧膀?有什么限制?答:可以有多個(gè)類萄金,但只能有一個(gè)publ...
    岳小川閱讀 916評(píng)論 0 2
  • 起床7.00 就寢11.30 最開心的事 畫畫并p圖發(fā)了朋友圈 讀書,聽文章 要改進(jìn)的地方 控制情緒福稳,今天還是爆發(fā)...
    Y媛姑娘閱讀 206評(píng)論 0 0