一、数据类型的作用是什么?
程序中有很多数据,每一个数据都是有相关类型的,不同数据类型的数据占用空间大小不同。
数据类型的作用是指定JVM在运行程序时应该给该数据分配多大的内存空间。
二、Java中的数据类型分两种:基本数据类型
引用数据类型:类、数组、接口.....
三、关于基本数据类型:
基本数据类型包括四大类八小种:第一类:整数型 byte、short、int、long
第二类:浮点型 float、double
第三类:布尔型 boolean
第四类:字符型 char
四、字符串"abc"不属于基本数据类型,属于 引用数据类型 ,字符属于基本数据类型字符串使用双引号"abc"
字符使用单引号'a'
五、八种基本数据类型各自占用空间大小是多少?
基本数据类型 占用的空间大小【单位:字节】
-------------------------------------------------------------
byte 1
short 2
int 4
long 8
float 4
double 8
boolean 1
char 2
六、计算机在任何情况下都只能识别二进制
现代计算机底层采用交流电的方式,只有两种状态:接通或者断开,计算机只识别1或0
七、什么是二进制
数据的一种表示形式。十进制表示满十进一原则,二进制表示满二进一原则。
十进制
0 1 2 3 4 5 6 7 8 9 10 11 12 13.....
二进制
0 1 10 11 100 101 110 111 1000 1001 .....
0 1 2 3 4 5 6 7 8 9
计算:
.... 2^7 2^6 2^5 2^4 2^3 2^2 2^12^0
.... 128 64 32 16 8 4 2 1
所以97的二级制是:97=1+32+64
.... 0 1 1 0 0 0 0 1
97的二进制是:1100001
7的二级制是:111
8的二级制是:1000
方法二:整除取余
八、字节(byte)
1 byte = 8 bit (1个字节=8个比特位)——1个比特位表示一个二进制位:1或0
1 kb = 1024 byte
九、整数型中的byte占1个字节,也就是8个bit位,那么byte类型的取值范围是什么?
java中的数字类型,数字都是有正负之分的,所以在数字的二进制中,有一个二进制位被称为“符号位”。并且这个“符号位”在所有二进制位的最左边,0表示正数,1表示负数。
byte类型的最大值:011111111
也就是(100000000-1)
这样不好计算,可以换算成int去计算,int是4个字节,所以补上前面的二进制位:
0000000 00000000 00000000 10000000(二进制)
减去1
0000000 00000000 00000000 01111111(二进制)
10000000根据二进制计算方法,就是128(见第7部分)
128-1=127
所以byte的最大值就是127
byte类型的最大值:128-1=127
byte类型的最小值:-128【没太懂,跟原码、反码、补码有关】
补充——不同数据类型的取值范围:
主要记住字节型
类型 取值范围
byte [-128~127]
short [- 32768~32767]
int [-2147483648 ~ 2147483647]
long
float
double
boolean [true , false]
char [0 ~ 65535]
注意: short和char所表示的种类总数是一样的,只不过char可以表示更大的正整数。
因为char没有负数。
关于八种基本数据类型的默认值:
public class DataTest{
static int k = 1000;
//变量还是遵守这个语法:必须先声明,再赋值,才能访问。 //成员变量没有手动赋值系统会默认赋值[局部变量不会] static int f;//成员变量 public static void main(String[] args){
System.out.prinltn(k);
System.out.prinltn(f);//输出0 }
}变量还是遵守这个语法:必须先声明,再赋值,才能访问。
成员变量没有手动赋值系统会默认赋值(局部变量不会)
数据类型 默认值
byte , short , int , long 0
float , double 0.0
boolean false [在c语言中,true是1, false是0]
char \u0000