java小結

八大基本變量

boolean--1bit

byte--8bit

short--16bit

int--32bit

long--64bit

char--16bit

float--32bit

double--64bit

條件和循環(huán)語句

1.if 語句

語法說明

if 是該語句中的關鍵字,后續(xù)緊跟一對小括號,該對小括號任何時候不能省略,小括號的內(nèi)部是具體的條件,語法上要求該表達式結果為boolean 類型。后續(xù)為功能的代碼,也就是當條件成立時執(zhí)行的代碼,在程序書寫時,一般為了直觀的表達包含關系,功能代碼一般需要縮進。

注意:1.if(條件表達式)后續(xù)一般不書寫分號

if 語句的執(zhí)行流程為:如果條件表達式成立,則執(zhí)行功能代碼,如果條件表達式不成立,則不執(zhí)行后續(xù)的功能代碼。


if-else 語句

if-else 語句實現(xiàn)了封閉的條件,在程序中使用的更加常見。其中else關鍵字的作用是“否則”,即條件不成立的情況。

語法說明:其中前面的部分和if 語句一樣,else 部分后面是功能的代碼

執(zhí)行順序:如果條件成立,則執(zhí)行if 語句中的功能代碼,否則執(zhí)行else 中的功能代碼。當程序中有多個if 時,else 語句和最近的if 匹配。


switch 語句

switch 關鍵字的中文意思是開關、轉換的意思,switch 語句在條件語句中特別適合做一組變量相等的判斷,在結構上比if 語句要清晰很多。

當表達式的值和對應case 語句后的值相同時,既從該位置開始向下執(zhí)行,一直執(zhí)行到switch 語句的結束,在執(zhí)行中,如果遇到break 語句,則結束switch 語句的執(zhí)行。



while 循環(huán):

在執(zhí)行時,如果布爾表達式的結果為真,則循環(huán)中的動作將被執(zhí)行。這將繼續(xù)下去,只要該表達式的結果為真。


do...while 循環(huán):

do ... while循環(huán)類似于while循環(huán),不同的是一個do ... while循環(huán)是保證至少執(zhí)行一次。


for 循環(huán):

for(初始化步驟;布爾表達,循環(huán)條件;循環(huán)變量遞增)

for循環(huán)是一個循環(huán)控制結構,可以有效地編寫需要執(zhí)行的特定次數(shù)的循環(huán)。

知道多少次的任務是要重復一個for循環(huán)是有好處的。

步驟:

初始化步驟首先被執(zhí)行,并且僅一次。這個步驟可聲明和初始化任何循環(huán)控制變量。不需要把一個聲明在這里,只要一個分號出現(xiàn)。

接下來,布爾表達式求值。如果是 true,則執(zhí)行循環(huán)體。如果是 false,則循環(huán)體不執(zhí)行和流程控制的跳轉到下一個語句過去的for循環(huán)。

之后循環(huán)體在for循環(huán)執(zhí)行時,控制流程跳轉備份到更新語句。該語句允許更新任何循環(huán)控制變量。這個語句可以留空,只要一個分號出現(xiàn)的布爾表達式之后。

布爾表達式現(xiàn)在再次評估計算。如果是 true,循環(huán)執(zhí)行,并重復這個過程(循環(huán)體,然后更新的步驟,然后布爾表達式)。之后,布爾表達式為 false,則循環(huán)終止。

foreach:

聲明: 新聲明塊變量,這是一種與正在訪問數(shù)組中的元素兼容的。變量將是可利用的塊內(nèi)并且它的值將是相同的作為當前的數(shù)組元素。

表達:?這個計算結果完成需要循環(huán)數(shù)組。表達式可以是一個數(shù)組變量或方法調用返回一個數(shù)組。


break關鍵字:

關鍵字break是用來停止整個循環(huán)。 break關鍵字必須使用任何循環(huán)或switch語句中。

關鍵字break將停止最內(nèi)層循環(huán)的執(zhí)行,并開始執(zhí)行的下一行代碼的程序段后。


continue 關鍵字:

continue關鍵字可以在任一環(huán)的控制結構可以使用。它使循環(huán)立即跳轉到循環(huán)的下一次迭代.

在for循環(huán)中,continue關鍵字會導致流程控制的立即跳轉到更新語句。

在一個while循環(huán)或do/while循環(huán),流控制的立即跳轉到布爾表達式。


格式化輸出

1.DecimalFormat

DecimalFormat是NumberFormat的一個具體子類,用于格式化十進制數(shù)字

符號含義

0 一個數(shù)字,若不存在,用0填充

# 一個數(shù)字,不包括 0

. 小數(shù)的分隔符的占位符

, 分組分隔符的占位符?如:#,# 那么10會變?yōu)?,0

; 分隔格式。

- 缺省負數(shù)前綴。

% 乘以 100 和作為百分比顯示

? 乘以 1000 和作為千進制貨幣符顯示;用貨幣符號代替;如果雙寫,用

國際貨幣符號代替。如果出現(xiàn)在一個模式中,用貨幣十進制分隔符代

替十進制分隔符。

X 前綴或后綴中使用的任何其它字符,用來引用前綴或后綴中的特殊字符。

forExamble

DecimalFormat df1 = new DecimalFormat("0.0");

DecimalFormat df2 = new DecimalFormat("#.#");

DecimalFormat df3 = new DecimalFormat("000.000");

