hyperjava |
|
|||
日歷
統計
導航留言簿文章檔案搜索最新評論
|
當一個java算術表達式中包含多個基本類型的值時,整個算術表達式的數據類型將發生自動提升。Java定義如下的自動提升規則:
1. 所有byte型、short型和char型將被提升到int型。 2. 整個算術表達式的數據類型自動提升到與表達式中最高等級操作數同樣的類型。操作數的等級排列如下圖所示,位于箭頭右邊類型的等級高于位于箭頭左邊類型的等級。 下面程序示范了一個典型的錯誤: ![]() ![]() ![]() ![]() ![]() ![]() 下面代碼是表達式類型自動提升的正確示例代碼(程序清單同上): ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 必須指出的,表達式的類型將嚴格保持和表達式中最高等級操作數相同的類型,下面代碼中兩個int整數進行除法運算,即使無法除盡,也將得到一個int結果(程序清單同上): ![]() ![]() ![]() ![]() ![]() ![]() 如果表達式中包含了字符串,則又是另一番情形了:因為把加號(+)放在字符串和基本類型值之間時,這個加號是一個字符串連接運算符,而不是進行加法運算。看如下代碼: ![]() ![]() ![]() ![]() |
![]() |
|
Copyright © hyperjava | Powered by: 博客園 模板提供:滬江博客 |