1. java中怎麼判斷變數是不是int類型的
首先java中沒有typeof關鍵字,可以通過反射機制來完成,給個思路:
import java.lang.reflect.Field;
public class test {
byte i = 1;
int j = i;
int w ;
/**
* @param args
*/
public static void main(String[] args) {
try {
Field[] a = test.class.getDeclaredFields();
for(int i = 0; i < a.length; i++){
if(a[i].getType().getName().equals("int"))
System.out.println( a[i].getName());
}
if(a[i].getType().getName().equals("byte"))
System.out.println( a[i].getName());
}
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
2. Java涓鎬庝箞鐭ラ亾涓涓鍙橀噺鐨勭被鍨嬶紵
澶嶅埗涓嬮潰浠g爜錛
class Test{
public static void main(String[] args){
int i=1; //int綾誨瀷鍙橀噺
System.out.println(getType(i)); //鎵撳嵃鍙橀噺綾誨瀷涓篿nt
}
public static String getType(Object o){ //鑾峰彇鍙橀噺綾誨瀷鏂規硶
return o.getClass().toString(); //浣跨敤int綾誨瀷鐨刧etClass()鏂規硶
}
}
鎵╁睍璧勬枡錛
java8縐嶅熀鏈鏁版嵁綾誨瀷 (4縐嶆暣鍨+2縐嶆誕鐐瑰瀷+1縐嶅瓧絎﹀瀷+1縐嶉昏緫鍨)
4縐嶆暣鍨嬶細
byte-1 瀛楄妭錛-128~127 錛
short -2 瀛楄妭錛-32768~32767 錛
int-4 瀛楄妭錛-2^31~2^31-1錛
long-8 瀛楄妭錛-2^63~2^63-11234銆
2縐嶆誕鐐瑰瀷
float-4 瀛楄妭-32浣岻EEE 754鍗曠簿搴(鏈夋晥浣嶆暟6~7浣)錛
double-8 瀛楄妭-64浣岻EEE 754鍙岀簿搴(鏈夋晥浣嶆暟15浣)銆
1縐嶅瓧絎﹀瀷
char-2 瀛楄妭-鏁翠釜Unicode瀛楃﹂泦銆
1縐嶉昏緫鍨
boolean-1 瀛楄妭-true鎴栬協alse銆
3. java布爾類型變數bool,判斷 true ==bool與bool==true區別
從運算結果上來說呢,和樓上說的是一樣,沒有什麼區別。
在這里有一個編程的習慣,在進行布爾值的運算的時候,
如果把常量寫在「==」的左面,當你由於某種不可預知的失誤,把「==」寫成了「=」,那麼編譯器會報錯,因為常量是不能被賦值的,這是我們這些初學者很容易犯得錯誤;
如果把變數寫在「==」的左面,當你由於某種不可預知的失誤,把「==」寫成了「=」,那麼編譯器不會報錯,因為編譯器會認為這是一個賦值運算,而不是布爾運算。這個簡單的錯誤可能會導致嚴重的後果,造成測試檢查錯誤時費很大的力氣也找不到錯在哪裡。
我想這就是判斷 true ==bool與bool==true的區別吧!
在用quals方法判斷兩個字元串時,
如「abc」.equals(str);//str是個String變數
採用這種寫法,就不會產生空指針異常。