什麼是IDE(整合開發環境,例如:Eclipse,IDEA)
- IDEA介紹
- IDEA官網:https://www.jetbrains.com
- psvm(public static void main(String[] args))
- sout(輸出快捷鍵)
Java基礎語法
註釋
-
平時我們編寫程式碼,在程式碼量比較少的時候每門還可以看懂自己寫的,但是當專案結構一旦複雜起來罵我們就需要用到註釋了
-
知識並不會被執行,是給我們寫程式碼的人看的.
-
書寫註釋是一個非常好的習慣。
-
平時寫程式碼一定要注意規範。
-
Java中註釋有三種
- 單行註釋 // 可以註釋一行文字
- 多行註釋 /* */可以註釋一段文字
- 文件註釋/** */
1.原先我還知道我在寫什麼,但是現在,只有上帝知道了。
這條註釋是優秀數學家Karl Weierstrass寫的。我唯一想問的是,他前後指的是不是同一個數學難題。如果是,那又是為什麼,我真的非常想知道。
2.謹將我的所有程式碼所有工作獻給我的妻子Darlene,因為她養育了我和我們的三個孩子,以及會一條人來瘋的狗。
3.等我喝醉了再來修復。
4.此處有危險,快撤退。
5.這程式碼很爛,我不說你也知道了。如果你能搞定它,那叫我傻瓜我也應。
6.程式碼有問題別找我!雖然是我寫的,但是它們自己長歪了。
7.0不能做除數,沒辦法我只好用一個非常相近的數值代替:0=0.00000000000001
8.如果你看到這個,那麼說明你現在已經在負責我以前的專案了。我感到非常抱歉。願上帝保佑你。
9.如果這些程式碼有用,那它們是Paul DiLascia寫的,如果沒用,那我就不知道是誰寫的了。
識別符號
-
關鍵字
-
所有的識別符號都應該以字母(AZ或小寫az),美元符號($),或者下劃線(_)開始
-
首字元之後可以是字母,美元符,下劃線或者是數字組合
-
不能使用關鍵子作為變數名或者方法名
-
識別符號是大小寫敏感的
-
合法的識別符號舉例:age,¥salary,_value ,_1_value
-
非法的識別符號 :123abd,-salary,#abc
-
可以使用中文命名,但是一般不這樣,也不建議使用拼音很low
資料型別
- 強資料型別
- 要求變數的使用要嚴格符合規定,所有變數都必須先定義後,帶能使用
- 弱型別語言
-Java的資料型別分為兩大類- 基本型別(primitive type)
- 引用型別(reference type)
變數
- 變數是什麼:就是可以變化的量
- Java是一種強型別語言,每個變數都必須宣告其型別
- Java變數是程式中最基本的儲存單元,其要素包括變數名,便倆個型別和作用域
- 注意事項
- 每個變數都有型別,可以是基本型別,也可以是引用型別
- 邊框名必須是合法分識別符號
- 變數宣告是一條完整的語句,因此每一個宣告都必須以分號結束。
int num1 = 10;//最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L;//long型別要在數字湖面加L
//小數
float num5 = 50.1F;
double num6 = 3.141592653;
//字元
char name1 = 'A';
//字串,String不是關鍵字,是類
String name2 = "韓鎖";
//布林值
boolean flag = true;
//boolean flag = false;
什麼是位元組
-
位(bit):是計算機內部資料儲存的最小單位,11001100是一個八位二進位制數。
-
位元組(byte):是計算機中資料處理的最小單位,習慣上用大寫B來表示。
-
1B(byte,位元組) = 8bit(位)
-
字元:是指計算機中使用的字母,數字和符號
-
1bit表示一位,
-
1Byte表示一個位元組 1B=8b
-
1024B = 1KB
-
1024KB = 1M
-
1024M = 1G
public class demo03 {
public static void main(String[] args) {
//進位制
int i = 10;
int i2 = 010;//八進位制 0
int i3 = 0x10;//十六進位制 0x 0~9 A~F
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("========================");
//===============================================
//浮點數擴充? 銀行業務怎麼表示?錢
//BigDecimal 數學工具類
//===============================================
//float 有限 離散 舍入誤差 大約 接近但不等於
//double
//最好完全使用浮點數進行比較
//最好完全使用浮點數進行比較
//最好完全使用浮點數進行比較
float f = 0.1f; //0.1
double d = 1.0/10;//0.1
System.out.println(f==d);//false
float d1 = 23132131f;
float d2 = d1 + 1;
System.out.println(d1==d2);
//===================================================
//字元擴充
//===================================================
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位元組 0-65536 Excel 2*16 = 65536
//表 97 = a 65 = A
//U0000 UFFFF
char c3 = '\u0061';
System.out.println(c3);
//轉義字元
//\t製表符
//\n換行符
System.out.println("Hello\tWorld");
//==================================================
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb);//f
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd);//t
//物件 從記憶體分析
//布林值擴充套件
boolean flag = true;
if (flag==true);//新手
if (flag){}//老手
//Less is More! 程式碼要精簡易讀
}
}
型別轉換
- Java是強型別語言,所以在進行有些運算的時候,需要用到型別轉換
低 --------------------------------->高
byte,short,char->int->long->float->double
- 運算中,不同型別的書籍先轉化為同一型別,但後進行運算
- 強制型別轉換
//強制轉換 (型別)變數名
public static void main(String[] args) {
int i = 128;
byte b = (byte)i;//記憶體溢位
System.out.println(i);
System.out.println(b);
}
-
記憶體溢位問題 byte就到127
-
自動型別轉換
public static void main(String[] args) {
int i = 128;
double b = i;
System.out.println(i);
System.out.println(b);
}
/*
*注意點:
* 1.不能對bool值進行轉換
* 2.不能把物件型別轉換為不相干的型別,
* 3.再把高容量轉換為低容量的額時候,強制轉換
* 4.轉換的時候可能存在記憶體溢位,或者精度問題
*
*/
System.out.println("============================");
System.out.println((int)23.7);
System.out.println((int)-45.66f);
char c = 'a';
int d = c+1;
System.out.println(d);
System.out.println((char)d);
public static void main(String[] args) {
//操作比較大的數的時候,注意溢位問題
//jdk7新特性,數字之間可以用下劃線分割
int money = 10_0000_0000;
System.out.println(money);
int years = 20;
int total = money*years;//-1474836480,計算的時候溢位了
long total2 = money*years;//預設是int,轉換之前已經存在問題
long total3 = money*((long)years);//先把一個數轉換為long
System.out.println(total3);
//L l 在使用中用L(大寫)
}
變數
- 變數是什麼:就是可以變化的量;
- Java是一種強型別語言,每個變數都必須宣告其型別。
- Java變數是程式中最基本的儲存單元,其要素包括變數名,變數型別和作用域。
type varName [=value] [{,vaeName[=value]}];
//資料型別 變數名 = 值;可以使用都喊隔開來宣告多個同型別變數。
- 注意事項:
- 每個變數都有型別,型別可以是基本型別,也可以是引用型別
- 變數名必須是合法的識別符號
- 變數宣告是一條完整的語句,因此每一個宣告都必須以分號結束
變數作用域
- 類變數
- 例項變數
- 區域性變數
public class Demo08 {
//類變數 static
static double salary = 2500;
//屬性:變數
//例項變數,從屬於物件;如果不自行初始化,這個型別的預設值 0 0.0
//布林值:預設是false
//除了基本型別,其餘的預設值都是null
String name ;
int age;
//main方法
public static void main(String[] args) {
//區域性變數,必須宣告和初始化值
int i = 10;
System.out.println(i);
//變數型別 變數名字 == new Demo08();
Demo08 demo08 = new Demo08();
System.out.println(demo08.age);
System.out.println(demo08.name);
//類變數 static
System.out.println(salary);
}
//其他方法
public void add(){
}
}
常量
- 常量(Constant):初始化(initiallize)後不能再改變值!不會變動的值。
- 所謂常量可以理解成一種特殊的變數,他的值被設定後,在程式執行的過程中不允許被改變
final 常量名 = 值;
final 都變了 PI = 3.14;
- 常量名一般使用大寫字元。
變數的命名規範
- 所有變數,方法,類名:見命知意
- 類成員變數:首字母小寫和駝峰原則:monthSa lastNamelary,除了第一個單詞以外,後面的單詞首字母大寫 lastName
- 區域性變數:首字母小寫和駝峰原則
- 常量:大寫字母和下劃線:MAX_VALUE
- 類名:首字母大寫和駝峰原則:Man,GoodMan
- 方法名:首字母小寫和駝峰規:run(),runRun()
運算子
- Java語言支援如下運算子