1. 變數 [變數的定義=重點]
① 概念:計算中一塊記憶體空間,是資料儲存的單元.[理解]
② 組成:資料型別 變數名 資料.
③ 宣告:指定變數的資料型別和變數名:
資料型別 變數名;
賦值:通過變數名對變數進行賦值:
變數名=值;
④ 其他的定義語法:
a. 宣告的同時賦值:
資料型別 變數名=值; //int a=12;
b. 同時宣告多個相同資料型別的變數:
資料型別 變數名1,變數名2=值,變數名;
//int a,b=12,c=13,d;
2. 資料型別[重點]
① 基本資料型別(原始資料型別/簡單資料型別):8種
整數型別: byte 1b -128~127
short 2b
int 4b
long 8b
注意:long字面值後面需要加l或是l(建議用l).
字面值:程式中可以給乙個資料型別的變數賦的值.
小數型別:(浮點型別):
單精度浮點數: float 4b 7位精確位
注意:字面值後面必須加f或是f.
雙精度浮點數: double 8b 16位精確位
注意:字面值需要加d或是d,也可以不加.
浮點數採用科學計數法儲存,存數的是近似值
字元型別: char 2b 採用unicode編碼(十六進製制)->萬國碼
字面值: a.以''引起來的單個字元 例如:char c= 'a';
char c4='中';
b.以整數的形式儲存:
char c2=65;
c.以uncode編碼形式儲存:
char c3='\u0041';
轉義字元:
① \' :單引號
② \" : 雙引號
③ \\ : 反斜槓
④ \n : 換行
⑤ \t : 水平跳格
注意:以上符號都是英文符號.
布林型別: boolean 字面值:只有 true 和 false
② 引用資料型別(物件資料型別):
類/陣列/介面等都是物件資料型別.
string :字串,用""引起來乙個或是多個字元.
3. 資料型別轉換[重點]
① 自動型別提公升:
a. 資料型別相互相容
b. 目標型別 大於 源資料型別:
源資料型別 變數名1=值;
目標資料型別 變數名2=變數名1;
兩個資料型別的變數相互賦值的規則:
i. byte--->short--->int--->long--->float--->double
ii.char--->int--->long--->float--->double
int i=10;
long l=i;
面試題目:
① char c3=65; ② int a2=65;
正確 char c4=a2; //編譯報錯
② 強制型別轉換
a.資料型別相互相容
b.目標型別小於源資料型別(目標型別的資料儲存範圍小於源型別):
源資料型別 變數名1=值;
目標資料型別 變數名2=(目標資料型別)變數名1;
c. 強轉的結果:
i. 資料合適,資料完整: int i=12;
byte b=(byte)i;//12
ii. 整數不合適,資料被截斷: int i=257;
byte b=(byte)i;//1
iii. 小數強轉為整數,資料被截斷(精度丟失)
double d=12.8;
int i=(int)d;//12
iv. 布林型別的資料不參與強轉
③ 當兩個數值或是變數參與運算時,如果兩個變數的資料型別不一致,
轉換規則如下:
a. 如果有乙個double,結果就是double;
b. 如果沒有double,有乙個是float,結果就是float;
c. 如果沒有double,float,有乙個是long ,結果就是long;
d. 其餘的情況(沒有double/float/long),結果都是int 型別.
4. 表示式:由變數/字面值/運算子組成的乙個式子,會有結果產生.
[理解即可]
5. 運算子:
① 算數運算子:+ - *(乘法) /(除法) %(取模/取餘數)
注意:參與運算的數值或是變數,+兩端如果有乙個是string型別,
表示式的結果一定是string型別.
② 賦值運算子: = += -= *= /= %=
注意:+=不存在自動型別提公升.
③ ++(自加) --(自減) --->一元運算子 (開發重點是a++的應用)
a++:先使用a原有的資料,再將a加1. (面試難點,不是開發重點)
++a:先將a加1,再使用a的資料.
④ 關係運算子
== : 等於
> : 大於
>= : 大於等於
< : 小於
<= : 小於等於
!= : 不等於
注意:用關係運算子連線的表示式結果是true或是false,所以這類的
表示式稱為布林表示式.
⑤ 邏輯運算子
&& : 邏輯與,只有當兩邊的布林表示式結果都是true,結果才為true.
如果有乙個結果false,表示式的額結果就是false.
|| : 邏輯或,兩邊有乙個結果為true,表示式的結果就是true, 只有當兩邊同時為false,表示式的結果才為false.!!
! : 邏輯非,對布林表示式的結果取反.
面試題目:
&&和&的比較?
&&:短路運算子,邏輯與.
&: 非短路運算子,與.
|| 和 | 的比較?
⑥ 條件運算子(三目運算子)(了解)
布林表示式 ? 表示式1:表示式2;
執行原理:如果布林表示式的結果為true,執行表示式1,否則執行表示式2.
面試題目:
① byte b1=3;
b1=b1+1;
system.out.println(b1);
分析以上**編譯是否通過?解釋原因或是給出結果.
編譯不通過.b1+1結果型別是int型別
② byte b2=3;
b2+=1;
system.out.println(b2);
分析以上**編譯是否通過?解釋原因或是給出結果.
編譯通過,4. +=沒有自動型別提公升
變數和表示式 簡單的資料型別
簡單的資料型別就是組成應用程式中最基本的部件型別。例如數值和布林值 true或false 幾個簡單的資料型別還可以組成比較複雜的型別。大多數簡單型別都是儲存數值的。而且不止一種。數值型別過多的原因是在計算機記憶體中,把數字作為一系列的0和1來儲存的機制。對於整數值,用一定的位。如果超過這個位就不能儲...
資料型別和表示式
一 整型資料儲存格式 1 整形資料在記憶體中是以補碼形式儲存的。2 整數的原碼,反碼,補碼相同,符號位是0,其餘各位表示數值。3 負數的原碼,反碼和補碼不同。原碼 符號位為1,其餘各位表示數值的絕對值。反碼 符號位為1,其餘各位對原碼取反。補碼 反碼末位加1。上面說的都是有符號的整數,而無符號整數不...
資料型別和表示式(c )
main.cpp 資料型別與表示式 created by mac on 15 2 16.include int main int argc,const char argv 三個數的排序 using namespace std void sortthree int x,int y,int z else...