java物件導向 四 演算法 查詢,排序

2021-08-19 07:28:54 字數 4193 閱讀 8828

stringbuffer:執行緒安全的可變字串行

stringbuffer的構造方法

:stringbuffer() :無參構造的形式,初始容量16

stringbuffer(int capacity): 指定容量構造乙個字串緩衝區

stringbuffer(string str) : 構造乙個字串緩衝區,並將其內容初始化為指定的字串內容

stringbuffer的獲取功能

:public int length() : 返回長度

public int capacity() : 返回當前容量 (如果超過容量,系統自動分配(儲存字串的時候,英文的))

stringbuffer

的新增功能

:public stringbuffer insert(int offset,string str) : 將當前str字串新增到指定位置處,它返回字串緩衝區本身

stringbuffer的反轉功能

:public stringbuffer reverse() :將緩衝區中的字串行反轉取代,返回它(字串衝)本身

stringbuffer的擷取功能

:public string substring(int start):從指定位置開始擷取,預設擷取到末尾,返回值不在是緩衝區本身,而是乙個新的字串

public string substring(int start,int end) :從指定位置開始到指定位置結束擷取,包前不包後,返回值不在是緩衝區本身,而是乙個新的字串

stringbuffer的替換功能

:public stringbuffer replace(int start,int end,string str)

從指定位置到指定位置結束,用新的str字串去替換,返回值是字串緩衝區本身

jdk5以後的特性:自動拆裝箱

integer類是int型別的包裝類型別

獲取integer

的最值:

public static final int max_value 返回最大值

public static final int min_value  返回最小值

integer提供了靜態功能

:public static string tobinarystring(int i)  將十進位制數轉換成二進位制

public static string tooctalstring(int i)  將十進位制數轉換成八進位制

public static string tohexstring(int i)  將十進位制數轉換成十六進製制

基本型別對應都有乙個保證型別,目的就為了將基本資料型別可以string型別之間進行互相轉換

byte         byte

short        short

int            integer 

long         long

float         float

double     double

char         character 

boolean   boolean

integer的構造方法

:public integer(int value)

public integer(string s)

將int轉換為string

型別:valueof(int i) ;

將string轉換為int

型別:static int parseint(string s);

//int---->string

//定義乙個int型別的變數

int num = 100 ;

//方式1: 字串拼接

string str = "" + num ;

system.out.println("str:"+str);

//方式2:valueof(int i) ;

//int -->integer--->string

integer i = integer.valueof(num) ;

string str2 = i.tostring() ;

system.out.println("str2:"+str2);

//方式3:靜態tostring(int i): static string tostring(int i )

string str3 = integer.tostring(num) ;

system.out.println("str3:"+str3);

system.out.println("----------------------");

//string--->int

string s = "100";

//方式1:string-->integer--->int

integer ii = new integer(s);

//public int intvalue()

int num2 = ii.intvalue() ;

system.out.println("num2:"+num2);

//方式2:(常用)public static int parseint(string s)

int num3 = integer.parseint(s) ;

system.out.println("num3:"+num3);

jdk5 以後提供了自動拆裝箱

可以將integer-->拆箱  int型別

可以將int型別--->裝箱  integer型別

character類:

character 類在物件中包裝乙個基本型別 char 的值。character 型別的物件包含型別為 char 的單個字段。

以確定字元的類別(小寫字母,數字,等等)

構造方法

:public character(char value)

character類的判斷功能

:public static boolean isdigit(char ch)  確定指定字元是否為數字。

public static boolean islowercase(int ch):  確定是否是小寫字母字元

public static boolean isuppercase(int ch):  確定是否大寫字母字元

兩個轉換功能

:public static int tolowercase(int codepoint)

public static int touppercase(int codepoint)

氣泡排序: 兩兩比較,大的往後放,第一次比較完畢最大值出現在最大索引處....

for (int x = 0; x < arr.length - 1; x++) {

for (int y = 0; y < arr.length - 1 - x; y++) {

if (arr[y] > arr[y + 1]) {

int temp = arr[y];

arr[y] = arr[y + 1];

arr[y + 1] = temp;

選擇排序: 用0索引對應的元素依次後面索引對應的元素進行比較, 1索引..... 小的資料往前方法,就可以得到乙個排好序的陣列...

for (int x = 0; x < arr.length - 1; x++) {

for (int y = x + 1; y < arr.length; y++) {

if (arr[x] > arr[y]) {

int temp = arr[x];

arr[x] = arr[y];

arr[y] = temp;

陣列中的元素無序:基本查詢法

陣列中的元素有序: 二分查詢法

折半查詢(二分查詢) :陣列一定是有序

分析:a:定義最小索引和最大索引

b:計算中間索引

c:中間索引對應的元素和需要查詢的元素比較

相等,直接返回中間索引

不相等:

大了,左邊找

max = mid -1 ;

小了,右邊找

min = mid + 1 ;

e:重新計算中間索引 ,回到b繼續查詢

java物件導向程式設計 四)

object類 所有類層次結構的根類,包括陣列和介面。可以接受任意引用資料型別的轉換,所以常用 object 作為方法的引數。常用方法 tostring equals 預設是比較位址,如果需要比較物件 位址 所屬型別 屬性 可以在類中重寫該方法 包裝類 基本概念 基本資料型別 包裝類 裝箱 把基本資...

筆記四 Java 物件導向 1

2.內部類 類class package note4 author calvin titile 人類 date 2019 2 20 since 1.0 public class person 物件object package note4 author calvin titile 小明 date 20...

Java基礎系列四 物件導向

物件導向思想的特點 物件導向的特點 開發的過程 其實就是不斷的建立物件,使用物件,指揮物件做事情 2 儲存空間 3 初始化值 class person result 20 同下面的道理 person string name person string name,int age person p1 n...