1. 程式人生 > >Java第一課

Java第一課

封裝 pat 編譯 字符型 載器 默認 短路運算 保留 println

1.java的兩個核心機制

  java虛擬機---(以字節碼為指令的CPU)---*.class
java編譯器-->字節碼-->類加載器進行驗證-->虛擬機運行

  垃圾回收機制(GC)

2.java編程語言(一門純面向對象, 解釋型語言)的特點:
    1, 面向對象
       1, 封裝
       2, 繼承
       3, 多態
2, 安全性
3, 跨平臺

3.配置環境變量:
java_home
classpath
path

4.public class 類名 {
public static void main(String[] args) {
System.out.println(111);
}
}
需要註意的地方:
類名要與文件名保持一致(完全一樣)

5.標識符:
凡是需要你自己命名的地方, 都叫標識符
java編程嚴格區分大小寫
標識符的命名不能與關鍵字重復
保留字:goto const等

6.規則:
標識符由字母(大小寫), _, $, 並且不能以數字開頭
代碼規範: 駝峰命名法
String empName
getElementById

7.四類八種:
整數型
   byte 2的8次方(256) -127至128此為取值區間,一共是256個數 內存中占1個字節
   short 2的16次方 內存中占2個字節
   int 2的32次方 內存中占4個字節
   long 2的64次方 內存中占8個字節
浮點型
   float----有效數字7位(單精度浮點型) 內存中占4個字節
   double----有效數字是16位(雙精度) 內存中占8個字節
布爾型
   boolean(只有兩個值, true, false) 內存中占1個字節
字符型
   char(單引號) 內存中占2個字節

  

字符串       String(雙引號)

    變量的賦值 char c = ‘a‘; char c = ‘字‘; char c = 98; // ASII a char c = ‘\n‘; char c = ‘\u0061‘; unicode

        定義一個整型變量默認為 long l = 123456; long l = 88888888888L; 需要在後面加L,大寫的L,要根據其長度來確定;

類型轉換:
double float long int char short byte
char short byte進行運算的時候, 取值默認為int

8. ^(異或運算符)

  例子:

    x是二進制數0101
    y是二進制數1011
    則結果為x^y=1110
    0^0=0;0^1=1;1^0=1;1^1=0
      只有在兩個比較的位不同時其結果是1,否則結果為0
    即“相同為0,不同為1”。

9.false&&true/false:...(短路運算符) 第一個表達式為false,則第二個表達式就不會執行

    

int a=5; int b=3; a < b && ++b ? "1" : "2"

++b:先自增再賦值

b++:先賦值再自增

System.out.println(b);

輸出的值為3,&&為短路運算符,a<b不成立,後面的不會執行.

位運算符:>>(右移) <<(左移) >>>(無符號右移) 右移,左邊空出的位以0填充

5-->101 5轉換成二進制 0000 0101

5<<2 左移兩位 0001 0100

-5>>>2

負數轉換為二進制的步驟:1.求出5的二進制

          2.後取反,即1變0;0變1; 得出1111 1010

           3.反碼加1稱為補碼 1111 1011

右移為 0011 1110

例子:

a<<4 指把a的各二進位向左移動4位。如a=00000011(十進制3),左移4位後為00110000(十進制48);

左移就是: 丟棄最高位,0補最低位;

     a=15,a>>2 表示把00001111右移為00000011(十進制3);

   對於有符號數,在右移時,符號位將隨同移動。當為正數時, 最高位補0,而為負數時,符號位為1;

3+5+"a"--->35a

字符串連接運算符:+(整個表達式中只要有一個是字符串, 那整個結果都是字符串)

   需要註意的地方: 在輸出的時候, 只要有一個參數是字符串, 整個輸出結果都是字符串

    三元運算符(表達式)(三目運算符):布爾值?值1:值2

進制轉換

技術分享

技術分享

技術分享

技術分享

Java第一課