標籤:har 轉換 oat 浮點型 += 事先 自動 過程 關係運算
Java 基礎應用編程—— 變數和運算子
1、Java程式結構
資料類型:確定要儲存在記憶體中的資料的類型。
變數:是儲存資料的基本單元
2、變數的概念
變數是指在程式的運行過程中隨時可以發生變化的量
變數是程式中資料的臨時存放場所
3、資料類型及分類
基礎資料型別 (Elementary Data Type):4類8種基礎資料型別 (Elementary Data Type)
引用資料類型
整數類型 — byte、short、int預設、long
Java中整型的三種表示形式
十進位整數:0 ~ 9,註:第一位不能是0
十六進位數:0 ~ 9 A ~ F, 註:必須以0x或0X開頭
例如: 0X8A 0x12
八進位整數:0 ~ 7,註:必須以0開頭
例如: 0123 012
八進位整數:0 ~ 7,註:必須以0開頭
浮點數類型 — float 、double
與整數類型相似,Java浮點數類型有固定的表數範圍和欄位長度,不受平台影響
字元類型 — char
單個字元用 char 類型表示,通常取值可為:
英文字母、數字、逸出序列、特殊字元等
Java中的字元佔兩個位元組(16位),因此可用十六進位編碼形式表示
Java中的字元類型的值通常用單引號( ? ‘ )括起來
? ‘A‘ -> 0x0041
? ‘中‘-> 0x4e2d
? 在編碼中: ‘0‘~‘9‘, ‘a‘~‘z‘, ‘A‘~‘Z‘都是連續編碼的!
? ‘0‘與‘\u0000‘不是同一個字元
? 最小值:0, 最大值:65535 = 2^16-1
– 字元字面量使用單引號為定界符號:
? ‘中‘ 是整數常量!
逸出字元
4、資料類型的轉換規則
兩種資料類型轉換方式:
自動類型轉換(隱式類型轉換):有多種類型的資料混合運算時,系統首先自動的將所有資料轉換成容量最大的那一種資料類型,然後進行計算
自動轉換規則
boolean類型不可以轉換為其他的資料類型
整型、字元型、浮點型的資料在混合運算中相互轉換,轉換時遵守以下原則
byte、short、char之間不會相互轉換,他們三者在計算時首先會轉換為int類型
強制類型轉換(顯示類型轉換)
容量大的資料類型轉換為容量小的資料類型時,需要使用強制類型轉換,其格式如下:
例如: byte a;
int b;
a = (byte) b;
在強制類型轉換過程中,源類型的值可能大於目標類型,因此可能造成精度降低或溢出
5、運算子(操作符)
是一種特殊的符號,用以表示資料的運算、賦值和比較
運算子的種類:
算術運算子: +、﹣、*、/、%、++、 --
賦值運算子:=、+=、﹣=、*=、/=、%=
比較子:>、<、>=、 <=、= =、!=、instanceof
邏輯運算子:!、&&、||
位元運算符: &、|、^ 、 ~、>>、<<、>>>
條件運算子: ? :
條件運算子很獨特,因為它是用三個運算元組成運算式的三元運算子。它可以替代某種類型的 if-else 語句
算術運算子
自增運算: ++, --
? i++, 後++, 先將i的值作為整個表達的值, 然後將i增加1.
? ++i, 先++, 先將i增加1, 然後將i的值作為整個表達的值.
? 如:
– int a = 1; int b=1;
– b = a++;//
? 1 a++運算式的值是1
? 2 執行a=a+1
? 3 執行賦值運算, 將運算式的值1賦值給b, 即b=1
賦值運算子
關係運算子(比較子)
邏輯運算子(布林運算子)
邏輯運算子兩端的運算元必須是布爾類型的值
位元運算(只對byte、short、char、int、long有效)
左移和右移運算相當於實現整數乘以或除以2的n次方
邏輯與或同按位與或是有一定區別的:
– 相同點是:都能參與邏輯運算,按位與或完全可以代替邏輯與或;
– 區別是:按位與或可以參與位元運算,邏輯與或只能參與邏輯運算,邏輯與或可以“短路”,按位與或不能“短路”。
? 短路運算
– 作用運算子:邏輯與&&,邏輯或||
如(1):邏輯運算式:a>b && c>d
假設a>b 為false,c>d為true,那麼整個運算式結果為false;
假設a>b 為false,c>d為false,那麼整個運算式結果還為false;
可見,a>b的結果已經決定了整個運算式的結果,而後面的c>d並不影響運算式的結果,可以說後半部分被“ 短路”了。
如(2):邏輯運算式: a>b || c>d
假設a>b 為true,那麼後半部分運算式將被“短路”;
三元運算子
– 所謂三元運算子,是對三個運算式進行的集中比較,運算式1的結
果為true時,就為第二個運算式,如果為false時,就為第三個表
達式。文法是:
– 運算式1?運算式2:運算式3
– 通過下面代碼說明三元運算子。
運算子的優先順序
- 運算式通常由多個運算子組成。優先順序的規則決定每個運算子在任何給定運算式中的計算順序
6、運算式
運算式的值和類型
對錶達式中運算元進行運算得到的結果稱為運算式的值
運算式值的資料類型即為運算式的類型
運算式的運算順序
應按照運算子的優先順序從高到低的順序進行
優先順序相同的運算子按照事先約定的結合方向進行
運算式的結合方向和優先順序
java第二章 變數和運算子