Java第一課
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第一課