Java基礎
標識符
在程序中自定義的一些名稱。
由26個英文字母大小寫,數字:0-9 符號:_ $ 組成
定義合法標識符規則: 1,數字不可以開頭。 2,不可以使用關鍵字。
Java中嚴格區分大小寫。
注意:在起名字的時,爲了提高閱讀性,要儘量有意義。
Java中的名稱規範:
包名:多單詞組成時所有字母都小寫。 xxxyyyzzz
類名接口名:多單詞組成時,所有單詞的首字母大寫。 XxxYyyZzz
變量名和函數名:多單詞組成時,第一個單詞首字母小寫,第二個單詞開始每個單詞首字母大寫。xxxYyyZzz
常量名:所有字母都大寫。多單詞時每個單詞用下劃線連接。 XXX_YYY_ZZZ
註釋
用於註解說明解釋程序的文字就是註釋。提高了代碼的閱讀性。
Java中的註釋格式: 單行註釋 格式://註釋文字
多行註釋 格式:/* 註釋文字*/
文檔註釋 格式:/** 註釋文字*/
對於單行和多行註釋,被註釋的文字,不會被JVM( java 虛擬機)解釋執行。
對於文檔註釋,是java特有的註釋,其中註釋內容可以被 JDK提供的工具javadoc所解析,生成一套以網頁文件形式體現的該程序的說明文檔。
註釋是一個程序員必須要具有的良好編程習慣。
初學者編寫程序可以養成習慣:先寫註釋再寫代碼。
將自己的思想通過註釋先整理出來,在用代碼去體現 。
因爲代碼僅僅是思想的一種體現形式而已。
常量與變量
常量表示不能改變的數值。
Java中常量的分類: 1,整數常量。所有整數
2,小數常量。所有小數
3,布爾型常量。較爲特有,只有兩個數值。true false。
4,字符常量。將一個數字字母或者符號用單引號( ’ ’ )標識。
5,字符串常量。將一個或者多個字符用雙引號標識。
6,null常量。只有一個數值就是:null.
對於整數:java有幾種表現形式。
二進制:用數字0和1表示。
十進制:0-9 ,滿10進1。
八進制:0-7 ,滿8進1. 用0開頭表示。
十六進制:0-9,A-F,滿16進1. 用0x開頭表示。
進制的基本轉換
十進制 二進制互轉
十進制轉成二進制: 除以2取餘數
二進制轉成十進制: 乘以2的冪數
十進制八進制互轉
十進制十六進制互轉
負數的二進制表現形式 :對應的正數二進制取反加1
變量
變量的概念: 內存中的一個存儲區域
該區域有自己的名稱(變量名)和類型(數據類型)
該區域的數據可以在同一類型範圍內不斷變化
爲什麼要定義變量: 用來不斷的存放同一類型的常量,並可以重複使用
使用變量注意: 變量的作用範圍(一對{}之間有效)
初始化值
定義變量的格式: 數據類型 變量名 = 初始化值;
數據類型
Java語言是強類型語言,對於每一種數據都定義了明確的具體數據類型,在內存中分配了不同大小的內存空間
基本數據類型:
整數類型(byte, short, int, long)
浮點類型(float, double)
字符型(char)
布爾型(boolean)
引用數據類型:
類(class)
接口(interface)
數組( [ ] )
其中 整數默認:int 小數默認:double
int最大值: Integer.MAX_VALUE
int最小值: Integer.MIN_VALUE
數據類型轉換
自動類型轉換(也叫隱式類型轉換)
範圍小的類型可以自動轉換(賦值給)爲範圍大的類型
範圍小的類型【遇到】範圍大的類型,自動轉換爲範圍大的
整數<小數 char<int
最大的是字符串,任何類型遇到字符串,自動轉爲字符串
強制類型轉換(也叫顯式類型轉換)
範圍大的賦值給範圍小的,必須強制轉換。
表達式的數據類型自動提升
所有的byte型、short型和char的值將被提升到int型。
如果一個操作數是long型,計算結果就是long型;
如果一個操作數是float型,計算結果就是float型;
如果一個操作數是double型,計算結果就是double型。
整數 = ,+= 內置轉換器
byte short 特殊情況
byte=byte+byte 錯
byte+=byte 是對的
byte+byte,short+short -> int
運算符
算術運算符
% :求餘,取模
%有符號問題,永遠與被除數一致
關係運算符(比較運算符)
< > <= >= == !=
字符串相等 equals() 不相等 !equals()
關係運算符的運算結果都是boolean 布爾值
要得num任意一位,num/所在位數的最小值%10
邏輯運算符
邏輯運算符用於連接布爾型表達式,在Java中不可以 寫成 3<x<6,應該寫成x>3 & x<6 。
“&”和“&&”的區別:
單&時,左邊無論真假,右邊都進行運算;
雙&時,如果左邊爲真,右邊參與運算,如果左邊爲假,那 麼右邊不參與運算。
“|”和“||”的區別同理,雙或時,左邊爲真,右邊不參與運算。
異或( ^ )與或( | )的不同之處是:當左右都爲true時, 結果爲 false。
^: 兩邊相同結果爲假,兩邊不同結果爲真
位運算符
位運算是直接對二進制進行運算。
<<左移就是乘以2的移動的位數次冪
右移就是除以2的移動的位數次冪
**轉義字符:**通過 \ 來轉變後面字母或者符號的意義。
\n :換行
\b :退格
\r :按下回車鍵
\t :製表符 相當於tab鍵
三元運算符
格式
(條件表達式)?表達式1:表達式2;
如果條件爲true,運算後的結果是表達式1;
如果條件爲false,運算後的結果是表達式2;
程序流程控制
判斷結構
if 語句 三種格式:
-
if(條件表達式)
{
執行語句;
} -
if(條件表達式)
{
執行語句;
}
else
{
執行語句;
} -
if(條件表達式)
{
執行語句;
} else if (條件表達式)
{
執行語句;
}
……
else {
執行語句;
}
if語句特點:
1,每一種格式都是單條語句。
2,第二種格式與三元運算符的區別:三元運算符運算完要有值出現。好處是:可以寫在其他表達式中。
3,條件表達式無論寫成什麼樣子,只看最終的結構是否是true或者false;
選擇結構
switch語句
格式:
switch(表達式)
{
case 取值1:
執行語句;
break;
case 取值2:
執行語句;
break;
……
default:
執行語句;
break;
}
switch語句特點:
1,switch語句選擇的類型只有四種:byte,short,int ,char。
2,case之間與default沒有順序。先執行第一個case,沒有匹配的case執行default。
3,結束switch語句的兩種情況:遇到break,執行到switch語句結束。
4,如果匹配的case或者default沒有對應的break,那麼程序會繼續向下執行,運行可以執行的語句,直到遇到break或者switch結尾結束。
if語句與switch語句
if和switch語句很像
如果判斷的具體數值不多,而且符合byte short int char這四種類型。
雖然兩個語句都可使用,但建議使用switch語句,因爲效率稍高。
其他情況:對區間判斷,對結果爲boolean類型判斷,使用if,if的使用範圍更廣。
循環結構
代表語句:while ,do while ,for
while語句格式:
while(條件表達式)
{
執行語句;
}
do while語句格式:
do
{
執行語句;
}while(條件表達式);
do while特點是條件無論是否滿足, 循環體至少被執行一次。
for語句格式:
for(初始化表達式;循環條件表達式;循環後的操作表達式)
{
執行語句;
}
注:
1,for裏面的連個表達式運行的順序,初始化表達式只讀一次,判斷循環條件,爲真就執行循環體,然後再執行循環後的操作表達式,接着繼續判斷循環條件, 重複找個過程,直到條件不滿足爲止。
2,while與for可以互換,區別在於for爲了循環而定義的變量在for循環結束就是在內存中釋放。而 while循環使用的變量在循環結束後還可以繼續使用。
3,最簡單無限循環格式:while(true) , for(;😉,無限循環存在的原因是並不知道循環多少次,而是根據某些條件,來控制循環。
其他流程控制語句
break(跳出), continue(繼續)
break語句:應用範圍:選擇結構和循環結構。
continue語句:應用於循環結構。
注:
1,這兩個語句離開應用範圍,存在是沒有意義的。
2,這個兩個語句單獨存在下面都不可以有語句,因爲執行不到 。
3,continue語句是結束本次循環繼續下次循環。
4,標號的出現,可以讓這兩個語句作用於指定的範圍。