Java基礎小結(數實值型別轉換規則)
一 數實值型別轉換規則
數值型資料進行運算時,如果運算元的類型不同或運算元的類型均低於int型,則
會進行自動類型轉換處理,具體規則如下:
1)如果兩個運算元中有一個是double型,則系統先將另一個運算元的值轉換為double
型,然後再進行運算,否則
2)如果兩個運算元中有一個是float型,則系統先將另一個運算元的值轉換為float
型,然後再進行運算,否則
3)如果兩個運算元中有一個是long型,則系統先將另一個運算元的值轉換為long
型,然後再進行運算,否則
4)兩個運算元的值都將被轉換為int型
5)如果只有一個運算元(例如進行"~"位元運算時)且其類型低於int型時,則將該運算元的值轉換為int型
簡單歸結為:
1) byte,short,char->int->long->float->double
2) byte,short,char之前不會互相轉換,他們三者在計算時首先會轉換為int類型
注意:Java中可以將int型數值常量直接賦值給相應低級的byte,short,char型變數,
而不需要進行強制類型轉換,只要不超出變數的數值範圍.
二 布爾運算
& 邏輯與,|邏輯或,&&短路與 || 短路或
&& 和||可以實現"短路":當其根據第一個運算元的值已經能夠確定整個運算式的結果時,
將跳出對第二個運算元值的計算,直接得出最終結果.如:在計算運算式"a && b"時,
如果a的結果為false,已經可以確定"與"的運算結果只能為false,於是不再計算運算元b的值,
而直接得出最終結果為false
三 流程式控制制語句break和continue的區別
1. break語句的作用是終止所在的switch語句或迴圈語句的運行,在迴圈語句中break語句的使用格式可分為兩種:
break; //終止其所在的(內層)單層迴圈語句的運行
break <標籤>; //在多層嵌套迴圈中,終止標籤標記的外層迴圈的運行
2. continue語句的作用是結束所在的迴圈語句的本次運行,即跳過其後的迴圈體
語句,開始下一次迴圈.continue兩種使用格式:
continue; //跳過其所在的(內層)單層迴圈的本次運行
continue <標籤>; //在多層嵌套迴圈中,跳過標籤標記的外層迴圈的本次運行,
開始下一次運行.
下面給出一個程式,仔細體會下continue的用法
/**
* 輸出100到200之間的素數
* 使用continue語句跳過嵌套迴圈
*/
package com.javase;
/**
* @author johnston678
*
* @version 2009-03-06
*/
public class PrimeNumber {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int n = 0;
outer:
for (int i=101; i<200; i+=2) { //外層迴圈
for (int j=2; j<i; j++) { //內層迴圈
if (i % j == 0)
continue outer; //不能使用"break"
}
System.out.print(i + "/t");
n++;
if (n < 6)
continue;
System.out.println(); //輸出六個資料後換行
n = 0;
}
}
}
本篇文章來源於 :劉志猛部落格 原文連結:http://www.liuzm.com/article/java/0900525.htm