1 JAVA語法基礎
1.1 識別符號
識別符號可以簡單的理解成一個名字,
在Java中,我們需要標識代碼的很多元素,包括類名、方法、欄位、變數、包名等等,我們選擇的那個名稱就稱為識別符號,一個正確的識別符號需要遵循以下規則:
1. 識別符號可以由字母、數字、下劃線(_)、美元符($)組成,但不能包含 @、%、空格等其它特殊字符
2. 不能以數字開頭,如:123name 就是不合法
3. 識別符號嚴格區分大小寫,如: tmooc 和 tMooc 是兩個不同的識別符號
4. 識別符號的命名最好能反映出其作用,做到見名知意,
5. 識別符號不能是Java的關鍵字
1.2 關鍵字
在Java中,有一些單詞被賦予了特定的意義,一共有53個關鍵字,
這53個單詞都是全小寫,其中有兩個保留字:const和goto,
注意,關鍵字不能被用作識別符號!!

1.3 注釋
幾乎所有編程語言都允許程式員在代碼中輸入注釋,因為編譯器會忽略注釋,所以注釋并不會影響程式的運行結果,
注釋的真正作用是: 它可以向任何閱讀代碼的人描述或者解釋程式的實作思路,如何使用以及其它任何相關資訊, 提高代碼的可讀性,方便后期的維護與復用,Java的注釋有3種:
1. 單行注釋: 注釋單行內容.
格式: 每行都以”//”開頭.
快捷方式: Ctrl+/ 添加注釋,同樣的快捷鍵,再按一次取消注釋
2. 多行注釋:注釋多行內容,雖然叫多行注釋,也可注釋單行內容.
格式: 以”/”開頭, 以”/”結束.
快捷方式: Ctrl+shift+/ 添加注釋, Ctrl+shift+\ 取消注釋, 也可以輸入”/*”之后按回車添加注釋
3. 檔案注釋: 一般用來注釋類和方法,通過注釋內容來記錄類或者方法的資訊.
格式: 以”/”開頭, 以”*/”結尾.
快捷方式: 輸入“/” 之后按回車添加注釋
1.4 變數
在JAVA中,我們需要記錄一些資料,但這些資料的值是不固定的,總在變,我們可以把這些資料理解為變數,
我們通過三個元素來描述變數:變數型別 變數名以及變數值,
int age = 18; //宣告int型別的變數并賦值
String tel ; //宣告String型別的變數
注意:
- 變數名必須是一個有效的識別符號
- 變數名不可以使用java關鍵字
- 變數名不能重復
1.5 常量
在程式運行程序中,值一直不會改變的量成為常量,(后續會進一步學習,略…)
2 資料型別
2.1 基本型別介紹(八種)
變數就是申請記憶體來存盤值,也就是說,當創建變數的時候,需要在記憶體中申請空間,
java是一個強型別的語言,會把日常見到的資料,分成好多型別.
記憶體管理系統根據變數型別來分配存盤空間,分配的空間只能用來儲存該型別資料,
常用的轉換關系:
位 bit,來自英文bit,音譯為“位元”,表示二進制位,
1 Byte = 8 Bits (1位元組 = 8位)
1 KB = 1024 Bytes 1 MB = 1024 KB 1 GB = 1024 MB
2.2 練習: 輸入個人資訊
創建包: cn.tedu.basic
創建類: TestInfo.java
需求: 在控制臺列印: java架構師今年20歲,月薪100000.99,感慨java是世界上最好的語言
package cn.tedu.basic;
/**
* 本類用于測驗在控制臺列印個人資訊
* 需求: 在控制臺列印:
* java架構師XXX今年X歲,月薪XXX,感慨java是世界上最好的語言
* @author XYCheng
*/
public class TestInfo {
//Alt+/ 提示補全代碼 Ctrl+s保存代碼 Ctrl+F11執行代碼
public static void main(String[] args) {
/**1.在我們的程式當中{} [] () "" 都是成對出現的,而且都是英文符號*/
/**2. 一串資料,在java里是字串型別—String
* 字串型別的資料,要被一對雙引號 引起來*/
System.out.println("歡迎來到Java世界,可愛的程式猿們");
/**3.定義變數的規則:資料型別 資料名 資料值 */
String name="陳子樞";
int age = 18;
double salary = 100000.99;
/**4.把靜態資料與動態資料分開,通過+實作動態資料的動態拼接*/
System.out.println("我叫"+name);
/**5.如果是在中間拼接用""+變數+""的格式*/
System.out.println("java架構師"+name+",今年"+age+"歲,月薪"+salary+",感慨java是世界上最好的語言");
}
}
2.3 練習:查看基本型別的最大值與最小值
創建包: cn.tedu.basic
創建類: TestTypeScope.java
package cn.tedu.basic;
/**
* 本類用于查看基本型別的最大值與最小值
* Ctrl+Alt+向下鍵 快速向下復制一行
*/
public class TestTypeScope {
//必須要寫入口函式,否則代碼無法執行,因為沒有入口
public static void main(String[] args) {//入口函式
//進行整形型別的測驗 byte1 short2 int4 long8
//1.定義變數,用變數分別保存最大值與最小值
//定義變數 資料型別 變數名 變數值 Ctrl+Alt+向下鍵 快速向下復制一行 換位置:Alt+方向鍵
/**JAVA提供了對應的基本型別的工具箱*/
byte byteMax = Byte.MAX_VALUE;
byte byteMin = Byte.MIN_VALUE;
System.out.println("byte型別的最大值是:"+byteMax);//127
System.out.println("byte型別的最小值是:"+byteMin);//-128
short shortMax = Short.MAX_VALUE;
short shortMin = Short.MIN_VALUE;
System.out.println("short型別的最大值是:"+shortMax);//32767
System.out.println("short型別的最小值是:"+shortMin);//-32768
int intMax = Integer.MAX_VALUE;
int intMin = Integer.MIN_VALUE;
System.out.println("int型別的最大值是:"+intMax);//2147483647
System.out.println("int型別的最小值是:"+intMin);//-2147483648
long longMax = Long.MAX_VALUE;
long longMin = Long.MIN_VALUE;
System.out.println("long型別的最大值是:"+longMax);//9223372036854775807
System.out.println("long型別的最小值是:"+longMin);//-9223372036854775808
//浮點型測驗 float double
//1.4E-45(1.4乘以10的負45次方)
float floatMax = Float.MAX_VALUE;
float floatMin = Float.MIN_VALUE;
System.out.println("float型別的最大值是:"+floatMax);//3.4028235E38
System.out.println("float型別的最小值是:"+floatMin);//1.4E-45
double doubleMax = Double.MAX_VALUE;
double doubleMin = Double.MIN_VALUE;
System.out.println("double型別的最大值是:"+doubleMax);//1.7976931348623157E308
System.out.println("double型別的最小值是:"+doubleMin);//4.9E-324
//布爾型boolean true真 false假
boolean b1 = true;
boolean b2 = false;
//字符型char
char c1 = 'a';//可以保存一個字符
char c2 = 97;//可以保存一個數字
char c3 = '中';//可以保存一個漢字
//char型別可以存數字,但是在列印時,會去查ASCII碼表,把數字對應的字符拿出來使用
//ASCII碼表值規定了陣列0-127對應的字符,128-65535默認按照字符?來處理
System.out.println(c1);//a
System.out.println(c2);//a
System.out.println(c3);//中
}
}
2.4 練習:求圓形的面積
需求:求出指定半徑圓的面積
公式:圓的面積:πrr
創建包: cn.tedu.basic
創建類: TestCircleArea.java
package cn.tedu.basic;
import java.util.Scanner;
/**本類用于求圓的面積*/
public class TestCircleArea {
public static void main(String[] args) {
//公式:π*r*r
//1.提示用戶輸入要求圓的半徑
System.out.println("請您輸入要求圓的半徑值:");
//2.接收用戶輸入的半徑值
double r = new Scanner(System.in).nextDouble();
//3.根據半徑進行計算圓的面積
double circleArea = 3.14*r*r;
//4.把圓的面積列印到控制臺
System.out.println("當半徑為"+r+"時,圓的面積為:"+circleArea);
}
}
2.5 練習:變數交換

