package com.atguigu.base_type;
import org.junit.Test;
public class MybaseTypeTest {
@Test
public void testCharacter(){
//判断
System.out.println(Character.isLetter('A'));//是否为字母字符
System.out.println(Character.isDigit('1'));//是否为数字字符
System.out.println(Character.isLetterOrDigit('A'));//是否为字母或数字字符
System.out.println(Character.isUpperCase('A'));//是否为大写字母
System.out.println(Character.isLowerCase('A'));//是否为小写字母
System.out.println(Character.isWhitespace(' '));//是否为空白字符
}
@Test
public void testIntegetrAndLong(){
Integer a = 12345;
Integer b = 127;
//比较大小
System.out.println(a.equals(b));
System.out.println(Integer.max(a,b));
System.out.println(Integer.min(a,b));
System.out.println(Integer.sum(a,b));
System.out.println(Integer.compare(a,b));//a-b大于0返回1,a=b返回0,否则返回-1
System.out.println(a.compareTo(b));//a-b大于0返回1,a=b返回0,否则返回-1。内部调用了compare
System.out.println(a.compareUnsigned(a,b));//与compareTo不同的是,会将负数转成32位整数再比较
System.out.println("========================================");
System.out.println(Integer.decode("10")+"======"+Integer.decode("010")+"======"+Integer.decode("0x10"));
System.out.println(Integer.valueOf("10")+"======"+Integer.valueOf("010"));
System.out.println(Integer.parseInt("10")+"======"+Integer.parseInt("010"));
System.out.println(Integer.getInteger(System.getProperty("java.lang.String")));
System.out.println("========================================");
System.out.println(a.toString());
System.out.println(Integer.toString(10,3));//第二个参数为进制
System.out.println(Integer.hashCode(a));
System.out.println(a.hashCode());
System.out.println("========================================");
//进制转换
System.out.println(Integer.toBinaryString(a));//转为二进制
System.out.println(Integer.toOctalString(a));//转为八进制
System.out.println(Integer.toHexString(a));//转为十六进制
System.out.println("========================================");
//二进制计算
System.out.println(Integer.reverse(a));//将该数值的32位二进制表示看作一个整体进行高低位翻转
System.out.println(Integer.reverseBytes(a));//将该数值的32位二进制表示每八位(一个字节)看作一个整体进行高低位翻转
System.out.println(Integer.rotateLeft(8,3));//左移
System.out.println(Integer.rotateRight(8,3));//右移
System.out.println("========================================");
//基础类型转换:小类型到大类型自动转换,大类型到小类型前置转换(可能丢失精度)
System.out.println(a.bytevalue());//相当于(byte)a,将a转为byte类型,只保留最低八位。
System.out.println(a.shortValue());//相当于(short)a,将a转为short类型,只保留最十六位。
System.out.println(a.intValue());//相当于(int)a,将a转为int类型,只保留最低三十二位。
System.out.println(a.longValue());//相当于long s=a,将a转为long类型。
System.out.println(a.floatValue());//相当于float s=a,将a转为float类型。
System.out.println(a.doublevalue());//相当于double s=a,将a转为double类型。
System.out.println("========================================");
//正负性
System.out.println(Integer.signum(a));//a为负,返回-1;为零,返回0;为正,返回1.用来判断int值得正负性
}
@Test
public void testFloatAndDouble(){
Float a = 12.345f;
Float b = 127.8f;
//比较大小
System.out.println(a.equals(b));
System.out.println(Float.max(a,b));
System.out.println(Float.min(a,b));
System.out.println(Float.sum(a,b));
System.out.println(Float.compare(a,b));//a-b大于0返回1,a=b返回0,否则返回-1
System.out.println(a.compareTo(b));//a-b大于0返回1,a=b返回0,否则返回-1。内部调用了compare
System.out.println("========================================");
//字符串、数值转换。
System.out.println(Float.valueOf("10")+"======"+Float.valueOf("010"));
System.out.println(Float.parseFloat("10")+"======"+Float.parseFloat("010"));
System.out.println(a.toString());
System.out.println(Float.toString(a));//没有第二个参数
System.out.println(Float.hashCode(a));
System.out.println(a.hashCode());
System.out.println("========================================");
//判断
System.out.println(Float.isFinite(1.0f));//如果参数是有限浮点值,则返回true;如果是NAN或无穷,返回false
System.out.println(Float.isInfinite(1.0f));//如果参数是无穷,返回true;否则返回false
System.out.println(Float.isNaN(a));//如果参数非float浮点数,发怒ifalse,否则true.
System.out.println("=======================================");
//基础类型转换:小类型到大类型自动转换,大类型到小类型前置转换(可能丢失精度)
System.out.println(a.bytevalue());//相当于(byte)a,将a转为byte类型,只保留最低八位。
System.out.println(a.shortValue());//相当于(short)a,将a转为short类型,只保留最十六位。
System.out.println(a.intValue());//相当于(int)a,将a转为int类型,只保留最低三十二位。
System.out.println(a.longValue());//相当于long s=a,将a转为long类型。
System.out.println(a.floatValue());//相当于float s=a,将a转为float类型。
System.out.println(a.doublevalue());//相当于double s=a,将a转为double类型。
System.out.println("========================================");
//进制转换
System.out.println(Float.toHexString(a));//转为十六进制
}
}