什么是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語言支持如下運算符