public class TestVar{
public static void mian(String[] args){
// byte类型范围为[-128,127],即[-2^7,2^7-1]
byte num1 = 15;
System.out.println(num1);
// int类型范围为[-2147483648,2147483647],2^31
int num2 = 200000;
System.out.println(num2);
// short类型范围为[-32768,32767],2^15
short num3 = 30000;
System.out.println(num3);
long num4 = 12345678910L;
System.out.println(num4);
}
}
浮点类型:float double
public class TestFloat{
public static void main(String[] args){
// 浮点类型数字支持十进制和科学计数法两种输入方式
double num1 = 3.14;
System.out.println(num1);
double num2 = 314E-2; //科学计数法,E或e均可,表示314*(10^-2)
System.out.println(num2)
// 与整型同理,赋值等号右边的数是先默认为double类型,超过float长度需在末尾加字母F或f
float num3 = 3.14159263F;
System.out.println(num3);
// double类型数值末尾可以加D或d,一般省略不写
double num4 = 3.14159263;
System.out.println(num4);
}
}
注意:最好不要进行浮点型比较
public class TestVar{
public static void main(String[] args){
float num1 = 0.3f;
double num2 = 0.3;
System.out.println(num1 == num2);
}
}
字符类型:char
字符不是字符串,而是单个指单个的字符,字符与字符串不同之处在于字符使用单引号包括起来的,而字符串是双引号。另外,字符的长度是两个字节左右。
public class TestVar{
public static void main(String[] args){
// 单个字母、中文、单引号括起来的数字、符号都是字符
char ch1 = 'a', ch2 = 'A', ch3 = '中', ch4 = '4', ch5 = '?', ch6 = " ";
System.out.println(ch1);
System.out.println(ch2);
System.out.println(ch3);
System.out.println(ch4);
System.out.println(ch6);
System.out.println(ch5);
System.out.println("-------------------");
// 转义符也属于字符
char ch7 = 'n';
System.out.println("aaa"+ch7+"bbb"); // 换行
char ch8 = 'b';
System.out.println("aaa"+ch8+"bbb"); // 退格一个字节,输出内容为aabbb
char ch9 = 't';
System.out.println("aaa"+ch9+"bbb"); // 视前文字节数填充空格共同构成一个缩进距离(8位)
System.out.println("aaa"+'r'+"bbb"); // 退格至行首,输出内容为bbb
// ""用于原样输出反斜杠后面的内容,',",\
System.out.println("'D'"); // 输出内容为'D',"同理,\用于文件路径
}
}
拓展:字符在计算机底层是按照utf-16编码规则存储的,所以当字符与数字进行运算时,字符会默认按其ASCII码值(utf-16兼容ASCII)参与运算并返回运算后的数值结果
public class TestVar{
char ch1 = 'A';
System.out.println(ch1); // 输出A
System.out.println(ch1-20); // 输出45,A的ASCII码值为65
// 字符与数字相互转换
int num1 = (int)ch1;
System.out.print(num1); // 输出65
char ch2 = 20013;
System.out.println(ch2); // 输出汉字 中
int num2 = 120;
char ch3 = (char)num2;
System.out.println(ch3); // 输出小写字母 x
}
布尔类型:boolean
public class TestVar{
public static void main(String[] args){
boolean flag1 = true;
System.out.println(flag1);
boolean flag2 = false;
System.out.println(flag2);
boolean flag3 = 5==9;
System.out.println(flag3);
}
}



