第二天學習Java

一、複習:

計算機語言的發展迭代史

第一代:機器語言
第二代:彙編語言
第三代:高級語言

面向過程:C,Pascal、Fortran
面向對象:Java,JS,Python,Scala,。。。

Java語言的特點:

面向對象

兩個要素:類、對象
三個特徵:封裝、繼承、多態

健壯性
去除了C語言中的指針;自動的垃圾回收機制(仍然會出現內存溢出、內存泄漏)
跨平臺性
write once,run anywhere
歸功於JVM

JDK的下載安裝

下載:官網
安裝軟件的路徑中不能包含空格
path環境變量:windows操作系統執行命令所搜尋的路徑
不看資料,手動編寫類helloworld程序
class test{
public static void main(String[] args){
  System.out.println("This is a test");
}
}

二、關鍵字和保留字

關鍵字

定義:被Java語言賦予了特殊含義,用作專門用途的的字符串(單詞)
特點:關鍵字中所有字母都爲小寫
官方地址: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

保留字

現有Java版本尚未使用,但以後版本可能會作爲關鍵字使用、自己命名標誌符時要避免使用這些保留字
goto,const

三、標識符

Java對各種變量、方法和類等要素命名時使用的字符序列稱爲標誌符
技巧:凡是自己可以起名字的地方都叫標識符

標識符定義規則

1、由26個英文字母大小寫,0-9,_或$組成
2、數字不可以開頭
3、不可以使用關鍵字和保留字,但能包含關鍵字和保留字
4、Java中嚴格區分大小寫,長度無限制
5、標識符不能包含空格
如果不符合以上規則,編譯不通過。

標識符命名規範

命名規範並不是必須遵守的,一般建議遵守,否則不利於區分。
1、包名:多單詞組成時,所有字母都小寫,xxxyyyzzz
2、類名、接口名:多單詞組成,所有單詞首字母大寫,XxxYyyZzz
3、變量名、方法名:多單詞組成時,第一個單詞首字母小寫,第二個單詞開始每個單詞首字母大寫,xxxYyyZzz
4、常量名:所有字母都大寫,多單詞時,每個單詞用下劃線連接,XXX_YYY_ZZZ
5、命名時,儘量有意義,做到見名知意
6、Java採用unicode字符集,因此標誌符也可以使用漢字聲明,但是不建議使用。
例子:編寫一個變量並輸出
class OutPut{
public static void main(String[] args){
  int testNumber=8;
  System.out.println(testNumber);
}
}
注:println輸出變量時,不需要用“”。

四、變量

變量的概念:內存中的一個存儲區域;該區域的數據可以在同一類型範圍內不斷變化;變量是程序中最基本的存儲單元,包含變量類型、變量名和存儲的值
變量的作用:用於在內存中保存數據。
使用變量的注意事項:
1、先聲明和賦值,後使用(不聲明或不賦值程序會報錯);
2、使用變量名來訪問這塊區域的數據;
3、變量的作用域爲其定義所在的一對{}內;
4、變量只有在其作用域內纔有效;
5、同一個作用域內,不能定義重名的變量。
定義變量格式:
數據類型 變量名 = 變量值;
例如
int myNumber=1001
也可以
int myNumber;
myNumber=1001;

基本數據類型

不同的數據類型,在內存中分配不同大小的內存空間。
數據類型包括基本數據類型(primitive type)和引用數據類型(reference type)。
基本數據類型:數值型(整數類型(byte、short、int、long)、浮點類型(float、double),字符型(char),布爾型(boolean)。
引用數據類型:類(class)、接口(interface)、數組(array[ ])。
java是強類型,JS是弱類型(自動判斷)
整型
byte 1字節=8bit,範圍 -128-127
short 2字節 ,範圍 -32768-32767
int 4字節 ,範圍 -2147483648-2147483647,約21億
long 8字節 ,範圍 -2的63次冪-2的63次冪減1,賦值必須以l或L結尾
bit是計算機中的最小存儲單元,byte是計算機中的基本存儲單元。1個字節8位。
通常定義整型變量爲int。
浮點類型
float 4字節,單精度,尾數可以精確到7位有效數字。很多情況下很難滿足需求。float類型結尾要以f或F結尾
double 8字節,雙精度,精度是float的兩倍,通常採用此類型。
字符型
char 只能是一個字符,賦值時用單引號,可以是英文、中文、日文等;也可以賦值轉意字符例如/n(換行)、/t(製表符)等;可以用unicode編碼方式賦值,例如u0043表示C,這樣的方式很少使用。
字符輸出時如果出現亂碼,可能是存儲Java程序的格式跟JDK輸出格式不一樣,解決辦法爲保存Java代碼時選擇ANSI。
布爾類型:boolean
只能取兩個值之一:true、false
布爾型常在條件判斷、循環結構使用。
爲轉意字符,例如要輸出“”或n時,在前面加轉意字符。
編寫小程序輸出各種數據
class VariableTest{

public static void main(String[] args){
      byte     testByte = -127;
    short     testShort = -30000;
    int     testInt = 6000000;
    long     testLong = 999999999999l;
    float     testFloat = -12.88f;
    double      testDouble = 8888888.8888;
    char     testChar = 'a';
    char      testUnicodeChar = '\u0043';
    boolean  testBoolean = true;
    
    System.out.println(testByte);
    System.out.println(testShort);
    System.out.println(testInt);
    System.out.println(testLong); 
    System.out.println(testFloat);
    System.out.println(testDouble);
    System.out.println(testChar);
    System.out.println(testUnicodeChar);
    System.out.println(testBoolean);
    if(testBoolean){
    System.out.println("你不能參加單身派對");

} else {

    System.out.println("你可以多談談女朋友");

}
}
}

基本數據類型變量間轉換

基本數據類型運算規則(7種基本數據類型,不包含boolean)
1、自動類型提升
當容量小的數據類型變量與容量大的數據類型的容量做運算時,結果自動提升爲容量大的數據類型,這裏的大小指的數據類型的大小。byte、short、char->int->long->float->double。
byte、short、char運算結果(即便相同類型)爲int類型
例子
class Boost{
public static void main(String[] args){
char testChar = 'a';
byte testByte = 10;
int testInt = testChar+testByte;
System.out.println(testInt);
}
}
2、強制類型轉換
強制類型轉換:自動類型提升運算的逆運算
強制轉換需要使用強轉符()。
強制類型轉換採用截斷方式(不是四捨五入),可能會有精度損失。
例子
$ vim Force.java
class Force{
        public static void main(String[] args){
                float testFloat=12.9f;
                int   testInt=(int)testFloat;
                System.out.println(testInt);
}
}
$ javac Force.java 
$ java Force
12

注:整型常量,默認類型爲int型;浮點型常量,默認類型爲double型。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章