JAVA 之 java基礎語法

java關鍵字

關鍵字概述
    被Java語言賦予特定含義的單詞
關鍵字特點
    組成關鍵字的字母全部小寫
關鍵字注意事項
    goto和const作爲保留字存在,目前並不使用
    類似Notepad++這樣的高級記事本,針對關鍵字有特殊的顏色標記,非常直觀

這裏寫圖片描述
這裏寫圖片描述

java 之 標識符

標識符概述
    就是給類,接口,方法,變量等起名字時使用的字符序列
組成規則
    英文大小寫字母
    數字字符
    $和_
注意事項
    不能以數字開頭
    不能是Java中的關鍵字
    區分大小寫

java標識符(常見命名規則)

包(其實就是文件夾,用於解決相同類名問題)
單級和多級分別舉例
類或者接口
    一個單詞和和多個單詞(全部小寫)
方法和變量
    一個單詞和和多個單詞分別舉例(第二個單詞字母開始大寫)
常量
    一個單詞和和多個單詞分別舉例(全部大寫,第二個單詞以_分割)

註釋

註釋概述
    用於解釋說明程序的文字
    Java中註釋分類格式
        單行註釋
            格式: //註釋文字
        多行註釋
            格式: /*  註釋文字  */
        文檔註釋
            格式:/** 註釋文字 */
註釋是一個程序員必須要具有的良好編程習慣。
初學者編寫程序可以養成習慣:先寫註釋再寫代碼。

將自己的思想通過註釋先整理出來,在用代碼去體現。
因爲代碼僅僅是思想的一種體現形式而已。

常量

    常量概述
    在程序執行的過程中其值不可以發生改變
        Java中常量分類
    字面值常量
        自定義常量
字符串常量   用雙引號括起來的內容
整數常量        所有整數
12,23
小數常量        所有小數
12.34,56.78
字符常量        用單引號括起來的內容
‘a’,’A’,’0’
布爾常量        較爲特有,只有true和false
空常量         null

Java針對整數常量提供了4種表現形式
    二進制
    八進制
    十進制
    十六進制
進制概述
    進制:就是進位制,是人們規定的一種進位方法。 對於任何一種進制--X進制,就表示某一位置上的數運算時是逢X進一位。二進制就是逢二進一,八進制是逢八進一,十進制是逢十進一,十六進制是逢十六進一。

不同進制的數據組成
    二進制 
        由0,1組成。以0b開頭
    八進制 
        由0,1,…7組成。以0開頭
    十進制 
        由0,1,…9組成。整數默認是十進制的
    十六進制    
        由0,1,…9,a,b,c,d,e,f(大小寫均可)。以0x開頭

進制轉換
    其他進制到十進制
        通過十進制推出結論
        把0b100,0100,0x100轉換成十進制
    十進制到其他進制
        通過十進制推出結論
        把52分別表示成二進制,八進制,十六進制

十進制和二進制的快速轉換
        8421碼
        100轉成二進制
        101101轉成十進制
    二進制和八進制,十六進制如何轉換
        以十進制作爲橋樑
        二進制到八進制 3位組合
        100110
        二進制到十六進制    4位組合
        100110

有符號數據表示法
    在計算機內,有符號數有3種表示法:原碼、反碼和補碼。所有數據的運算都是採用補碼進行的。
    原碼
    就是二進制定點表示法,即最高位爲符號位,“0”表示正,“1”表示負,其餘位表示數值的大小。
    反碼
    正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。
    補碼
    正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。

變量

變量概述
    在程序執行的過程中,在某個範圍內其值可以發生改變的量
    理解:如同數學中的未知數
變量定義格式
    數據類型 變量名 = 初始化值;
    注意:格式是固定的,記住格式,以不變應萬變

數據類型

Java語言是強類型語言,對於每一種數據都定義了明確的具體數據類型,在內存總分配了不同大小的內存空間

這裏寫圖片描述
這裏寫圖片描述

使用變量注意事項:

作用域 
    變量定義在哪一級大括號中,哪個大括號的範圍就是這個變量的作用域。相同的作用域中不能定義兩個同名變量。
    初始化值
    沒有初始化值不能直接使用
    在一行上建議只定義一個變量
    可以定義多個,但是不建議

