7-1
package com.github.hcsp.datatype;
public class MaxNumbers {
public static byte maxByte = Byte.MAX_VALUE;
public static short maxShort = Short.MAX_VALUE;
public static int maxInt = Integer.MAX_VALUE;
public static long maxLong = Long.MAX_VALUE;
public static float maxFloat = Float.MAX_VALUE;
public static double maxDouble = Double.MAX_VALUE;
public static char maxChar = Character.MAX_VALUE;
public static void main(String[] args) {
System.out.println("maxByte=" + maxByte);
System.out.println("maxByte+1=" + (maxByte + 1));
System.out.println("maxShort=" + maxShort);
System.out.println("maxShort+1=" + (maxShort + 1));
System.out.println("maxInt=" + maxInt);
System.out.println("maxInt+1=" + (maxInt + 1));
System.out.println("maxLong=" + maxLong);
System.out.println("maxLong+1=" + (maxLong + 1));
System.out.println("maxFloat=" + maxFloat);
System.out.println("maxFloat+1=" + (maxFloat + 1));
System.out.println("maxDouble=" + maxDouble);
System.out.println("maxDouble+1=" + (maxDouble + 1));
System.out.println("maxChar=" + maxChar);
System.out.println("maxChar+1=" + (maxChar + 1));
}
}
7-2
package com.github.hcsp.datatype;
public class IntegerOverflow {
public static void main(String[] args) {
int 十亿 = 10_0000_0000;
long i = 0;
i = i + 十亿;
System.out.println("i=" + i);
i = i + 十亿;
System.out.println("i=" + i);
i = i + 十亿;
System.out.println("i=" + i);
}
}
7-3
package com.github.hcsp.datatype;
public class Cast {
public static byte int2byte(int i) {
return (byte) i;
}
public static short int2short(int i) {
return (short) i;
}
public static char int2char(int i) {
return (char) i;
}
public static String int2String(int i) {
return Integer.toString(i);
}
public static int string2int(String s) {
return Integer.parseInt(s);
}
public static double string2double(String s) {
return Double.parseDouble(s);
}
public static int Long2int(Long l) {
return l.intValue();
}
public static long double2Long(Double d) {
return d.longValue();
}
}
7-4
package com.github.hcsp.datatype;
public class Main {
public static double divide(int a, int b) {
return 1.0 * a / b;
}
public static void main(String[] args) {
System.out.println("3/2=" + divide(3, 2));
}
}
7-5
package com.github.hcsp.datatype;
public class Main {
public static void main(String[] args) {
System.out.println(doubleEquals(0.1 + 0.2, 0.3));
}
public static boolean doubleEquals(double a, double b) {
return Math.abs(b - a) < 0.00001;
}
}
7-2-1
package com.github.hcsp.datatype;
public class Light {
Boolean on;
public Light(Boolean on) {
this.on = on;
}
public boolean isOn() {
if (this.on == null) {
return false;
}
return on;
}
public Boolean isOnRawValue() {
return on;
}
}
7-2-2
package com.github.hcsp.datatype;
public class Main {
public static void main(String[] args) {
System.out.println(add("123", "456"));
System.out.println(add("123", null));
System.out.println(add(null, null));
}
public static String add(String a, String b) {
String a1;
String b1;
if (a == null) {
a1 = "0";
} else {
a1 = a;
}
if (b == null) {
b1 = "0";
} else {
b1 = b;
}
return String.valueOf(Integer.parseInt(a1) + Integer.parseInt(b1));
}
}
7-3
package com.github.hcsp.datatype;
public class Main {
public static void main(String[] args) {
System.out.println(compare(123, 456));
System.out.println(compare(123, 123));
System.out.println(compare(123, null));
}
public static boolean compare(int a, Integer b) {
if (b == null) {
return false;
}
return a == b;
}
}
7-4
package com.github.hcsp.datatype;
public class Main {
public static void main(String[] args) {
System.out.println(numberEquals("1234", "+1234"));
System.out.println(numberEquals("1234", "1234"));
}
public static boolean numberEquals(String a, String b) {
return Integer.valueOf(a).equals(Integer.valueOf(b));
}
}