JAVA是强类型语言,其变量都需要定义,所以变量由变量名和变量类型组成,如果不赋值的话会有默认初始值,如int的默认初始值为0。
JAVA变量分为整型,浮点型,字符型,布尔型。
char的范围在0-65535
float m = 1.0f后面要加上f(F),因为系统默认所有小数都是double类型,如果不加f那么1.0与m的类型不匹配,所以我们在1.0后面加上f(F)把该数字声明成float类型,这样系统就不会报错了。
double x = 1.0
m =(float)x
x为double型,m为float型如果要加x的值赋值给m那么一定要将x强制转换成float类型。
如果double和float都无法达到想要的精度,可以使用BigDecimal类。
byte a = 10;
int b = 100;
a = (byte)b;
a是byte型,b是整型,将b赋值给a需要将b强制转换成byte型。
char name = 'M';
char name2 = '\n';
char name4 = '\u0000';
char与short一样都是16位,但char只能存放一个字符,char不单单可以放字符还可以放制表符、换行符等。也可以直接输入Unicode码。
int na = 22723;
char naChar = (char)na;
System.out.println(naChar);
这段代码输入结果为'壃'
首先将22723复制给na,然后na复制给naChar但naChar的类型为char型,为了保持一直我们将na强制转换成char型,此时char根据自身的Unicode编码规则将其转换成对应的字符’壃’。
int x = 46;默认10进制
int y = 0x2e;十六进制
int z = 056;八进制
int b =0b10110;二进制
double a = 3.14e2;科学计数法
short num1 = 1;
short num2 = 2;
short total = num1 + num2; //系统会报错当小于int型的类型进行计算时系统会将他们转成int类型计算
short total = short(num1 + num2); //应该这样写
int numInt = 2147483647;
long numLong = numInt + 1; //错误系统溢出,输出值为-2147483648(原来的最大的值加1就变成最小值了)
long numLong = (long)(numInt +1); //这样写也不对,因为(numInt + 1)已经溢出了。
long numLong = (long)numInt + 1; //只有这样写才对,因为当计算时系统里有大于int类型时系统自动将数值转换成最大类型。