DecimalFormat df4 = new DecimalFormat("###.###");

System.out.println(df1.format(12.34));

System.out.println(df2.format(12.34));

System.out.println(df3.format(12.34));

System.out.println(df4.format(12.34));

結果:

12.3

12.3

012.340

12.34


2.printf

參數(shù) 輸出格式:指定數(shù)據(jù)輸出時的格式;

輸出字符串:指定要輸出的數(shù)據(jù)。

格式替代符

%b 相對應的參數(shù)被視為含有要被處理的轉義序列之字符串。

%c ASCII字符。顯示相對應參數(shù)的第一個字符

%d, %i 十進制整數(shù)

%e, %E, %f 浮點格式

%g %e或%f轉換,看哪一個較短,則刪除結尾的零

%G %E或%f轉換,看哪一個較短,則刪除結尾的零

%o 不帶正負號的八進制值 %s 字符串

%u 不帶正負號的十進制值

%x 不帶正負號的十六進制值,使用a至f表示10至15

%X 不帶正負號的十六進制值,使用A至F表示10至15


常用類型

1.Arrays

Arrays靜態(tài)方法:

asList(T...?a) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?返回一個列表

binarySearch() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 二分查找, ? ? ? ?基本類型都可以

copyOf ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?復制數(shù)組

copyOfRange() ? ? ? ? ? ? ? ? ? ? ?復制特定范圍的數(shù)組

equals() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 比較是否相等

fill() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?填充數(shù)組

parallelSort() ? ? ? ? ? ? ? ? ? ? ? ? ?指定范圍的排序,并行計算,速度較快

sort() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 排序,串行計算

toString ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 轉換為字符串

附:數(shù)組聲明的三種方式

1) int[] nus={1,2,3,5};

2) String[] names=new String[3];

3)date[] dates=new Date[] {new Date(),new Date()};


String

charAt(int index)返回字符串中第index個字符;

length()返回字符串的長度;

?indexOf(String str)返回字符串中第一次出現(xiàn)str的位置;

?indexOf(String str,int fromIndex)返回字符串從fromIndex開始第一次出現(xiàn)str的位置;

?equalsIgnoreCase(String another)比較字符串與another是否一樣(忽略大小寫);

replace(char oldchar,char newChar)在字符串中用newChar字符替換oldChar字符

startsWith(String prefix)判斷字符串是否以prefix字符串開頭;

endsWith(String suffix)判斷一個字符串是否以suffix字符串結尾;

?toUpperCase()返回一個字符串為該字符串的大寫形式;

public String toLowerCase()返回一個字符串為該字符串的小寫形式

substring(int beginIndex)返回該字符串從beginIndex開始到結尾的子字符串;

?substring(int beginIndex,int endIndex)返回該字符串從beginIndex開始到endsIndex結尾的子字符串

?trim()返回該字符串去掉開頭和結尾空格后的字符串

split(String regex)將一個字符串按照指定的分隔符分隔,返回分隔后的字符串數(shù)組


StringBuffer和StringBuilderh和String

String:字符串常量

StringBuffer:字符創(chuàng)變量,線程安全的

StringBuilder:字符創(chuàng)變量,線程非安全的

三者在執(zhí)行速度方面的比較:StringBuilder >? StringBuffer? >? String

String類型是不可改變的對象了,由于這種機制,每當用String操作字符串時,實際上是在不斷的創(chuàng)建新的對象,而原來的對象就會變?yōu)槔唬牵没厥盏簦瑥亩鴮е滦实汀?br>

而StringBuffer與StringBuilder就不一樣了,他們是字符串變量,是可改變的對象,每當我們用它們對字符串做操作時,實際上是在一個對象上操作的,這樣就不會像String一樣創(chuàng)建一些而外的對象進行操作了,當然速度就快了。

當我們在字符串緩沖去被多個線程使用是,JVM不能保證StringBuilder的操作是安全的,雖然他的速度最快,但是可以保證StringBuffer是可以正確操作的。當然大多數(shù)情況下就是我們是在單線程下進行的操作,所以大多數(shù)情況下是建議用StringBuilder而不用StringBuffer的,就是速度的原因。

對于三者使用的總結

?1.如果要操作少量的數(shù)據(jù)用 = String

2.單線程操作字符串緩沖區(qū) 下操作大量數(shù)據(jù) = StringBuilder

3.多線程操作字符串緩沖區(qū) 下操作大量數(shù)據(jù) = StringBuffer

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內(nèi)部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,758評論 18 399
  • (一)Java部分 1、列舉出JAVA中6個比較常用的包【天威誠信面試題】 【參考答案】 java.lang;ja...
    獨云閱讀 7,265評論 0 62
  • 95年冬天,應該是我人生中,感覺最為寒冷的一個冬天,所有發(fā)生的事,刻骨銘心,所有感恩的人,一生難忘。以至于二十多年...
    小狐三問閱讀 820評論 4 7
  • 如題,剛剛踏入大學一兩個月了,從開學時的興奮、忐忑,到現(xiàn)在的迷茫、無助,其實并沒有什么特殊的經(jīng)歷,可能是和想象的差...
    manman路閱讀 412評論 0 3
  • La La Land看后,最心動女主的服裝設計,簡直穿衣典范,美麗動人。 但我最愛 最后十分鐘的情感大爆發(fā)。 影片...
    心有靈西_閱讀 349評論 0 0

友情鏈接更多精彩內(nèi)容