javaSE從零開始04_java的基礎語法
Java的基礎語法
1.註釋,識別符號,關鍵字
2.資料型別
3.型別轉換
4.變數常量
5.運算子(Operator)
6.包機制,JavaDoc
1.註釋,識別符號,關鍵字
-
註釋是一個非常好的習慣,註釋不會被執行,是給人看的。平時寫程式碼一定要注意規範
-
單行 //
-
多行 /* 多行註釋 */
-
文件 javaDoc:文件註釋
-
/** * * */
-
-
-
識別符號
-
什麼是識別符號?
-
凡是可以由自己命名的地方都稱為識別符號。
例如,對於常量、變數、函式、語句塊、類、專案等都需要一個名字,這些我們都統統稱為識別符號。 -
注意:識別符號大小寫是敏感的(強型別語言)
- 1.識別符號有字母、數字、_(下劃線)、$所組成,其中不能以數字開頭,不能用Java中的保留字(關鍵字)
- 2.識別符號采用有意義的簡單命名
- 3." " 不 要 在 代 碼 中 出 現 。 ( 是 由 於 在 後 面 內 部 類 中 , 編 譯 後 會 出 現 "不要在程式碼中出現。(是由於在後面內部類中,編譯後會出現 "不要在代碼中出現。(是由於在後面內部類中,編譯後會出現符號)
-
命名規範(駝峰命名法)
- 類名和介面名:每個單詞的首字母,其餘為小寫。(大駝峰)
- 方法名:第二個單詞起的首字母為大寫,其餘全為小寫。(小駝峰)
- 常量名:基本資料型別的常量名使用全部大寫字母,字與字之間用下劃線分隔。
-
-
2.資料型別
語言型別
-
強型別語言
- 要求變數的使用嚴格符合規定,所有的變數都必須先定義後才能使用
-
弱型別語言
Java資料型別
-
基本型別
-
byte:8位,最大儲存資料量是255,存放的資料範圍是-128~127之間。
short:16位,最大資料儲存量是65536,資料範圍是-32768~32767之間。
int:32位,最大資料儲存容量是2的32次方減1,資料範圍是負的2的31次方到正的2的31次方減1。
long:64位,最大資料儲存容量是2的64次方減1,資料範圍為負的2的63次方到正的2的63次方減1。
float:32位,資料範圍在3.4e-45~1.4e38,直接賦值時必須在數字後加上f或F。
double:64位,資料範圍在4.9e-324~1.8e308,賦值時可以加d或D也可以不加。
boolean:只有true和false兩個取值。
char:16位,儲存Unicode碼,用單引號賦值。
-
什麼是位元組?
-
位:計算機內部最小的儲存單位,11001100是一個八位二進位制數。
-
位元組:是計算機中資料處理的基本單位,習慣上使用B來表示。
-
1B:=8bit
-
字元:是指計算機中使用的字母數字符號。
-
1B=8b 1bit表示一位
-
1Byte表示一個位元組 1B=8b
-
1024B=1KB
-
1024KB=1M
-
1024M=1G
-
-
-
引用型別
- 類
- 介面
- 陣列
-
面試擴充套件**
-
整數擴充套件 :進位制 二進位制 十進位制 八進位制 十六進位制 0-9 A-F
-
int i=10; 10 int i2=010; 八進位制 8 int i3=0X10; 十六進位制 16
-
-
浮點數擴充套件: 銀行業務怎麼表示?關於錢【BigDecimal一個工具類幫助解決】
-
float 有限 離散 舍入誤差 大約 接近但是不等於
- 最好完全避免使用浮點數進行比較
一個例子 float f =0.1f //0.1 double d=1./10d //0.1 System.out.println(f==b); ====》false float n1=2132132132123213211f; float n2=n1+1; System.out.println(n1==n2); ====》true
-
-
字元擴充套件 製表符 String空間
-
//強制資料型別轉換 char c1='a'; char c2='中'; System.out.println(c1); System.out.println((int)c1); System.out.println(c2); System.out.println((int)c2); //所有的字元本質還是數字 //編碼問題 Unicode 2位元組 65535 Excel 只有65536=2十六次方 //U0000 UFFFF char c3='\u0061'; System.out.println(c3);//a //轉義字元 \t製表符 \n換行 System.out.println("Hello\tWorld"); //String的空間指向問題 (物件,記憶體級別) String sa=new String("HelloWorld"); String sb=new String("HelloWorld"); System.out.println(sa==sb); //false String sc="HelloWorld"; String sd="HelloWorld"; System.out.println(sc==sd); //true //布林值擴充套件 boolean flag=true; if (flag==true){} if (flag){}//表示相同的含義 老手 //Less is more 程式碼需要精簡易讀
-
-
3.型別轉換
-
由於java是強型別語言,所以要進行有些運算到時候,需要用到型別轉換。
-
低====高
byte,short,char,–>int,–>long,–>float,–>double
-
//強制轉換=====》(型別)變數名 高--低 int i=128; byte b= (byte) i; //【範圍只有127到-128,造成了記憶體溢位】 System.out.println(b);//[結果為-128????] 自動轉換=====》 低--高
-
注意:
/*注意: 1.不能對布林值進行轉換 2.不能把物件型別轉換為不相干的型別 3.在把高容量轉換到低容量的時候,強制轉換 4.轉換的時候可能存在記憶體溢位,或者精度的問題 */ System.out.println((int)23.7);//===23 System.out.println((int)-45.89f);//===45精度丟失 char c='a'; int d=c+1; System.out.println(d);//===98 System.out.println((char)d);//=====b //操作大數的時候注意操作溢位問題 //JDK7新特性,數字之間可以用下劃線分割 int money=10_0000_0000; int years=20; int total=money*years; System.out.println(total);//====-1474836480【記憶體溢位】 long total2=money*years;//預設是int,轉換之前已經存在問題 //解決方案 long total3=money*((long)years);//先把一個數轉換為long System.out.println(total3);//====20000000000【正確執行,首先將運算部分轉換】
-
4.變數常量
-
變數
-
是什麼:程式中的最基本儲存單元,其要素包括變數名,變數型別個作用域。
-
注意:
- 每個變數都有型別,型別可以是基本型別,也可以是引用型別。
- 變數名必須是合法的識別符號
- 變數宣告是一條完整的語句,因此每一個宣告必須以分號結束。
-
變數型別:
-
public class Demo03 { //例項變數 :從屬於物件【通過類去使用】 String name; int age; //類變數 static 隨著類一起出現一起消失 static double salary=2500;//不用New就可以呼叫 //main方法 public static void main(String[] args) { //呼叫例項物件 //變數型別 變數名字 Demo03 demo03=new Demo03(); System.out.println(demo03.name);//===null 輸出了預設值 System.out.println(demo03.age);//====0 輸出了預設值 //【布林值 預設是false】 //【除了基本型別,其他的預設值都是null】 //類變數 static System.out.println(salary); } public void add(){ //區域性變數 必須宣告和初始化值 int i=10; System.out.println(i);//在add方法中有效 } }
-
-
-
常量(Constant)
-
是什麼:是一個特殊的變數,初始化(initialize)後不能夠被改變。
-
常量名一般使用大寫字元
-
public class Demo04 { static final double PI=3.14; static final double PI02=3.14; //static是修飾符,不存在先後順序 public static void main(String[] args) { System.out.println(PI); System.out.println(PI02); } }
-
-
-
變數的命名規範
- 所有變數,產量見名知意。
- 類成員變數:首字母小寫和駝峰原則:daySalary
- 區域性變數:首字母小寫和駝峰原則
- 常量:大寫字母與下劃線:AMX_VALUE
- 類名:首字母大寫和駝峰原則:Man,GoodMan
- 方法名:首字母小寫和駝峰原則:run(),runRun()
5.運算子(Operator)
-
算術運算子:+,-,*,/,%,++,–
-
public class Demo05 { //關於++與—— public static void main(String[] args) { //關於自增自減的 一元運算子(只需要一個數字) int a=3; int b=a++;//a+1 執行完程式碼後,先給b賦值,再自增 System.out.println(a); //a=a+1 4 int c=++a; //執行完這段程式碼前,先自增,再給b賦值 System.out.println(a);// 5 System.out.println(b);// 3 System.out.println(c);// 5 //冪運算 2^3 Math工具類 double pow=Math.pow(2,3); System.out.println(pow);//====>8 很多冪運算使用工具類來用 } }
-
-
賦值運算子:=
-
關係運算子:>,<,<=,>=,!=
-
邏輯運算子:&&,||,!
-
//與 或 非 boolean a=false; boolean b=true; System.out.println("a&&b:"+(a&&b)); //a&&b:false//邏輯與運算,兩個變數都為真,結果才為true System.out.println("a||b:"+(a||b)); //a||b:true//邏輯或運算,兩個變數有一個為真,結果才是true System.out.println("!a&&b:"+(!a&&b)); //!a&&b:true //如果為真則是假 //短路運算 int c=5; boolean d=(c<4)&&(c++<4); System.out.println(d);// false System.out.println(c);// 5 表明當與運算中出現false時則停止執行
-
-
位運算子:&,|,^,~,>>,<<,>>>
-
//位運算子 /* * A= 0011 1100 * B= 0000 1101 * A&B = 0000 1100 除非對應位都是1,否則為0 且運算 * A|B = 0011 1101 對應位上只要有1,輸出為1 或運算 * A^B = 0011 0001 相同位上相同為0,不同為一 非運算 * ~B = 1111 0010 對應位上反轉 取反 * * 關於左移右移 << >> * 面試題 * 2*8 怎麼算最快? * */ System.out.println(2<<3);//====16 //解釋面試題 /* * 0000 0000 0 * 0000 0001 1 * 0000 0010 2 * 0000 0011 3 * 0000 0100 4 * 。。。。。。。 * 0000 0100 8 * 0000 1000 16 * 左移右移相當於進行2的次方運算, 硬體底層操作效率極高 */
-
-
條件運算子: ?,:
-
// x ? y : z 如果x為真則結果為y,否則為z 精簡程式碼並且加快執行速度 int score =40; String type = score<60 ?"不及格":"及格"; System.out.println(type);
-
-
擴充套件運算子: +=,-=,*=,/=s
-
//擴充套件運算子 int f=10; int g=20; f+=g; //f=f+g f-=g; //f=f-g System.out.println(f); //*******字串連線符 + ,String 後面全部定義為字串************* System.out.println(""+f+g);//===1020 System.out.println(f+g+"");//===30
-
6.包機制,JavaDoc
-
包機制 Package
-
本質:就是一個資料夾
-
一般利用公司域名倒置作為包名
- www.baidu.com=====> 包名:com.baidu.com
-
使用import可以完成導包工作
-
import java.util.Date; //呼叫時間工具 import java.util.*; //*表示萬用字元
-
-
-
JavaDoc
-
是什麼:用來生成自己的API文件
-
引數資訊:
- @author:作者
- @version:版本號
- @since:指明需要的Jdk版本
- @param:引數名
- @return:返回值情況
- @throws:異常丟擲情況
-
演示
-
package javaDoc; /** * @author Ziyang * @version 1.0 * @since 1.8 */ public class javaDoc { String name; /** * @param name * @return * @throws Exception */ public String test(String name)throws Exception{ return name; } }
如何檢視自己的API文件
E:\javaAndSql\Idea\javaSE2020.10.3_Demo01\javaSE01_基本資料型別\src\javaDoc>javadoc -encdoing UTF-8 -charset UTF-8 javaDoc.java 找到自己的類的位置===》使用smd開啟類,使用javadoc javaDoc.java就可以編輯自己的Index頁,開啟index頁面檢視自己的API文件
-
-
相關文章
- 從零開始——GO語言基礎語法Go
- 從零開始學 Python 之基礎語法Python
- JavaSE的基礎語法Java
- JavaSE之java基礎語法Java
- Python打牢基礎,從19個語法開始!Python
- 從零開始React:一檔 React環境搭建,語法規則,基礎使用React
- JavaSE基礎語法3-陣列Java陣列
- 從零開始的PHP開發逆天路——語法PHP
- Re:從零開始的Linux之路(基礎篇)Linux
- Python開發打牢基礎,從這些個語法開始!Python
- 【PYTHON】語法基礎 | 開始使用PythonPython
- Python基礎語法:開始你的Python之旅Python
- 二、javase基礎知識總結(從檔案 I/O開始)Java
- 從零開始學AB測試:基礎篇
- 從零開始-基礎流程圖編輯庫流程圖
- 從零開始搭建React應用(一)——基礎搭建React
- 從零開始學Linux運維難嗎?Linux基礎Linux運維
- 資料分析從零開始實戰 | 基礎篇(三)
- 資料分析從零開始實戰 | 基礎篇(二)
- 資料分析從零開始實戰 | 基礎篇(一)
- 零基礎如何快速掌握Python基礎語法?Python
- 從0開始寫一個基於Flutter的開源中國客戶端(2)——Dart語法基礎Flutter客戶端Dart
- 從零開始學C語言pdfC語言
- 從零開始學黑蘋果-基礎安裝教程(10.11.6)蘋果
- 從零開始
- 【Python零基礎】19天從零開始學Python——第一天Python
- 0基礎應該怎麼學Linux?Linux如何從零開始?Linux
- Java匹馬行天下之JavaSE核心技術——Java基礎語法Java
- 從零開始教你用vuepress搭建自己的部落格(1)—基礎篇Vue
- 不怕從零開始,只怕從未開始!
- 0基礎學GUI,先從基礎開始1GUI
- 「基礎搭建」從零開始,基於 Webpack5 搭建一個 Vue-CliWebVue
- 零基礎學Java-基礎語法篇day1Java
- 零基礎入門Python教程4節與基礎語法Python
- 對於零基礎的朋友,新媒體運營從哪開始入手?
- 演算法基礎 --- 從swap開始演算法
- Java基礎-語法基礎Java
- 從零開始,開發一個 Web Office 套件(11):支援中文輸入法(or 其它使用輸入法的語言)Web套件