一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

學(xué)了一天java,我總結(jié)了這些知識點(diǎn)

 好漢勃士 2021-09-06

大家好,我是KookNut39也是Tommy,在CSDN寫文,寫Java時候我是Tommy,分享一些自己認(rèn)為在學(xué)習(xí)過程中比較重要的東西,致力于幫助初學(xué)者入門,希望可以幫助你進(jìn)步。以前一直更新C/C++方面的知識,今天是我第一次更新Java方面的知識,以后會持續(xù)更新,感興趣的歡迎關(guān)注博主,和博主一起從0學(xué)習(xí)Java知識。大家可以去專欄查看之前的文章,希望未來能和大家共同探討技術(shù)。

Java 是一個完整的平臺 , 有一個龐大的庫 , 其中包含了很多可重用的代碼和一個提供諸如安全性 、跨操作系統(tǒng)的可移植性以及自動垃圾收集等服務(wù)的執(zhí)行環(huán)境。
——Java核心技術(shù) 卷一(第十版)

在《Java核心技術(shù)》中說到:Java具有令人賞心悅目的語法和易于理解的語義,提供了可移植性,垃圾收集等,還有一個大型的庫,是一種功能齊全的出色語言。對廣大程序設(shè)計人員有著不可抗拒的吸引力。

Java語言在面世的時候就引起轟動,曾登TIOBE 排行榜榜首,在6月的TIOBE榜排名第三,雖說現(xiàn)在所占市場份額有所下滑,但不可置疑的是Java語言依舊是編程語言中的“大戶”。

1.注釋

注釋就是對程序功能的解釋說明。以特定的符號作為標(biāo)記,程序在運(yùn)行過程中不會執(zhí)行注釋。

Java中標(biāo)記注釋的符號分為三種:

(1)單行注釋

單行注釋用'//'標(biāo)記, 其注釋內(nèi)容從 // 開始到本行結(jié)尾。例如:

//注釋內(nèi)容
  • 1
  • 1

(2)多行注釋

多行注釋以 /* 開始,以 */ 結(jié)束,把一段內(nèi)容包起來

/*
注釋內(nèi)容
注釋內(nèi)容
*/
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

(3)文檔注釋

文檔注釋,用于為,方法(函數(shù)),屬性進(jìn)行說明(放在前面),調(diào)用時鼠標(biāo)放在上面可以顯示這段注釋,語法是以 /** 開始,以 */ 結(jié)束

在這里插入圖片描述

