java學習(一)

目錄html

java基礎

  1. 編寫Java程序java

    • java代碼必須駐留在一個類中
    • java源文件名必須和類名相同。
    • java源代碼文件擴展名必須爲.java
    • 全部的Java 程序由public static void main(String []args)方法開始執行。
  2. 編譯java程序數組

  3. 運行java程序3d

    • java 類名(不包含class擴展名)

基本語法

java標識符

  • 標識符必須不是java關鍵字,不能是一個布爾字面值,不能是空字面值
  • 標識符必須在其做用域內是惟一的。
  • 標識符是java字母和數字的一個長度沒有限制的序列。
  • 大小寫敏感:標識符Hello與標識符hello是不一樣

全部的標識符都應該以字母(A-Z或者a-z),美圓符(\()、或者下劃線(_)開始, 以後能夠是字母(A-Z或者a-z),美圓符(\))、下劃線(_)或數字的任何字符組合。
合法標識符舉例:row_count、$salary、_x三、x二、__1_value;非法標識符舉例:2x、-salary指針

java變量

變量類型

  • 局部變量
  • 類變量(靜態變量)
  • 成員變量(非靜態變量)

變量聲明

byte x;

        int rowCount;

        char;

        int a,b 等價於 int a; int b;

        char x = 'd';

變量的命名慣例code

  • 變量名應以小寫字母開頭且混合大小寫;htm

  • 後續的單詞都以一個大寫的字母開頭,不該以_或$開頭對象

java常量

  • java中常量,一旦賦值以後,其值不能修改。賦值時候不能超過類型的最大值。

  • 常量名一般都是大寫的

  • 單詞之間用下劃線隔開

Java 基本數據類型

內置數據類型

  • byte:

    byte 數據類型是8位、有符號的,以二進制補碼錶示的整數;

    最小值是 -128(-2^7);

    最大值是 127(2^7-1);

    默認值是 0;

    byte 類型用在大型數組中節約空間,主要代替整數,由於 byte 變量佔用的空間只有 int 類型的四分之一;

    例子:byte a = 100,byte b = -50。

  • short:

    short 數據類型是 16 位、有符號的以二進制補碼錶示的整數

    最小值是 -32768(-2^15);

    最大值是 32767(2^15 - 1);

    Short 數據類型也能夠像 byte 那樣節省空間。一個short變量是int型變量所佔空間的二分之一;

    默認值是 0;

    例子:short s = 1000,short r = -20000。
  • int:

    int 數據類型是32位、有符號的以二進制補碼錶示的整數;
    
     最小值是 -2,147,483,648(-2^31);
    
     最大值是 2,147,483,647(2^31 - 1);
    
     通常地整型變量默認爲 int 類型;
    
     默認值是 0 ;
    
     例子:int a = 100000, int b = -200000。
  • long:

    long 數據類型是 64 位、有符號的以二進制補碼錶示的整數;
    
      最小值是 -9,223,372,036,854,775,808(-2^63);
    
      最大值是 9,223,372,036,854,775,807(2^63 -1);
    
      這種類型主要使用在須要比較大整數的系統上;
    
      默認值是 0L;
    
      例子: long a = 100000L,Long b = -200000L。
    
      **注:**"L"理論上不分大小寫,可是若寫成"l"容易與數字"1"混淆,不容易分辯。因此最好大寫。
  • float:

    float 數據類型是單精度、32位、符合IEEE 754標準的浮點數;
    
      float 在儲存大型浮點數組的時候可節省內存空間;
    
      默認值是 0.0f;
    
      浮點數不能用來表示精確的值,如貨幣;
    
      例子:float f1 = 234.5f。
  • double:

    double 數據類型是雙精度、64 位、符合IEEE 754標準的浮點數;
    
      浮點數的默認類型爲double類型;
    
      double類型一樣不能表示精確的值,如貨幣;
    
      默認值是 0.0d;
    
      例子:double d1 = 123.4。
  • boolean:

    boolean數據類型表示一位的信息;
    
      只有兩個取值:true 和 false;
    
      這種類型只做爲一種標誌來記錄 true/false 狀況;
    
      默認值是 false;
    
      例子:boolean one = true。
  • char:

    char類型是一個單一的 16 位 Unicode 字符;
    
      最小值是 \u0000(即爲0);
    
      最大值是 \uffff(即爲65,535);
    
      char 數據類型能夠儲存任何字符;
    
      例子:char letter = 'A';。

    注: 整型、實型(常量)、字符型數據能夠混合運算。運算中,不一樣類型的數據先轉化爲同一類型,而後進行運算。轉換從低級到高級。

