java的基礎語法
Java中的程序可分為結構定義語句和功能執行語句.
結構定義語句:用于聲明一個類或方法,功能執行語句用于實現具體的功能。
功能執行語句:每條功能執行語句的結尾都必須用英文分號(;)結束。
public修飾的類名必須和文件名一致(如果沒有public類文件名可與任意類名一致)【包括大小寫】。
public:訪問修飾符(每個編譯單元只能有一個public類,否則編譯 器就不會接受。如果在該編譯單元之中還有額外的類的話,那么在包之外的世界是無法看見這些類的,這是因為他們不是public類,而且他們主要用來為主要 public類提供支持)。
class:定義類的關鍵字。
類名:首字母大寫,不要使用拼音和漢語,駝峰式命名法,每個單詞首字母大寫。
main方法是java程序的入口,需要執行的代碼必須放到main方法里面,后期學了javaEE后用的不是太多。
java語言嚴格區分大小寫:int a;int A;(大寫一般表示常量)
Java方法由一條條語句構成,每個句號以“;”結束。
大括號都是成對出現的,缺一不可。
一個java文件里面可以定義多個類,但是只能有一個類名的訪問修飾權限為public。
什么是關鍵字?
Java給我們定義一些特殊單詞,每個關鍵字都有自己獨有的功能;
全是小寫;
關鍵字不能被當做普通的標識符;
用于定義數據類型的關鍵字
class,interface,enum,byte,short,int,long,float,double,char,boolean,void
用于定義數據類型值的關鍵字
true,false,null
用于定義流程控制的關鍵字
if,else,switch,case,default,while,do,for,break,continue,return
用于定義訪問權限修飾符的關鍵字
private,protected,public
用于定義類,方法,變量修飾符的關鍵字
abstract,final,static,synchronized
用于定義類與類之間關系的關鍵字
extends,implements
用于定義建立實例及引用實例,判斷實例的關鍵字
new,this,super,instanceof
用于異常處理的關鍵字
try,catch,finally,throw,throws
用于包的關鍵字
package,import
其他修飾符關鍵字
native,strictfp,transient,volatile,assert
什么是標識符?
自定義的類,方法名,包名,變量名,接口名…這些統稱為標識符
字母,數字,下劃線,$;
不能以數字開頭;
不能是關鍵字,或者包含特殊字符;
定義方法名和變量名第一個單詞首字母小寫,從第二個單詞開始每個首字母大寫;如果定義常量,全部大寫;
包名所有字母一律小寫;類名和接口名每個單詞的首字母都要大寫。
什么是常量?
定義:Java中的常量,其實就是特殊的變量,也是固定不變的量,有且只能進行一次賦值。
語法:Java中定義常量的語法也非常簡單,只需要在定義變量的語法基礎上加上一個final關鍵字修飾即可。
程序運行期間,固定的值是不可以改變的。
public class Demo1{
public static void main(String[] args){
//常量運行期間不可以改變的量就是常量
final int A=10;
//字符串可以為空,單引號為字符,不可以為空,字符必須要有內容。
System.out.println("我愛寫代碼");
}
}
什么是變量?
在內容中的一塊區域,變量的值可以在某一范圍內發生改變。
怎么定義變量?
變量類型 變量名;int num;
變量類型 變量名=對應的變量值;int num[=10];([]中的內容是可選項,即在定義變量的同時,可以對該變量進行初始化賦值。
變量的類型有哪些:
一.基本數據類型:
整數:byte short int long;常用的是int。
小數:double float;常用的是double。
布爾:boolean 常用在邏輯運算。
字符:char。
二.引用數據類型:數組java定義的類,自己定義的類,接口…
變量的分類
成員變量:定義在類的內部,方法之外。
局部變量:定義在方法內部。
注意:類外面(類對應的大括號外面)不能有變量的聲明。
在靜態方法里面只能調用靜態變量或者靜態方法
public class Demo2{
//成員變量
static int num=10;//在靜態方法里面只能調用靜態變量或者靜態方法
public static void main(String[] args){
int num1=20;//局部變量
System.out.println("num:"+num);
System.out.println("num1:"+num1);
}
}
整數類型:byte(1) short(2) int(4) long(8)
Java各整數類型有固定的表示范圍和字段長度,不受具體 操作系統的影響,以保證 java 程序的可移植性。
Java 的整型常量默認為 int 型,聲明 long 型常量須后加‘l’(小寫L) 或‘L’。
浮點類型:float(4)、double(8)
與整數類型類似,Java 浮點類型也有固定的表示范圍和字段長度,不受具體操作系統的影響。
Java 的浮點型常量默認為 double 型,聲明 float 型常量,須后加‘f’ 或 ‘F’。
浮點型常量有兩種表示形式:
1.十進制數形式:如:5.12 512.0f .512 (必須有小數點)
2.科學計數法形式:如:5.12e2 512E2 100E-2
字符類型:char
字符類型變量用于存儲一個單一字符,在Java中用char表示。
Java中每個char類型的字符變量都會占用2個字節。
在給char類型的變量賦值時,需要用一對英文半角格式的單引號(' ')把字符括起來,如'a',也可以將char類型的變量賦值為0~65535范圍內的整數,計算機會自動將這些整數轉化為所對應的字符,如數值97對應的字符為'a'。
布爾類型:boolean
boolean 類型適于邏輯運算,一般用于程序流程控制:
if條件控制語句;
while循環控制語句;
do-while循環控制語句;
for循環控制語句;
boolean類型數據只允許取值true和false,不可以0或非0的整數替代true和false,這點和C語言不同。
變量的類型轉換
說明:在程序中,當把一種數據類型的值賦給另一種數據類型的變量時,需要進行數據類型轉換。
分類:根據轉換方式的不同,數據類型轉換可分為兩種:自動類型轉換和強制類型轉換。
自動類型轉換:容量小的類型自動轉換為容量大的數據類型。數據類型按容量大小排序為
有多種類型的數據混合運算時,系統首先自動將所有數據轉換成容量最大的那種數據類型,然后再進行計算。
byte,short,char三者在計算時首先轉換為int類型。
當把任何基本類型的值和字符串值進行連接運算時(+),基本類型的值將自動轉化為字符串類型
強制類型轉換:
強制類型轉換也叫顯式類型轉換,指的是兩種數據類型之間的轉換需要進行顯式地聲明。當兩種類型彼此不兼容,或者目標類型取值范圍小于源類型時,自動類型轉換無法進行,這時就需要進行強制類型轉換。
強制類型轉換就好比將大瓶水倒入到小瓶中一樣,如果大瓶中的水的容量小于小瓶的大小,那么水是可以完全倒入的;否則多出來的水就會溢出。所以系統默認不支持這種行為,只能由開發者自己決定是否進行強制類型轉換。
強制類型轉換格式:目標類型 變量名 = (目標類型);值
字符串轉換為基本數據類型,需要通過基本類型對應的包裝類提供的parseXXX方法。如: String a = “43”; int i = Integer.parseInt(");
原因分析:出現丟失精度的原因是,變量b為int類型,在內存中占用4個字節,而byte類型的數據在內存中占用1個字節,當將變量b的類型強轉為byte類型后,前面3個高位字節的數據已經丟失,這樣數值就發生了改變。
轉義符——反斜杠(\)
定義:在字符常量中,反斜杠(\)是一個特殊的字符,被稱為轉義符,它的作用是用來轉義緊隨其后的一個字符。
說明:轉義后的字符通常用于表示一個不可見的字符或具有特殊含義的字符,例如“\n”表示換行。
常見轉義字符
\r :表示回車,將光標定位到當前行的開頭,不會跳到下一行。
\n :表示換行,換到下一行的開頭。
\t :表示制表符,將光標移到下一個制表符的位置,就像在文檔中用Tab鍵一樣。
\\ :表示反斜杠轉義字符,由于在Java代碼中的斜杠(\)是轉義符,因此需要表示字面意義上的\,就需要使用雙斜杠\\。
算數運算符分類說明
運算符
運算
范例
結果
+
正號
+3
3
-
負號
b=4;-b
-4
+
加
5+5
10
-
減
6-4
2
*
乘
3*4
12
/
除
7/5
1
%
取模(求余數)
7%5
2
++
自增(前)
a=2;b=++a
a=3;b=3
++
自增(后)
a=2;b=a++
a=3;b=2
--
自減(前)
a=2;b=--a
a=1;b=1
--
自減(后)
a=2;b=a--
a=1;b=2
在進行自增(++)和自減(--)的運算時,如果運算符(++或--)放在操作數的前面則是先進行自增或自減運算,再進行其他運算。反之,如果運算符放在操作數的后面則是先進行其他運算再進行自增或自減運算。
在進行除法運算時,當除數和被除數都為整數時,得到的結果也是一個整數;如果除法運算有小數參與,得到的結果會是一個小數。
在進行取模(%)運算時,運算結果的正負取決于被模數(%左邊的數)的符號,與模數(%右邊的數)的符號無關。
賦值
x += 3就相當于x = x + 3
-=;/= 以此類推。
p在Java中可以通過一條賦值語句對多個變量進行賦值。
p在賦值運算符中,除了“=”,其他的都是特殊的賦值運算符,以“+=”為例,x += 3就相當于x = x + 3,首先會進行加法運算x+3,再將運算結果賦值給變量x。其余的-=、*=、/=、%=賦值運算符都可依此類推。
注意:在使用+=、-=、*=、/=、%= 賦值運算符時,需要進行的強制類型轉換會自動完成,程序不需要做任何顯式地聲明。
public class Demo {
public static void main(String\[\] args) {
short s = 3;
int i = 5;
s += i;
System.out.println("s = " + s);
}
}
邏輯運算符
^; 異或; A ^ b; a與b不同,結果為true,否則為false
注意:
邏輯運算符可以針對結果為布爾值的表達式進行邏輯運算。如:5 > 3 && 1 != 0的結果為true。
“&”和“&&”的區別:在使用“&”進行運算時,不論左邊為true或者false,右邊的表達式都會進行運算。如果使用“&&”進行運算,當左邊為false時,右邊的表達式不會進行運算,因此“&&”被稱作短路與。
條件運算符
條件運算符的語法格式:
(boolean_expr) ? true_statement : false_statement;
規則:先判斷boolean_expr的值,如果為true,就執行表達式true_statement,否者執行表達式false_statement。
int store = 5;
System.out.println(store <=0 ? "沒有庫存啦" : "庫存量為:"+store);
// 輸出結果為 “庫存量為:5”
over~~~~
拜~~