Java開發--2--語法基礎

2.1 相關基礎

Java所有的組成部分都需要名字。
類名、變量名以及方法名都被稱爲標識符。

標識符命名規則:

1、由字母、數字、下劃線、$組成,不能以數字開頭。
2、注意大小寫敏感。即hello和Hello是不一樣的。
3、不得使用java中的關鍵字和保留字。

標準的變量命名示例:

int localAreaCode

優秀的標識符命名習慣:

1、標識符要符合語義信息。
2、包名:所有字母小寫。
3、類名:每個單詞首字母大寫,其它小寫,如:TarenaStudent
4、變量和方法:第一個單詞小寫,從第二個單詞開始首字母大寫,如:tarenaStudent
5、常量:所有字母大寫,每個單詞之間用下劃線"_"連接。如:final int ESCAPE_CODE = 27;
常量即程序運行過程中一直不變的值。聲明常量在變量聲明前加上關鍵字final,並指定初始值。

對於局部變量,在程序使用它之前(聲明的時候是不賦值的),必須給它賦值,否則編譯錯誤:

信息類型 變量名;             //如:int length; 這是聲明
信息類型 變量名1,變量名2;     //如:String country,city,home;
信息類型 變量名=;          //如:int box = 345; 這是使用

類所屬的包是使用package語句指定的,這種語句必須位於類的最前面:

package com.long.java           //導入包示例

Java代碼運行結果輸出:

System.out.println("hahaha")       //注意是printLn,易混淆字母大寫可見
System.out.print("hahaha")        //print爲在一行輸出,不管有多少個print

Java代碼注意點:

1、以雙斜槓的單行註釋://
2、多行註釋:/*---------這是註釋---------*/
3、Java語句都以英文;結尾

2.2 Java基本數據類型

1、基本數據類型一覽表

類型名稱 字節空間 其他說明 使用場景
byte 1字節(8位) 範圍:-2^7 ~ 2^7-1 存儲字節數據(較常用)
short 2字節(16位) 範圍:-2^15 ~ 2^15-1 兼容性考慮(很少使用)
int 4字節(32位) 範圍:-2^31 ~ 2^31-1 存儲普通整數(常用)(整數默認)
long 8字節(64位) 範圍:-2^63 ~ 2^63-1 存儲長整數(常用)
float 4字節(32位) \ 存儲單精度浮點數(不常用)
double 8字節(64位) 存在舍入誤差 存儲雙精度浮點數(常用)(浮點默認)
char 2字節(16位) 單一的16位unicode字符 存儲一個字符(常用)
boolean 1字節(8位) 默認值是false 存儲邏輯變量(true/false)(常用)

2、整數相除捨棄小數

int c = 5/3;
System.out.println(c);           //c的值爲1

3、整數過大溢出

int a = 2147483647; 
int b = -2147483648;
a = a + 1;
b = b - 1;
System.out.println("a=" + a);      //輸出結果:a=-2147483648,溢出,過大突變爲負數
System.out.println("b=" + b);      //輸出結果:b=2147483647。溢出,過小突變爲正數

4、表示長整型要以L結尾

long a = 10000000000000L;           //不加L程序會默認爲int型,從而報錯

5、長整型數運算

long a = 10000*365*24*60*60*299792458L;     //必須有一個long型數參與運算的結果纔是long型
System.out.println("a=" + a);               //a=18762816316238618726381,結果正確

long b = 10000*365*24*60*60*299792458;      //沒有一個long型數據參與運算,程序默認int型
System.out.println("b=" + b);               //b=-187628163,結果錯誤,溢出了

6、長整型獲取時間

long time = System.currentTimeMillis();
System.out.println(time);         //返回1970年1月1日0點到此時此刻的毫秒數,爲long型

7、雙精度浮點數運算

double pi = 3.14;
double r = 8;
double s = pi*r*r;
System.out.println("s=" + s);             //輸出結果爲s=200.96

8、double類型的兩種寫法

3.140.236              //常規寫法
1.25E21.25E-2         //科學記數法。1.25E2表示1.25乘以10的2次方

9、布爾型程序

int age = 18;
boolean ischild = age<16;            //條件不成立,返回false
System.out.println(ischild);         //輸出false
boolean running = true;              //布爾型賦值,只能賦予true或者false
boolean closed = false;

10、字符型程序

可以裝入unicode字符編碼集中的任何字符,字符直接量放在單引號之中。
只能一個字符一個字符的表示。
'abcde'是錯誤的,必須是'a','b','c','d','e'

char c1 = '中';          //c1中存的是[中]的unicode編碼,Java字符類型採用unicode字符集編碼
char c2 = '\u4e2d';     //char類型可以裝入unicode集中的任何一個字符
System.out.println(c1);            //輸出漢字[中]
System.out.println(c2);            //輸出漢字[中]

常見轉義字符

轉移字符 含義
\n 表示回車符
\r 表示換行符
\\ 表示反斜槓:\
\’ 表示單引號:’
\" 表示雙引號:"
\f 表示換頁符
\b 表示退格符
\0 表示空字符
\s 表示字符串
\t 表示製表符