需求: 接收用戶輸入的兩個值:假設a=1,b=2,并將這兩個變數的值進行互換
創建包: cn.tedu.basic
創建類: TestValueExchage.java
package cn.tedu.basic;
import java.util.Scanner;
/**本類用于交換兩個變數的值*/
public class TestValueExchage {
public static void main(String[] args) {
//1.提示并接收用于輸入的兩個值
System.out.println("請輸入a的值:");
int a = new Scanner(System.in).nextInt();
System.out.println("請輸入b的值:");
int b = new Scanner(System.in).nextInt();
System.out.println("a的值:"+a);
System.out.println("b的值:"+b);
//2.交換a b 兩個變數的值
int t ;//定義用來值交換的第三方變數t
t = a;//把a的值交給t來保存
a = b;//把b的值交給a來保存
b = t;//把t的值嫁給b來保存
//3.把交換后的兩個值列印在控制臺
System.out.println("交換后,a的值為:"+a);
System.out.println("交換后,b的值為:"+b);
}
}
2.6 參考型別
參考型別是一個物件型別,值是什么呢?它的值是指向記憶體空間的參考,就是地址,所指向的記憶體中保存著變數所表示的一個值或一組值,如:類,介面,陣列,后面講,,,
(后續會進一步學習,略…)
3 基本型別的字面值(5條)
3.1 整數字面值是int型別
int x = 99999;//對,右面資料的字面值是int型別
int x = 99999999999;//錯,右面資料的字面值是int型別,但是已經超出int的取值范圍,
3.2 byte,short,char三種比int小的整數可以用范圍內的值直接賦值
byte b1=127;//對,
byte b2=128;//錯,超出byte范圍
3.3 浮點數的字面值是double型別
double r =3.14;//對
float r =3.14;//錯,右面的資料字面值是double,float是4位元組存不下double型別的資料
3.4 字面值后綴L D F
long x =99999999999L;//字面值是int型別,需轉成long型別的資料,加字面值后綴L即可
float b = 3.0F;//3.0字面值是double型別,加后綴F會變成float型別
double d = 3D;//3字面值是int型別,加后綴D,會變成double型別
3.5 進制前綴
0b - 標識這是2進制 ,如:0b0101
0 - 標識這是8進制, 8進制是三位,如: 023
0x - 標識這是16進制,如: 0x0001
\u -標識這是char型別,屬于16進制
4 基本型別的型別轉換
箭頭開始的地方是小型別,箭頭指向的地方是大型別
我們此處所指的"大"和"小",指的是對應型別的取值范圍,不是位元組數哦

