java基礎第三篇

6.Java 中的容器(重點)java

a.變量:變量是一個容器,它存儲的單個值 //int i=3;編程

1.局部變量:定義在方法中,沒有默認值數組

2.成員變量:定義在類中方法外,這個事物的屬性(特徵)定義爲成員變量,有默認值安全

class Hero{app

String heroName;//類中全部的方法都能使用編程語言

public void method(int m){//方法形參上的變量也是局部變量,僅能在方法中ui

  int i=3;//僅能在方法中使用編碼

}orm

public void method2(){對象

  int i=3;

}

public void method3(){

  int i=3;

}

}

b.對象:對象也是一個容器,它存儲的所屬類的各個屬性值//Phone p=new Phone();//品牌,價格

 

A:什麼是面向過程

  面向過程,其實就是面向着具體的每個步驟和過程,把每個步驟和過程完成,而後由這些功能方法相互調用,完成需求。

B:什麼是面向對象

  面向對象思想就是不斷的建立對象,使用對象,指揮對象作事情。(若是有對象,直接用對象,對咱們直接提供服務)

A:面向過程:

  強調的是過程,全部事情都須要本身完成

B:面向對象:

  是一種更符合咱們思想習慣的思想(懶人思想,我把事情本身不作,交給別人去作)

   能夠將複雜的事情簡單化(對使用者來講簡單了,對象裏面仍是很複雜的)

  將咱們從執行者變成了指揮者角色發生了轉換

c.數組:數組存儲同一種數據類型的容器// int[] arr={1,2,4,5,6};

1.每一個元素都對應一個角標:String[] jiJie={"冬季","春季","夏季","秋季"}

2.獲取數組的長度:length 屬性

3.兩種初始化方式:

靜態初始化:

int[] arr={1,2,3,4};

int[][] arr2={{1,2,3},{4,5,6}}

動態初始化:

int[] arr=new int[4];

int[][] arr2=new int[3][4];//有三個一維數組,每一個一維數組的長度都是4

    

h.當方法參數是引用類型,那麼調用方法時須要得是該引用類型的對象.

  

  當方法的返回值是引用類型,那麼調用方法,咱們要返回的是一個對象

  

  A:封裝概述

   是面向對象三大特徵之一

   是面向對象編程語言對客觀世界的模擬,客觀世界裏成員變量都是隱藏在對象內部的,外界沒法直接操做和修改。就像剛纔說的年齡。

  B:封裝原則:

   將不須要對外提供的內容都隱藏起來。

   把屬性隱藏,提供公共方法對其訪問。

   成員變量private,提供對應的getXxx()/setXxx()方法

  C:好處:

   經過方法來控制成員變量的操做,提升了代碼的安全性

   把代碼用方法進行封裝,提升了代碼的複用性

  

