變數 資料型別 表示式

2021-08-09 22:57:17 字數 3422 閱讀 6951

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...