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变量
采用这种写法,就不会产生空指针异常。