f.String:字符串.由多個字符組成的一串數據(字符串其本質是一個字符數組)

 

  構造方法:

  String(String orininal) : 把字符串數據封裝成字符串對象

  

  String(char[] value) : 把字符數組的數據封裝成字符串對象

  

  String(char[] value,int index,int count) :把字符數組中的一部分封裝成字符串對象.(從0索引開始取chs.length(5)個char類型的數據封裝成String 對象)

  

  注意: 經過構造方法建立字符串對象是在堆內存.

     直接賦值方法建立對象是在方法區的常量池.

  

  == : 1.基本數據類型:比較得是基本數據類型的值是否相同

   2.引用數據類型:比較得是引用數據類型的地址值是否相同

    

  Object :是類層次結構中的跟類,全部的類都直接或者間接的繼承該類.

  

  注意:若是一個方法形式參數是Object,那麼這裏咱們就能夠傳遞它的任意的子類對象.

  

  String類的判斷功能:

  boolean equals(Object obj) :比較字符串的內容是否相同.

  boolean equalsIgnore(String str):比較字符串的內容是否相同,忽略大小寫

  boolean starWith(String str) : 判斷字符串對象是否以指定的str開頭

  boolean endsWith(String str) : 判斷字符串對象是否以指定的str結尾

  boolean contains(String str) : 判斷是否包含傳入字符串,包含爲true

  

  String類的獲取功能:

  int length() : 獲取字符串的長度,其實也就是字符個數.

  char charAt(int index) : 獲取指定索引處的字符

  int indexOf(String str) : 獲取str在字符串對象中第一次出現的索引.(若是沒有找到就返回-1);

  String substring(int start) : 從start開始截取字符串

  String substring(int start,int end) : 從start開始,到end結束截取字符串,包括start,不包括end.

  

  String類的轉換功能:

  char[] toCharArray() : 字符串轉換爲字符數組

  String toLowerCase() : 把字符串轉換爲小寫字符串

  String toUpperCase() : 把字符串轉換爲大寫字符串

  

  String類的其餘功能:

  String trim() : 去除字符串兩端空格.

  String[] split(String str) : 按照指定符號分割字符串

  boolean contains(String str) : 判斷是否包含傳入字符串,包含返回true,不包含返回false;

  String replace(String old,String new) : 返回一個新的字符串,它是經過用String new替換此字符串中出現的全部String old獲得的.

  

  擴展:

  static String format(Locale l,

String format,

Object... args))

              意思是: 有兩部分組成,一個部分是一種格式由字符串形式表示出來,這個字符串裏面有佔位符和其餘字符組成,佔位符表示一個變量,(佔位符的格式是百分號%,百分號後面再接一個字母,來表示這個變量是什麼數據類型)

              第二個部分是變量解釋,解釋變量的順序,就是佔位符從前到後的順序,一個解釋對應一個佔位符.

  

  byte[] getBytes(String charsetName) : 使用指定的字符集將此String 編碼爲byte序列,並將結果存儲到一個新的byte數組中.

  

  

  

d.集合(ArrayList):集合中存儲的是尖括號(泛型)中的類型的數據// ArrayList<String> al=new ArrayList<String>();

a.定義:

ArrayList<只能寫引用數據類型,寫什麼類型表明集合中存儲什麼類型> al=new ArrayList<同前面一致>();//化學實驗室瓶子上的標籤

b.方法回顧:(Create Read Update Delete)

1.增:

add(尖括號中的元素類型 ele)

add(int index,尖括號中的元素類型 ele)

2.刪:

remove(尖括號中的元素類型 ele)//按照元素的內容刪除該元素

remove(int index)//按照指定的索引刪除

3.改:

set(int index,尖括號中的元素類型 ele)

4.查:

尖括號中的元素類型 get(int index)

int size()

     boolean contains(String str) : 此集合中是否包含指定的子字符串,若是是返回true,不然false;

 

  注意:

   直接打印集合的引用:

     若是是java寫好的數據類型的話,會直接打印元素

      若是是自定義類,將打印地址值

  

  String用+= 拼接字符串耗費內存的緣由:

   每次拼接都會產生新的字符串對象,而利用StringBuilder來橋接字符串自始至終用的都是同一個StringBuilder容器.

    

    

e.字符緩衝序列(StringBuilder):它裏面能夠添加任意類型數據,可是最終全部的數據都是以字符存儲的//StringBuilder sb=new StringBuilder()

1.應用場景: 只要拼接字符串優先考慮StringBuilder,不要再用+=

把數組拼接成[1, 2, 3]

2.構造方法:

a. StringBuilder sb=new StringBuilder();//建立一個空的容器

b. StringBuilder sb2=new StringBuidler("abc");//容器一有,裏面就裝有abc

3.成員方法:

a.StringBuilder append(任意數據類型):不斷向StringBuilder容器末尾追加

返回的是已經裝了元素的StringBuilder容器

b.StringBuilder reverse():返回的是內容已經反轉的StringBuilder容器

 

c.String toString()//將StringBuilder中的數據返回一個字符串

 

d.delete(int start,int end)//將[start,end-1]之間的字符所有刪掉

  

   length(): 返回長度

    

    int indexOf(String str) : 獲取str在字符串對象中第一次出現的索引

  

  包裝類:

  

  byte      Byte

  short     Short

  int       Integer

  long      Long

  float     Float

  double      Double

  boolean     Boolean

  char      Character

  

  調用方法用快捷鍵輸出返回類型: ctrl + 2 + L

  

  擴展

  add方法的返回值是boolean 類型,返回得是存儲狀態.

相關文章
相關標籤/搜索