11、常量修飾和變量修飾

final double PI=3.14159;       //常量需要使用final修飾。通常使用大寫字母使用常量
"hello world hahaha"           //字符串常量包含在兩個引號之間
char a='A';                    //變量需要使用變量數據類型來修飾

12、基本類型之間的轉換

自動類型轉換:從小類型到大類型可以自動完成

byte --> short --> int --> long --> float --> double
-------- char ---> int         //各種基本類型參與的運算中,運算結果會自動向大的類型轉換

強制類型轉換:從大類型到小類型需要強制轉換符

需要轉換成的類型  變量            //注意:那個小括號必須有。可能會造成精度損失或溢出

示例代碼

char c1='a';                   //定義一個char類型
int i1 = c1;                   //char自動類型轉換爲int
System.out.println("char轉換爲int後"+i1);        //輸出結果爲:97

char c2 = 'A';                //定義一個char類型
int i2 = c2+1;                //char 類型和 int 類型計算
System.out.println("char和int計算後"+i2);         //輸出結果爲:66

2.3 表達式和運算符

1、Java算術運算符及衍生

運算符 表達式 計算 結果(假定x=10)
+、-、*、/、% 加、減、乘、除、取餘 \ \
+= x += 5 x = x + 5 15
-= x -= 5 x = x - 5 5
*= x *= 5 x = x * 5 50
/= x /= 5 x = x / 5 2
%= x %= 5 x = x % 5 0
<<=(左移位賦值) x <<= 5 x = x << 5 320
>>=(右移位賦值) x >>= 5 x = x >> 5 10
&=(按位與賦值) x &= 5 x = x & 5 0
^=(按位異或賦值) x ^= 5 x = x ^ 5 5
|=(按位或賦值) x |= 5 x = x | 5 5

2、自加和自減運算:++、–

num++;               //相當於:num=num+1。++在後,先取值再增1
num--;               //相當於:num=num-1
++num;               //++在前,先增1再取值
----------------------------------------------------------------
int num = 5;
System.out.println(num++);       //先取值再增1。輸出結果:5
System.out.println(num);         //已經自增完畢,此處輸出:6

int num2 = 5;
System.out.println(++num2);      //先增1再取值。輸出結果:6
System.out.println(num2);        //已經自增完畢,此處輸出:6

3、Java關係運算符

大於(>)、小於(<)、大於等於(>=)、小於等於(<=)、等於(==)、不等於(!=)
關係運算符的結果均爲布爾類型,關係成立返回true,關係不成立返回false
"=="比較的是地址、“equals”比較的是內容

-----------------------------------------------------------------------
int max = 10;
boolean b1 = max > 15;
System.out.println(b1);             //輸出結果爲false

4、Java邏輯運算符

(&&)、或(||)、非(!)
邏輯運算的變量或表達式都是boolean類型,運算結果也爲boolean類型
--------------------------------------------------------------
int score = 80;
boolean b = score >= 60 && score < 90;
System.out.println(b);               //輸出結果爲true

邏輯短路:

對於&&來說,當第一個操作數爲false時,將不再對後面的操作數進行計算處理。
對於||來說,當第一個操作數爲true時,將不再對後面的操作數進行計算處理。後面的代碼得不到執行,將有可能影響之後的代碼運算結果。

5、Java賦值運算符

賦值(=)
--------------------------------------------------------------------
int a,b,c;
a = b = c = 100;             //a,b,c都是100
int a=1,b=2,c=3;             //也可以這樣書寫。注意要先聲明變量類型

6、字符串連接運算符

字符串連接(+)
兩邊都爲數字做加法,若一邊有字符則做字符串拼接。注意從左向右的先後順序
-------------------------------------------------------------------------
int a = 100;
String msg = "a=" + a;
System.out.println(msg);         //輸出:a=100

msg = "" + 100 + 200;
System.out.println(msg);         //輸出結果爲:100200
msg = 100 + 200 + "";
System.out.println(msg);         //結果爲:300

7、字符串長度

String site = "hello";      //字符串是雙引號括起來的一系列字符
int len = site.length();    //Java使用length方法來返回字符串對象包含的字符數
System.out.println( "hello長度 : " + len );        //輸出結果爲5

8、Java Math類

Java的Math包含了基本數學運算的屬性和方法,如初等指數、對數、平方根和三角函數。

System.out.println("90 度的正弦值:" + Math.sin(Math.PI/2));  
System.out.println("0度的餘弦值:" + Math.cos(0));  
System.out.println("60度的正切值:" + Math.tan(Math.PI/3));  
System.out.println("1的反正切值: " + Math.atan(1));  
System.out.println("π/2的角度值:" + Math.toDegrees(Math.PI/2));  
System.out.println("圓周率:" + Math.PI);             

2.4 下斷點調試

1、此時不能直接點run運行,而是點擊debug運行,之後再F8單步運行。

2、下斷點在於看清楚內存的變化,否則一閃而過什麼都看不到。例如循環時,可以看到一個數一個數的變化,看清運行過程細節,發現過程中途的敏感數據。

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