単純な関数リロード,intなどの数値範囲

2823 ワード

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);  , 
	}

}

実行結果:the argument is float float float型変数はdoubleに付与できるが、逆に成立しないため、赤い部分の関数を呼び出す
2,int,byte,double,floatの最大値と最小値を計算する

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