+是一個運算符, 我們應該能夠看懂,做數據的加法。
    boolean類型不能轉換爲其他的數據類型
    默認轉換
        byte,short,char—int—long—float—double
        byte,short,char相互之間補轉換,他們參與運算首先轉換爲int類型
    強制轉換
        目標類型 變量名=(目標類型)(被轉換的數據);

運算符

算術運算符
賦值運算符
比較運算符
邏輯運算符
位運算符
三目運算符

這裏寫圖片描述

算術運算符

+,-,*,/都是比較簡單的操作,簡單演示即可
    +的幾種作用:
    加法
    正數
    字符串連接符
    除法的時候要注意一個問題:
    整數相除,只能得到整數
    要想得到小數,可以*1.0

/和%的區別
    ++和--的應用
    單獨使用效果相同
    參與運算使用,在操作數的前後效果不同

賦值運算符

    符號:
    = , +=, -=, *=, /=, %=
    =爲基本的賦值運算符,其他的爲擴展的賦值運算符

這裏寫圖片描述
這裏寫圖片描述

邏輯運算符

邏輯運算符用於連接布爾型表達式,在Java中不可以寫成3<x<6,應該寫成x>3 & x<6 。
“&”和“&&”的區別:
    單&時,左邊無論真假,右邊都進行運算;
    雙&時,如果左邊爲真,右邊參與運算,如果左邊爲假,那麼右邊不參與運算。
    “|”和“||”的區別同理,雙或時,左邊爲真,右邊不參與運算。
異或( ^ )與或( | )的不同之處是:當左右都爲true時,結果爲false。

這裏寫圖片描述
這裏寫圖片描述

三目運算符

格式
    (關係表達式)?表達式1:表達式2;
    如果條件爲true,運算後的結果是表達式1;
    如果條件爲false,運算後的結果是表達式2;
示例:
    獲取兩個數中大數。
    int x=3,y=4,z;
    z = (x>y)?x:y;//z變量存儲的就是兩個數的大數。

鍵盤錄入數據

鍵盤錄入數據概述
    我們目前在寫程序的時候,數據值都是固定的,但是實際開發中,數據值肯定是變化的,所以,我準備把數據改進爲鍵盤錄入,提高程序的靈活性。
如何實現鍵盤錄入數據呢?(目前先記住使用)
    導包(位置放到class定義的上面)
    import java.util.Scanner;
    創建對象
    Scanner sc = new Scanner(System.in);
    接收數據
    int x = sc.nextInt();

流程控制語句

    在一個程序執行的過程中,各條語句的執行順序對程序的結果是有直接影響的。也就是說程序的流程對運行結果有直接的影響。所以,我們必須清楚每條語句的執行流程。而且,很多時候我們要通過控制語句的執行順序來實現我們要完成的功能。
流程控制語句分類
    順序結構
    選擇結構
    循環結構

順序結構

順序結構概述
    是程序中最簡單最基本的流程控制,沒有特定的語法結構,按照代碼的先後順序,依次執行,程序中大多數的代碼都是這樣執行的。
    總的來說:寫在前面的先執行,寫在後面的後執行

這裏寫圖片描述

選擇結構

    選擇結構
    也被稱爲分支結構。
    選擇結構有特定的語法規則,代碼要執行具體的邏輯運算進行判斷,邏輯運算的結果有兩個,所以產生選擇,按照不同的選擇執行不同的代碼。
    Java語言提供了兩種選擇結構語句
    if語句
    switch語句

選擇結構(if語句)

if語句有三種格式
if語句第一種格式:
if(關係表達式) {
             語句體
    }
執行流程
首先判斷關係表達式看其結果是true還是false
如果是true就執行語句體
如果是false就不執行語句體

選擇結構(switch語句)

格式解釋
    switch表示這是switch語句
    表達式的取值:byte,short,int,char
    JDK5以後可以是枚舉
    JDK7以後可以是String
    case後面跟的是要和表達式進行比較的值
    語句體部分可以是一條或多條語句
    break表示中斷,結束的意思,可以結束switch語句
    default語句表示所有情況都不匹配的時候,就執行該處的內容,和if語句的else相似。

執行流程
    首先計算出表達式的值
    其次,和case依次比較,一旦有對應的值,就會執行相應的語句,在執行的過程中,遇到break就會結束。
    最後,如果所有的case都和表達式的值不匹配,就會執行default語句體部分,然後程序結束掉。

