上了3次JAVA课,发现很多很细节的问题和技巧,都记了下来,今天下午没有什么事情,研究一下~
1.JAVA源程序中直接出现的整数被解释器看作int型变量,小数被看作double型变量。'x'被看作char型变
量,"x"被看作String型实例。
可以使用以下代码中的操作判断对象的类型:
class c
{
public static void main(String[] args)
{
System.out.println("123".getClass().isInstance("456"));//true
System.out.println("123" instanceof String);//true
}
}
2.强制类型转换和隐式类型转换:
float a;
double b;
b=3.14f;
不会报错。隐式类型转换
float a;
double b;
a=3.14;
会报错,丢失精度。
float a;
double b;
a=(float)3.14;
不会报错。强制类型转换
float a;
double b;
a=3.14f;
不会报错。
3.switch语句中的变量必须为int,short,或者char类型。
以下代码不能被编译,因为b不是int short 或者 char类型。
class c
{
public static void main(String[] args)
{
String a1=new String ("123");
String a2=new String ("234");
String b=a1;
switch(b)
{
case a1:
System.out.println("1");break;
case a2:
System.out.println("2");break;
default:
System.out.println("none");break;
}
}
}
注意:default语句,如果后边没有跟break;那么必须放在条件的最后。不然可能会先检测到default。
5.运算符运算的结果通常是int 或者 float.除非运算数的精度比较高,那么结果也会随之升高。
6.以下代码可以输出true:(以后研究)
class c
{
public static void main(String[] args)
{
double a=0.5;
int b=1;
System.out.println(b==a+a);
}
}