4.1 小到大(隱式轉換)
byte m = 120;
int n = m;//小轉大,右面的m是小型別,給左面的n大型別賦值,可以直接使用
float f = 3.2f; double d = f; -->可以執行
4.2 大到小(顯示轉換)
容量大的型別轉換為容量小的型別時必須使用強制型別轉換,
int x = 999;
byte y =(byte)x;//大轉小,右面x給左面的y小型別賦值,不可以,需要強制型別轉換
- 轉換程序中可能導致溢位或損失精度
例如:int i =128; byte b = (byte)i; //列印的結果是-128
因為 byte 型別是 8 位,最大值為127,所以當 int 強制轉換為 byte 型別時,值 128 時候就會導致溢位, - 浮點數到整數的轉換是通過舍棄小數得到,而不是四舍五入
例如:float f = 32.7f; int a2 =(int) f; //列印的結果是32 - 不能對boolean型別進行型別轉換,
4.3 口訣:
小到大,直接轉 大到小,強制轉 浮變整,小數沒
低 ------------------------------------> 高
byte,short,char→ int→ long→float→double
5 運算規則(5條)
5.1 計算結果的資料型別,與最大資料型別一致
System.out.println(3/2);//1,int/int,得到的結果型別還是int
System.out.println(3/2d);//1.5,int/double,得到的結果是double
5.2 byte,short,char三種比int小的整數,運算時會先自動轉換成int
byte a = 1;
byte b = 2;
byte c = (byte)(a+b);
//a+b會自動提升成int型別,右面得運算結果就是int大型別
//給左面的byte小型別賦值,不可以,需要強轉,
5.3 整數運算溢位

整數運算,類似于一個鐘表,轉到最大時,再轉會回到最小,
計算:光速運行一年的長度是多宣告?3億m/s
//溢位的現象:
//因為做了大的整型資料的運算,會超出int取值范圍,解決方法:把整數提升成long型別,
System.out.println(300000000L606024365);
5.4 浮點數運算不精確
1-0.8 (這是一個現象,后續會學習解決方案)
5.5 浮點數的特殊值
Infinity 無窮大 3.14/0
NaN not a number 0/0.0 或 0.0/0
6 拓展 識別符號命名風格
1.【強制】識別符號命名均不能以數字開頭,而且下劃線或美元符號開始,也不能以下劃線或美元符號結束
錯誤案例:1name/name / name /
n
a
m
e
/
n
a
m
e
name / name
name/name
2.【強制】代碼中的命名嚴禁使用拼音與英文混合的方式,更不允許直接使用中文的方式,
說明:正確的英文拼寫和語法可以讓閱讀者易于理解,避免歧義,
注意,即使純拼音命名方式也要避免采用,
正確案例:alibaba / taobao / youku / hangzhou 等國際通用的名稱,可視同英文,
錯誤案例:DaZheModule [打折模塊] / getPingfenByName() [評分]
3.【強制】類名使用 UpperCamelCase 風格
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/271614.html
標籤:其他
上一篇:C語言:檔案操作集合,干貨滿滿!
下一篇:從今天加入CSDN大家庭
