public class OverloadDemo {
static void f(float d) {
System.out.println("the argument is float");
} static void f(double d) {
System.out.println("the argument is double");
}
static void f(float d, double s) {
System.out.println("the argument is float and double");
}
static void f(double d, float s) {
System.out.println("the argument is double and float");
}
public static void main(String[] args) {
OverloadDemo.f(2); // 如果第一个方法的参数可以赋值给第二个参数,而第二个不能赋值给,就用第一个方法
// OverloadDemo.f(2, 3); 编译出错,有二义性
}
}
[size=medium]执行结果:
the argument is float
因为float型变量可以赋值给double,反之却不成立,故调用红色部分的函数[/size]
[size=medium][b]2,计算int,byte,double,float的最大值和最小值[/b][/size]
import java.util.StringTokenizer;
public class MaxVaules {
private static final byte MAX_BYTE = Byte.MAX_VALUE;
private static final byte MIN_BYTE = Byte.MIN_VALUE;
private static final int MAX_INT = Integer.MAX_VALUE;
private static final int MIN_INT = Integer.MIN_VALUE;
private static final double MAX_DOUBLE = Double.MAX_VALUE;
private static final double MIN_DOUBLE = Double.MIN_VALUE;
private static final float MAX_FLOAT = Float.MAX_VALUE;
private static final float MIN_FLOAT = Float.MIN_VALUE;
public static void main(String[] args) {
System.out.println(MaxVaules.MAX_BYTE); // 127
System.out.println(MaxVaules.MIN_BYTE);// -128
System.out.println(MaxVaules.MAX_INT); //
System.out.println(MaxVaules.MIN_INT);
System.out.println(MaxVaules.MAX_FLOAT); // 3.4*10^38
System.out.println(MaxVaules.MAX_FLOAT);
System.out.println(MaxVaules.MAX_DOUBLE);// 1.79*10^308
System.out.println(MaxVaules.MIN_DOUBLE);
String a = new String("hello");
String b = "hello";
System.out.println(a == b); // false
float f = 4.2f;
Float ff = new Float(4.2);
System.out.println(f == ff); // true,自动拆箱
int x = 19;
int y = x << 1; // 相当于乘以2,内存紧张时可用移位操作
System.out.println(y);
y = x >> 1; // 除以2
System.out.println(y);
// String,StringBuffer,StringTokenizer
String story = "A long time ago";
StringTokenizer st = new StringTokenizer(story); // 没有指定分隔符,用默认的空格为分隔符,多个空格算一个
while (st.hasMoreElements())
System.out.println(st.nextToken());
}
}
结果如下:
127
-128
2147483647
-2147483648
3.4028235E38
3.4028235E38
1.7976931348623157E308
4.9E-324
false
true
38
9
A
long
time
ago