注意事項
    case後面只能是常量,不能是變量,而且,多個case後面的值不能出現相同的
    default可以省略嗎?
    可以省略。一般不建議。除非判斷的值是固定的。(單選題)
    break可以省略嗎?
    可以省略,一般不建議。否則結果可能不是你想要的
    default的位置一定要在最後嗎?
    可以出現在switch語句任意位置。
    switch語句的結束條件
    遇到break
    執行到程序的末尾
switch語句格式:
switch(表達式) {
          case1:
            語句體1;
            break;
            case2:
            語句體2;
            break;
            …
            default:    
            語句體n+1;
            break;
    }

這裏寫圖片描述

循環結構

    循環語句可以在滿足循環條件的情況下,反覆執行某一段代碼,這段被重複執行的代碼被稱爲循環體語句,當反覆執行這個循環體時,需要在合適的時候把循環判斷條件修改爲false,從而結束循環,否則循環將一直執行下去,形成死循環。

循環語句的組成
    初始化語句:
    一條或者多條語句,這些語句完成一些初始化操作。
    判斷條件語句:
    這是一個boolean 表達式,這個表達式能決定是否執行循環體。
    循環體語句:
    這個部分是循環體語句,也就是我們要多次做的事情。
    控制條件語句:
    這個部分在一次循環體結束後,下一次循環判斷條件執行前執行。通過用於控制循環條件中的變量,使得循環在合適的時候結束。

循環結構(for循環語句)

    for循環語句格式:
for(初始化語句;判斷條件語句;控制條件語句) {
         循環體語句;
    }
執行流程
A:執行初始化語句
B:執行判斷條件語句,看其結果是true還是false
如果是false,循環結束。
如果是true,繼續執行。
C:執行循環體語句
D:執行控制條件語句
E:回到B繼續

注意事項
    判斷條件語句的結果是一個boolean類型
    循環體語句如果是一條語句,大括號可以省略;如果是多條語句,大括號不能省略。建議永遠不要省略。
    一般來說:有左大括號就沒有分號,有分號就沒有左大括號

這裏寫圖片描述

循環結構(while循環語句)

while循環語句格式:
基本格式
   while(判斷條件語句) {
         循環體語句;
   }
擴展格式
   初始化語句;
   while(判斷條件語句) {
         循環體語句;
         控制條件語句;
    }

這裏寫圖片描述

循環結構(for循環和while循環的區別)

    for循環語句和while循環語句可以等價轉換,但還是有些小區別的
使用區別:控制條件語句所控制的那個變量,在for循環結束後,就不能再被訪問到了,而while循環結束還可以繼續使用,如果你想繼續使用,就用while,否則推薦使用for。原因是for循環結束,該變量就從內存中消失,能夠提高內存的使用效率。
場景區別:
    for循環適合針對一個範圍判斷進行操作
    while循環適合判斷次數不明確操作

循環結構(do…while循環語句)

dowhile循環語句格式:
基本格式
   do {
         循環體語句;
   }while((判斷條件語句);
擴展格式
   初始化語句;
   do {
         循環體語句;
         控制條件語句;
    } while((判斷條件語句);

這裏寫圖片描述

循環結構(區別及注意事項)

    三種循環語句其實都可以完成一樣的功能,也就是說可以等價轉換,但還是有小區別的:
    do…while循環至少會執行一次循環體。
    for循環和while循環只有在條件成立的時候纔會去執行循環體
    注意事項:
    寫程序優先考慮for循環,再考慮while循環,最後考慮do…while循環。
    如下代碼是死循環
    while(true){}
    for(;;){}

跳轉控制語句(break)

break的使用場景:
    在選擇結構switch語句中
    在循環語句中
    離開使用場景的存在是沒有意義的
break的作用:
    跳出單層循環
    跳出多層循環
        帶標籤的跳出
        格式:標籤名: 循環語句
        標籤名要符合Java的命名規則

跳轉控制語句(continue)

continue的使用場景:
    在循環語句中
    離開使用場景的存在是沒有意義的
continue的作用:
    單層循環對比break,然後總結兩個的區別
    break  退出當前循環
    continue  退出本次循環

跳轉控制語句(return)

    return關鍵字不是爲了跳轉出循環體,更常用的功能是結束一個方法,也就是退出一個方法。跳轉到上層調用的方法。

這裏寫圖片描述
這裏寫圖片描述

(工作需要……順便整理……歡迎大家補充提意見)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章