栈空间
1.栈空间存取数据的效率高。
2.栈中的数据按“先进后出”的方式管理。
3.栈空间存储空间较小,不能存放大量的数据。
4.JVM将基本类型的数据存放在栈空间。
堆空间
1、堆空间存取数据的效率最低;
2、数据存放的位置随机分配;
3、堆空间存储数据的空间大,能存放大容量的数据。
变量的命名
(1)首字母是英文字母、$或下划线,由字母、数字、下划线组成;
(2)变量的命名遵循见名知义的原则。
(3)Java变量名建议不用中文。
(4)变量名首字母建议不用大写字母。
(5)用驼峰命名法命名多个单词组成的变量名。
例如:sumScore
1、 Java用一对大括号作为语句块的范围,称为作用域。
2、作用域中的变量不能重复定义。
3、离开作用域,变量所分配的内存空间将被JVM回收。
1、在计算机系统中,数值一律用二进制的补码来存储。
2、二进制的最高位是符号位,0表示正数,1表示负数。
3、正数的值是其本身,负数的值是最高位(符号位)不变,其它位逐位取反,再加1。
例如: (1101)2
0010 逐位取反
0011 加1
(1101)2=-3
1、可以将符号位和其它位统一处理;
2、最高位不再表示数值,而是作为符号位,正好将数值折半,即一半是0至正数,一半是负数。
例如:
(1)4位二进制数共有16个数,用补码表示,则一半是0~7,一半是-1~-8。
(2)8位二进制数共有256个数,用补码表示,则一半是0~127,一半是-1~-128。
3、减法也可按加法来处理;
例如:7-3,可以表示为7+(-3)
1、计算机中正数和负数的关系是取反加一。
【示例】在四位二进制数中,已知3的二进制值是0011,若要求-3,则
0011 3
1100 逐位取反
1101 +1
2、补码运算是封闭的: 运算结果保留在补码范围之内, 超范围就溢出。
3、4位二进制补码最多能表示2^4(16)个数,数的范围是-8~7
4、8位二进制补码最多能表示2^8(256)个数,数的范围是-128~127
1、Java有四种整数类型:byte、short、int和long。
2、Java默认整数计算的结果是int类型。
3、整数的字面量是int类型。
4、若字面量超过int类型的最大值,则字面量是long类型,那么后面要用L(或l)表示该值是long类型。
1、浮点类型用于表示小数的数据类型。
2、浮点数原理:也就是二进制科学计数法。
3、Java的浮点类型有float和double两种。
4、Java默认浮点类型计算的结果是double类型,字面量也是double类型。
1、十进制浮点数科学计数法: 219345 = 2.19345*(10^5)
2、二进制浮点数科学计数法: 10111 = 1.0111*(2^100)
右移4位, 104 (4=100)
1、float类型共32位,1位为符号位, 指数8位, 尾数23位。
2、float的精度是23位(即能精确表达23位的数,超过就被截取了)。
小数是以尾数长度来表示精确度的,比如pi=3.1415的精度是4位。
3、float存储数据的范围大于int类型,但精度比int要小,因为int的精度是31位。
1、double类型,1位符号位,11位指数,52位尾数。
2、double范围远远大于long,但double精度不如long。
浮点运算就是实数运算,由于计算机只能存储整数,所以实数都是约数,这样浮点运算是很慢的而且会有误差。
1、char类型的字面量可以是一个英文字母、字符或一个汉字,并且由单引号包括。
2、Java底层使用一个16位的整数来处理字符类型,该数值是一个字符的unicode编码值。
1、unicode编码是全球范围内的编码方法。
2、unicode编码的英文部分与ASCII码兼容(ASCII表示范围0~128), 同时英文字符和数字是连续编码的。
3、Java在处理char类型的数据时,在底层是按unicode码来处理的。
4、编码是什么?
计算机硬件系统只能用0和1表示数,我们人为地做了规定,某个数还可以表示一个字符。
例如:65代表的字符是A
转义字符是”\”,通过转义字符,可表示一些特殊的字符。
例如:
‘\n‘ 表示回车
‘\t‘ 表示制表位字符,一个制表符表示向右跳8-10个字符
‘\\‘ 表示\
‘\‘ ‘ 表示单引号
‘\"‘ 表示双引号