注意 : 在 Java 中 ,多行注釋不能嵌套 ?
也就是說,當(dāng)一段代碼中包含一個 /* ,在使用多行注釋包裹是就達(dá)不到注釋目的。

2.關(guān)鍵字

關(guān)鍵字是指 Java 中有特殊含義,用于特定用途的單詞

關(guān)鍵字的特點(diǎn)是關(guān)鍵字中所有字母都為小寫

例如:public,private,int等,我就不一 一列舉了

3.保留字

保留字是指現(xiàn)有Java版本尚未使用,但以后版本可能會作為關(guān)鍵字使用的單詞

例如: goto 、const

自己命名變量名或者方法名等標(biāo)識符時要避免使用這些保留字和關(guān)鍵字

4.標(biāo)識符

Java中對各種變量、方法等要素命名時使用的字符序列稱為標(biāo)識符。

Java中規(guī)定了定義標(biāo)識符的規(guī)則:

由26個英文字母大小寫,0-9_$ 組成

數(shù)字不可以開頭。

不可以使用關(guān)鍵字和保留字,但能包含關(guān)鍵字和保留字。

Java中嚴(yán)格區(qū)分大小寫,長度無限制。

標(biāo)識符不能包含空格。

注意:在起名字時,為了提高閱讀性,要盡量有意義,“見名知意”

5.Java數(shù)據(jù)類型

(1)基本數(shù)據(jù)類型

1.數(shù)值型

整數(shù)類型

byte : 一個字節(jié) 表數(shù)范圍 : -128 ~ 127

short : 二個字節(jié) 表數(shù)范圍 : -215 ~ 215-1

int : 四個字節(jié) 表數(shù)范圍 : -231 ~ 231-1

long : 八個字節(jié) 表數(shù)范圍 : -263 ~ 263-1

Java語言的整型常量默認(rèn)為int型,聲明long型常量可以后加**' l ’或' L ’** ,如:

int i = 600; //正確

long l = 8888888888L; //必須在數(shù)字后加l或L否則會出錯

浮點(diǎn)型

float : 單精度 四個字節(jié) 在儲存大型浮點(diǎn)數(shù)組的時候可節(jié)省內(nèi)存空間

double: 雙精度 八個字節(jié) double類型同樣不能表示精確的值

float和double類型不能表示精確的值

float定義時要在數(shù)后加上f或F

double d = 123.4;
float f = 234.5f ;

2.布爾型

boolean :布爾值取值的時候只允許取true或false,不能用其他的代替。

? 該類型適于邏輯運(yùn)算,一般用于程序流程控制 。

3.字符型

char : 字符型的值是一個用單引號引起來的單個字符,例如:

char a = 'a'; char b = '中';
  • 1
  • 2
  • 1
  • 2

Java采用Unicode編碼,一個字符占倆個字節(jié),16位,所以可以用十六進(jìn)制編碼來表示

char a = '\u0061';  //a的Unicode編碼為97
  • 1
  • 1

注意:Unicode 轉(zhuǎn)義序列會在解析代碼之前得到處理 。 例如, ' \u0022 + \u0022'(Unicode值\u0022標(biāo)識雙引號)并不是一個由引號包圍加號構(gòu)成的字符串 。 實際上 ,\u0022 會在解析之前轉(zhuǎn)換為 ' ,這會得到也就是一個空串(''+'') 。

在這里插入圖片描述

(2)引用數(shù)據(jù)類型

類 :最常用的就是String類型(字符串)

接口 : 如:List< E >:列表( E代表泛型

? Map<K,V>:雙鏈的集合,以鍵值對形式存儲的,K(鍵)和V(值)都是泛型

數(shù)組:數(shù)組是指存儲在一個連續(xù)的內(nèi)存塊中的相同數(shù)據(jù)類型的元素集合。因為引用的是內(nèi)存地址,所以數(shù)組屬于引用數(shù)據(jù)類型。

6.基本數(shù)據(jù)類型轉(zhuǎn)換

首先boolean型的值不能與其他類型相互轉(zhuǎn)換

默認(rèn)轉(zhuǎn)換

整形,字符型,浮點(diǎn)型的數(shù)據(jù)在混合運(yùn)算中相互轉(zhuǎn)換,轉(zhuǎn)換時遵循以下原則:

容量小的類型默認(rèn)轉(zhuǎn)換為容量大的數(shù)據(jù)類型;數(shù)據(jù)類型按容量大小排序為:

byte,short,char->int->long->float->double

byte,short,char之間不會互相轉(zhuǎn)換,他們?nèi)咴谟嬎銜r首先會轉(zhuǎn)換為int類型

強(qiáng)制轉(zhuǎn)換

容量大的數(shù)據(jù)類型轉(zhuǎn)換為容量小的數(shù)據(jù)類型時,要加上強(qiáng)制轉(zhuǎn)換符,但可能造成精度降低或溢出;使用時要格外注意。

int i = 100; double d = i; double d1 = 10.99; int i1 = (int) d1;
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

在這里插入圖片描述

注意:
有多種類型的數(shù)據(jù)混合運(yùn)算時,系統(tǒng)首先自動的將所有數(shù)據(jù)轉(zhuǎn)換成容量最大的那一種數(shù)據(jù)類型,然后再進(jìn)行計算。

7.運(yùn)算

運(yùn)算符

Java 語言支持如下運(yùn)算符:

算術(shù)運(yùn)算符

運(yùn)算符運(yùn)算范例結(jié)果
+正號+33
-負(fù)號b=4; -b-4
+5+510
-6-42
*****3*412
/除 (取整)5/51
%取模 (取余)7%52
++自增(前):先運(yùn)算后取值 ; 自增(后):先取值后運(yùn)算a=2;b=++a; a=2;b=a++;a=3;b=3 a=3;b=2
- -自減(前):先運(yùn)算后取值 ; 自減(后):先取值后運(yùn)算a=2;b=- -a a=2;b=a- -a=1;b=1 a=1;b=2
+字符串相加“He”+”llo”“Hello”

字符串連接運(yùn)算符:+ ;

關(guān)系(比較)運(yùn)算符: >,<,>=,<=,==,!= ;

邏輯運(yùn)算符

? &—邏輯與 | —邏輯或 !—邏輯非

? && —短路與 || —短路或 ^ —邏輯異或

aba&ba|b!aa^ba&&ba||b
truetruetruetruefalsefalsetruetrue
truefalsefalsetruefalsetruefalsetrue
falsetruefalsetruetruetruefalsetrue
falsefalsefalsefalsetruefalsefalsefalse

異或就是左右的值一樣時就是false,追求一個“”字。

我們可以看到用邏輯與和短路與計算的值是相同的,那它們的區(qū)別在哪呢?

邏輯與:會把符號倆邊的表達(dá)式計算一邊,然后判斷

短路與:因為與運(yùn)算符號倆邊的表達(dá)式有一個false就返回false,所以如果計算了符號左邊的表達(dá)式是false,就不會計算符號右邊的表達(dá)式,直接返回false,如果左邊的是true才會計算右邊

邏輯或和短路或同理,短路或左邊的表達(dá)式是true時就不會計算右邊,直接返回true

public static void main(String[] args){    
    int a = 1;    
    int b = 2;    
    if(++a>1||++b>4){        
        System.out.println(a);        
        System.out.println(b);    
    }    
    System.out.println('-------------');    
    a = 1;   //讓值回到初始值
    b = 2;    
    if(++a>1|++b>4){        
        System.out.println(a);        
        System.out.println(b);    
    }    
    System.out.println('-------------');    
    a = 1;   
    b = 2;    
    if(++a>3&&++b>4){    
    } else {        
        System.out.println(a);        
        System.out.println(b);    
    }    
    System.out.println('-------------');    
    a = 1;    
    b = 2;    
    if(++a>3&++b>4){    
    }else {        
        System.out.println(a);        
        System.out.println(b);    
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

輸出如下:

在這里插入圖片描述

賦值運(yùn)算符

運(yùn)算符用法舉例等效的表達(dá)式
+=a += ba = a+b
-=a -= ba = a-b
*=a *= ba = a*b
/=a /= ba = a/b
%=a %= ba = a%b

位運(yùn)算

功能
<<空位補(bǔ)0,被移除的高位丟棄,空缺位補(bǔ)0。
>>被移位的二進(jìn)制最高位是0,右移后,空缺位補(bǔ)0; 最高位是1,空缺位補(bǔ)1。
>>>被移位二進(jìn)制最高位無論是0或者是1,空缺位都用0補(bǔ)。
&二進(jìn)制位進(jìn)行&運(yùn)算,只有1&1時結(jié)果是1,否則是0;
|二進(jìn)制位進(jìn)行 | 運(yùn)算,只有0 | 0時結(jié)果是0,否則是1;
^相同二進(jìn)制位進(jìn)行 ^ 運(yùn)算,結(jié)果是0;1^1=0 , 0^0=0 不相同二進(jìn)制位 ^ 運(yùn)算結(jié)果是1。1^0=1 , 0^1=1
~正數(shù)取反,各二進(jìn)制碼按補(bǔ)碼各位取反 負(fù)數(shù)取反,各二進(jìn)制碼按補(bǔ)碼各位取反

運(yùn)算順序

單目>算數(shù)運(yùn)算符>移位>比較>按位>邏輯>三目>賦值

單目運(yùn)算符(一元運(yùn)算符,即一個變量):+,-,++,–

算數(shù)運(yùn)算符:+,-,*,/,%

移位運(yùn)算符:<<,>>

關(guān)系運(yùn)算符:>,<,>=,<=,==,!=

位運(yùn)算符:&,|,~,^,

邏輯運(yùn)算符:&&,||

三目運(yùn)算符:表達(dá)式1?表達(dá)式2:表達(dá)式3;

賦值運(yùn)算符:= 等

8.控制臺的輸入 / 輸出

輸入

使用Scanner類取得一個字符串或一組數(shù)字

在使用Scanner類對象時,需要在文件頭帶入 java.util.Scanner; 把類導(dǎo)入寫法為:

import java.util.Scanner;
  • 1
  • 1

在創(chuàng)建一個Scanner對象時需要傳入一個System.in參數(shù)給構(gòu)造函數(shù),因為實際上是System.in在取得用戶輸入。Scanner的next()方法用以 取得用戶輸入的字符串;nextInt()將取得的輸入字符串轉(zhuǎn)換為整數(shù)類型;nextFloat()轉(zhuǎn)換成浮點(diǎn)型;nextBoolean()轉(zhuǎn) 換成布爾型。

//寫在方法中
System.out.print('輸入:');
Scanner scan = new Scanner(System.in);
String read = scan.next ();
System.out.println('輸入數(shù)據(jù):'+read);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

在這里插入圖片描述

輸出

可以使用 System.out . print ( x ) 將數(shù)值 x 輸出到控制臺上。 這條命令將以x 對應(yīng)的數(shù)據(jù)類型所允許的最大非 0 數(shù)字位數(shù)打印輸出 X 。
在這里插入圖片描述
System.out . println ( x ) ,如果將print改為println就會在輸出完之后進(jìn)行換行。
在這里插入圖片描述
我在這里提到的輸入/輸出都是最基礎(chǔ)的,還有文件的輸入/輸出等該知識更深層次的理解會在日后慢慢積累并分享,盡情期待。

9.控制語句

1. if-else語句

if(條件){ //真執(zhí)行語句 }else { //假執(zhí)行語句 }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

條件必須是一個返回布爾值的表達(dá)式
在這里插入圖片描述

2. switch語句:

多分支選擇語句,根據(jù)表達(dá)式的值,來執(zhí)行多個操作中的一個。

switch (表達(dá)式){    
        case V:        
          //語句1        
          break ;   
        case V1:         
          //語句N        
           break ;    
        default :        
          //如果沒有上面的選項
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

表達(dá)式(變量)可以byte、short、int、char、枚舉類型。jdk 7以后,可以使用String類型;

  1. case語句后面只能使用常量表達(dá)式;
  2. case后的值不能重復(fù)
  3. 每個case之后都必須由一個break語句,不然就達(dá)不到選擇執(zhí)行的效果了。如果沒有,就會一直往下執(zhí)行下一個case中的語句
  4. 當(dāng)表達(dá)式的值與任一case子句中的值都不匹配時,將執(zhí)行default后面的語句,如果沒有default子句,則程序直接跳出switch語句。

3.循環(huán)語句

循環(huán)語句功能

在某些條件滿足的情況下,反復(fù)執(zhí)行特定代碼的功能

循環(huán)語句的四個組成部分

  1. 循環(huán)變量的初始化
  2. 循環(huán)條件部分
  3. 循環(huán)體部分
  4. 循環(huán)變量的更新

循環(huán)語句分類

1. while 循環(huán)

while 語句為如下形式:

while(邏輯表達(dá)式){ //語句 }
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

執(zhí)行過程:先判斷邏輯表達(dá)式的值。若=true,則執(zhí)行其后面的語句,然后再次判斷條件并反復(fù)執(zhí)行,直到條件不成立為止

在這里插入圖片描述

2. do/while 循環(huán)

do {    
    //語句
}while (邏輯表達(dá)式);
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

執(zhí)行過程:先執(zhí)行語句,再判斷邏輯表達(dá)式的值,若為true,再執(zhí)行語句,否則結(jié)束循環(huán)。
在這里插入圖片描述

3. for 循環(huán)

for (表達(dá)式1;表達(dá)式2;表達(dá)式3){ //語句 }
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

執(zhí)行過程:首先計算表達(dá)式1,接著執(zhí)行表達(dá)式2,若表達(dá)式2的值 =true,則執(zhí)行循環(huán)語句,接著計算表達(dá)式3,再判斷表達(dá)式2的值;依此重復(fù)下去,直到表達(dá)式2的值=false.
在這里插入圖片描述

4. break & continue

break 語句用于終止某個語句塊的執(zhí)行。用在循環(huán)語句體中,可以強(qiáng)行退出循環(huán);

public static void test(){    
       int stop = 4;    
       for (int i = 1; i <= 10; i++) {        
       //當(dāng)i等于stop時,退出循環(huán)        
       if (i == stop){           
            break;        
       }        
       System.out.println(' i= ' + i);    
       }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

輸出為:
在這里插入圖片描述

continue 語句用在循環(huán)語句體中,用于終止某次循環(huán)過程,跳過循環(huán)體中continue 語句下面未執(zhí)行的循環(huán),開始下一次循環(huán)過程;

public static void test(){ int stop = 4; for (int i = 1; i <= 10; i++) { //當(dāng)i等于stop時,跳過當(dāng)次循環(huán) if (i == stop){ continue; } System.out.println('i = ' + i); } }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

輸出為:

在這里插入圖片描述

10. 方法

Java的方法類似于其它語言的函數(shù),方法是解決一類問題的步驟的有序組合,方法包含于中.

方法的創(chuàng)建,聲明格式

[訪問權(quán)限修飾符 修飾符…] [返回值類型] 方法名(形式參數(shù)類型 參數(shù)名){

  Java語句;… … …
  //如果有返回值就由return語句
  [return 返回值;]

 }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

修飾符:告訴編譯器如何調(diào)用該方法。定義了該方法的訪問類型。

形式參數(shù): 在方法被調(diào)用時用于接收外界輸入的數(shù)據(jù)。

實參:調(diào)用方法時實際傳給方法的數(shù)據(jù)

返回值:方法在執(zhí)行完畢后返還給調(diào)用它的環(huán)境的數(shù)據(jù)。

返回值類型:事先約定的返回值的數(shù)據(jù)類型,如無返回值,必須給出返回值類型void。

調(diào)用方法:

類的對象名.該類下面的方法名(實參列表)

實參的數(shù)目、數(shù)據(jù)類型和次序必須和所調(diào)用方法聲明的形參列表匹配,

11. return語句

用于從當(dāng)前執(zhí)行的方法中退出, 返回到調(diào)用該方法的語句處繼續(xù)執(zhí)行。

有兩種格式:

  1. return 表達(dá)式; //將表達(dá)式的值返回

  2. return; //不返回任何值,當(dāng)方法說明中用void聲明無返回值時, 可以使用這種格式,有時可省略

我是一個Java的初學(xué)者,文中如有不當(dāng)之處,還希望各路大佬批評指點(diǎn),我會及時
參考書籍:Java核心技術(shù) 卷1(第十版)

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    午夜福利国产精品不卡| 蜜桃传媒视频麻豆第一区| 精品国产亚洲免费91| 国产黄色高清内射熟女视频| 九九九热视频免费观看| 国产乱久久亚洲国产精品| 尹人大香蕉中文在线播放| 久久午夜福利精品日韩| 亚洲高清中文字幕一区二三区 | 欧美精品久久男人的天堂| 国产av天堂一区二区三区粉嫩 | 成人精品视频一区二区在线观看 | 欧美日韩亚洲国产综合网| 日本在线不卡高清欧美 | 好吊妞视频免费在线观看| 在线观看国产成人av天堂野外| 狠狠亚洲丁香综合久久| 久久精品中文字幕人妻中文| 久久国产人妻一区二区免费| 免费在线观看欧美喷水黄片| 熟女高潮一区二区三区| 九九久久精品久久久精品| 精品欧美日韩一区二区三区| 国产性情片一区二区三区| 丰满人妻熟妇乱又伦精另类视频 | 精品熟女少妇av免费久久野外| 我的性感妹妹在线观看| 手机在线观看亚洲中文字幕| 精品欧美一区二区三久久| 日本不卡一区视频欧美| 日韩一区二区三区有码| 国产成人精品在线播放| 精品伊人久久大香线蕉综合| 亚洲国产一区精品一区二区三区色| 日韩欧美国产三级在线观看| 日韩精品成区中文字幕| 日韩人妻精品免费一区二区三区| 国产级别精品一区二区视频| 日本理论片午夜在线观看| 两性色午夜天堂免费视频| 日本女优一区二区三区免费|