标签:
java是一种强类型语言,类型是在编译时就确定,可以分为基本类型和引用类型。
基本类型的转换
总的来说存储空间小的类型转到存储空间大的类型是自动转换的,想象一下,酒杯的水倒入一个空的汽油桶里,是肯定能完全接受的。转换顺序是 byte < short(char) < int < long < float < double;
而存储空间大的类型转到存储空间小的类型是强制转换的,但可能会损失精度。
需要在值前面加上括号。(目标类型)变量类型,eg:
1 public class test { 2 3 public static void main(String[] args){ 4 float fou = 11.22123210f; 5 long i = (long) fou; 6 System.out.println(i);//输出11 7 8 long i1 = 122321; 9 float fou1 = i1; 10 System.out.println(fou1);//输出122321.0 11 12 } 13 }
基本类型和引用类型区别
基本类型是保存在栈中,赋值是直接分配一个新的空间,直接存储包含的值。而引用类型存储的是地址,在堆中分配内存用来存储具体值。在引用类型相互赋值时,赋的值也是地址,他们本质上其实用的同一个内容。因此,基本类型有较快的存取速度,而引用的存取速度较慢。
为什么负数要比整数多个1?
首先,机器使用的是补码,用btye举例,他只有8位,范围【11111111,01111111】,第一位是符号位,所以看上去是【-127,127】。
但是在这个补码的范围里,存在两个相同的数10000000,00000000;于是,就把 10000000表示为-128;
标签:
原文地址:http://www.cnblogs.com/lzq1065763582/p/4626688.html