### java語言的特點
1、java語言是簡單的
2、java語言是面向對象的
3、java語言是跨平臺(操作系統)的[即一次編譯,到處運行]
4、java是高性能的
### 運行java程序要安裝和配置jdk
### jdk是什么?
1、jdk全稱java?dvevlopment?kit中文java開發工具包
2、jdk是sun公司開發的
3、jdk包括jre(java?runtime?envirnment)java運行環境、一堆java工具和java基礎的類庫(類共3600左右,常用類在150個左右)
4、可以在www.sun.com下載
開發安裝jdk,用戶執行需要安裝jre
### 配置JDK
添加環境變量即可
windows下配置jdk
在計算機屬性--高級設置--環境變量--添加PATH將JDK所在路徑指定即可。多個環境變量設置時需要用;號進行隔開
### java程序運行關系
1、java源文件(.java文件)
2、java編譯器即javac.exe
3、java字節碼文件(.class文件)
4、由解釋執行器即(java.exe)將字節碼文件加載到java虛擬器(jvm)
5、字節碼文件(.class)就會在java虛擬機中執行
### 為什么有變量
不論是使用哪種高級程序語言編寫程序,變量都是其程序的基本組成單位。java中的基本數據類型的定義與c/c++中大體一致。
### java基本語法---基本數據類型
java基本數據類型?四大類型
整數類型、小數(浮點)類型、布爾類型、字符類型
### 整數類型
可以表示一個整數,常用的整數類型有:byte,short,int,long
主要區別是?數據大小范圍,請大家看一個小案例。
byte??占用內存?一個字節?范圍:-128至127
short?占用內存?兩個字節?范圍:-32768至32767
int???占用內存?四個字節?范圍:-2147483648至2147483647
long??占用內存?八個字節?范圍:-?至?
### 小數(浮點)類型
可以表示一個小數,常用的小數(浮點)類型有:
float(單精度),double(雙精度)
float?占用內存?四個字節?范圍:3.4E-38至3.4E+38?只能提供7位有效數字
double占用內存?八個字節?范圍:1.7E-308至1.7E+308?可提供16位有效數字
### 布爾類型
可以表示"真"或者"假",類型是boolean
比如:
~~~
boolean spBool=true; //給變量spBool定義為boolean型并賦值為真
~~~
### 字符類型
可以表示?單個字符,字符類型是char。char是兩個字節(可以存放漢字)
多個字符我們稱為字符串,在java中String這種數據類型表示,但是String不是基本數據類型,而是類,類是復合數據類型。
結論:在java中,對char進行運算的時候,直接當做ascii碼對應的整數對待。
### java基本語法--定義變量,初始化,賦值
### 定義變量
#### 1、什么是定義變量?
~~~
int a; 這就是定義了一個變量,變量名是a
float haha;這也定義了一個變量,表示一個float類型的小數,變量名是haha
~~~
#### 2、初始化變量
在定義變量的時候,就給值
~~~
int a=45;這就是初始化變量a
~~~
#### 3、給變量賦值
比如你先定義了變量:int?tt;
然后再給值tt=780;??->這就是給變量賦值
?
?
### java基本語法--基本數據類型轉換
### 自動轉換
~~~
int a=1.2; 錯誤
double b=3; 正確
~~~
結論:數據類型可以自動的從低精度-->高精度。高精度不能轉為低精度。
byte小于<short小于<int小于<long小于<float小于<double
在java中的小數默認是double數據類型,整數默認是int數據類型
float賦值時要在值后加f
long賦值時要在值后加l
?
### 強制轉換
如何把高精度轉成低精度?
~~~
int a=(int)1.2;
~~~
計算過程中的轉換
~~~
int a=3;
int b=a+3.4;(錯誤)
~~~
結論:當一個整數和一個double運算的時候,運算結果會向高精度轉換
?
?
### java?基本語法--運算符
### java中常用的算術運算符是:+加、-減、*乘、/除、%取模
其實%運算可以得到兩個數的余數。
?
### 算術運算符:++自加、--自減。
~~~
int a=56;
int b=a++;
System.out.println(b); 56
System.out.println(a); 57
~~~
int?b=++a;相當于a=a+1再將b=a;
int?b=a++;相當于b=a再將a=a+1。
?
### 算術運算符:+=左加、-=左減、/=左除、%=左取模
?
### 關系運算符
#### 1、==等于;2、>大于;3、<小于;4、>=大于等于;5、<=小于等于;6、!=不等于
?
### 運算符--邏輯運算符
用于判斷邏輯關系的運算符
#### 1、&&與;2、||或;3、!非
&&與的運算關系,真真為真,其它都為假。
||或的運算關系,假假為假,其它都為真。
!非的運算關系,真取假,假取真
?
?
### java基本語法----三大流程控制
### 順序控制
聽其名而知其意,讓程序可以順序的執行。
### 分支控制
讓程序有選擇的執行,分支控制有三種:
#### 1、?單分支;2、雙分支;3、多分支a
#### 1、單分支語法:
~~~
if(條件表達式){
語句;
}
~~~
#### 2、雙分支語法:
~~~
if(條件表達式){
語句;
}else{
語句;
}
~~~
#### 3.1、多分支語法:
~~~
if(條件表達式){
語句;
}else if(條件表達式){
語句;
}else if(條件表達式){
語句;
}else{
語句;
}
~~~
#### 3.2、多分支語法:
~~~
switch(條件表達式){ //***條件表達式數據類型,就和case常量表達式一致,否則就會報錯。
case 常量1:
語句1;
//語句1至break中相當于{}可以加入相應程序代碼
break; //break,表示跳出switch語句
case 常量2:
語句1;
break;
...
case 常量n:
語句n;
break;
default:
語句;
break;
}
~~~
*****:switch中的可用數據類型主要是:允許byte,short,int,char,enum等
PS:SE1.7以后支持String類型
***switch分支語句不支持判斷類型即boolean類型
?
#### switch補充:
~~~
//輸出0 1 2
//int i = 0;
//輸出default 0 1 2
//如果將default移至case2
//輸出default
int i = 5;
//PS:如果在switch中能找到入口(case 1,case 2)這樣的東西,那么在沒有break語句中斷的情況下會一直執行到switch塊完
switch(i){
default :
System.out.print("default ");
case 0 :
System.out.print("0 ");
case 1 :
System.out.print("1 ");
case 2 :
System.out.print("2 ");
}
~~~
?
### 循環控制
聽其名而知其意,就是讓你的代碼可以循環的執行。
循環控制有三種
#### 1、for循環?語法:
~~~
for(循環初值;循環條件;步長){
語句; //循環體
}
~~~
#### 2、while循環?語法:
~~~
while(循環條件){
語句; //循環體
}
~~~
特別說明:while循環是先判斷在執行語句。
?
#### 3、do?while循環?語法:
~~~
do{
語句; //循環體
}while(循環條件);
~~~
特別說明:do?while循環是先執行,再判斷。
-------------參考《韓順平.循序漸進學.java.從入門到精通》
-------------參考《JDK_API_1_6_zh_CN》
Java學習筆記--導航[http://blog.csdn.net/q547550831/article/details/49819641](http://blog.csdn.net/q547550831/article/details/49819641)