引用數據類型

  • 在Java中,引用類型的變量很是相似於C/C++的指針。引用類型指向一個對象,指向對象的變量是引用變量。這些變量在聲明時被指定爲一個特定的類型,好比 Employee、Puppy 等。變量一旦聲明後,類型就不能被改變了。
  • 對象、數組都是引用數據類型。
  • 全部引用類型的默認值都是null。
  • 一個引用變量能夠用來引用任何與之兼容的類型。
  • 例子:Site site = new Site("Runoob")。

Java類型轉換

  • 自動類型轉換(加寬轉換)

    必須知足轉換前的數據類型的位數要低於轉換後的數據類型

  • 強制類型轉換(收窄轉換)
  • 隱含強制類型轉換

注:

  1. 不能對boolean類型進行類型轉換。
  2. 不能把對象類型轉換成不相關類的對象。
  3. 在把容量大的類型轉換爲容量小的類型時必須使用強制類型轉換。
  4. 轉換過程當中可能致使溢出或損失精度。
  5. 浮點數到整數的轉換是經過捨棄小數獲得,而不是四捨五入

java註釋

public class HelloWorld {
/* 這是第一個Java程序
 *它將打印Hello World
 * 這是一個多行註釋的示例
 */
public static void main(String []args){
   // 這是單行註釋的示例
   /* 這個也是單行註釋的示例 */
   System.out.println("Hello World"); 
}

}

操做符

  • 自增操做符
  • 邏輯取反操做符
  • 位取反操做符
  • 算術操做符

java語句

  • 條件語句

  • 循壞語句

    • while循環
    • do...while循環

while循環只要布爾表達式爲 true,循環就會一直執行下去。若是不知足條件,則不能進入循環。

但有時候咱們須要即便不知足條件,也至少執行一次。

do…while 循環和 while 循環類似,不一樣的是,do…while 循環至少會執行一次。

for循環

`for(初始化; 布爾表達式; 更新) {
//代碼語句
}`

`for(聲明語句 : 表達式)
{
//代碼句子
}`
  • break語句

    • break 主要用在循環語句或者 switch 語句中,用來跳出整個語句塊。

    • break 跳出最裏層的循環,而且繼續執行該循環下面的語句。

    • continue 適用於任何循環控制結構中。做用是讓程序馬上跳轉到下一次循環的迭代。

    • 在 for 循環中,continue 語句使程序當即跳轉到更新語句。

    • 在 while 或者 do…while 循環中,程序當即跳轉到布爾表達式的判斷語句。
  • switch case語句

    • switch 語句中的變量類型能夠是: byte、short、int 或者 char。從 Java SE 7 開始,switch 支持字符串 String 類型了,同時 case 標籤必須爲字符串常量或字面量。

    • switch 語句能夠擁有多個 case 語句。每一個 case 後面跟一個要比較的值和冒號。

    • case 語句中的值的數據類型必須與變量的數據類型相同,並且只能是常量或者字面常量。

    • 當變量的值與 case 語句的值相等時,那麼 case 語句以後的語句開始執行,直到 break 語句出現纔會跳出 switch 語句。

    • 當遇到 break 語句時,switch 語句終止。程序跳轉到 switch 語句後面的語句執行。case 語句沒必要需要包含 break 語句。若是沒有 break 語句出現,程序會繼續執行下一條 case 語句,直到出現 break 語句。

    • switch 語句能夠包含一個 default 分支,該分支通常是 switch 語句的最後一個分支(能夠在任何位置,但建議在最後一個)。default 在沒有 case 語句的值和變量值相等的時候執行。default 分支不須要 break 語句。

    • 若是 case 語句塊中沒有 break 語句時,JVM 並不會順序輸出每個 case 對應的返回值,而是繼續匹配,匹配不成功則返回默認 case。

測試反思

強制類型轉換問題


s+1:屬於int類型

因此程序報錯不能將類型int轉換爲類型short,必須強制轉換

a=(short)(a+1);


運算符+=隱藏了一個強制類型轉換

public class Test {

    public static void main(String[] args) {
        short a=1;
        byte b=1;
        a=(short)(a+1);
        b+=1;
        System.out.println(a);
        System.out.println(b);
    }
}

輸出結果都爲2.

類型最大值

System.out.print( "Integer.MIN_VALUE == -Integer.MAX_VALUE:"+(Integer.MIN_VALUE == -Integer.MAX_VALUE ));

輸出爲FALSE

相關文章
相關標籤/搜索