本帖最后由 lizihanglove 于 2016-6-22 00:43 编辑
第二天知识总结,有遗漏或不足之处、请指正!
Day2 一、常量 1、 字面值常量 A、 字符串常量:用双引号包含的内容 B、 整数常量:整数 C、 小数常量:小数 D、 字符常量:单引号,包含单个字符(数字、字母、符号) E、 布尔常量:只能为true 或false F、 空常量:null 2、 自定义常量
二、进制 进制是一种规定的进位方法。
1、 十进制 2、 二进制 以0b(可大小写)开头 1字节(byte) = 8位(bit) 1k = 1024 byte 1m = 1024 k 1g = 1024 m 1t = 1024g 3、 八进制 每三个二进制表示一个八进制,由0~7组成、以0开头 4、 十六进制 每四个二进制表示一个十六进制,由0~9及a~f组成,以0x(可大小写)开头
注意:进制越大,长度越短 5、 进制的转换 12345=1*10^4+2*10^3+3*10^2+4*10^1+5*10^0 系数:数位上的值 基数:X进制,则基数是X 权次幂:自右向左,从一开始编号,对应得到权。 A、其他进制转换成十进制 把系数*基数的权次幂相加即可:如ob111 = 1*2^2+1*2^1+1*2^0=7 B、十进制转换为其他进制 除基(目标进制的基)倒取余数 C、任意进制转任意进制,了解8421码 6、原码反码补码 原码---------(取反)---------反码------------(+1)------------补码 补码---------(-1)------反码--------------(取反)--------------原码 三、变量 变量:在程序中,在某个范围内,其值可以改变的量。 1、 变量定义格式: 数据类型 变量名(合法标识符) = 变量值; 2、 数据类型: (1) 基本数据类型(8种) A、 整数型 Byte、1字节 short、2字节 int、4字节(系统默认的整数型) long、8字节
注意:使用long类型的值时,应该使用大写的L以区分阿拉伯数字1与小写字母l. B、 浮点型 Float、4字节,使用F(或f)标识。 Double、8字节(系统默认的浮点型) C、 字符型 Char、2字节 D、 布尔型 Boolean 理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小
注意:使用long与float时,必须使用L(l)、F(f)等标识区分,否则出错。
(2) 引用数据类型 3、 注意事项: A、 同一作用域不能定义同名变量; B、 局部变量先赋值再使用 4、 数据类型转换 A、 隐式转换(自动) Int x = 3; Byte b = 4; x = x + b; x的结果为7。
注意:小的数据类型向大的数据类型转换时为自动数据类型转换。
B、 显示转换(强制) Int x = 3; Byte b = 4; b= x + b; 编译出现错误,会损失精度。 正常情况下改为b=(byte)(x + b);即可编译通过。
注意:大的数据类型向小的数据类型转换时为强制数据类型转换。 C、 越界转换: byte b = 126; b =(byte)(b + 4); b的结果为-126.运算时,通常会使用补码。 5、 变量相加与常量相加的区别:(面试题) Byte b1 = 3; Byte b2 = 4 Byte b3 = b1 +b2 此时,编译出错。Byte在运算时会自动提升为int类型。
Byte b = 3 + 4; 此时不会出错,这是由于常量优化机制 6、 比较float与long取值范围的比较:float比long的取值范围要大. 7、 基本数据类型范围提升如下:
Byte>short>char>int>long>float>double
8、 字符和字符串参与运算: A、 字符:’a’、’a’+1、(char)(‘a’+1)。char +int/long/float/double时会自动类型转换 B、 字符串:”hello”+’a’+1、”5+5=”+5+5、”5+5=”+(5+5)。
注意:任何数据类型与字符串相加时会成为新的字符串。 9、 ASCII码中char字符与int(0~65535)类型一一对应。
四、运算符 1、 分类:算术运算符、赋值运算符、 2、 算数运算符 A、+:作用有三个,分别是正号、加号、字符串连接符。 B 、-:减号 C、*:乘号 D、/:获得商 E、%:获得余数,结果的正负号只与%的左边有关,与右边无关。 F、自加(++)与自减(--): 若单独使用,则a++与++a都是指a = a + 1;若混合(参与其他运算)使用,则a++的操作是先取出其原值,再将其自加1;++a是先自加1,再取出其值参与其他操作。
特例:int a = 1; a = a++; System.out.prinln(a); 结果为1. 面试题:Byte b =10; b++; //对,++是运算符,会强转。 b=b+1; //错,运算时,类型会自动提升。
3、 赋值运算符(=):将右常量赋给左变量。
注意:一定是左边变量,右边值。
+=:功能与++相似。 面试题: short s = 1; s = s + 1; 错误:数据类型自动提升为int,与s的数据类型有冲突。 short s = 1; s+=s; 对:+=是运算符,强制类型转换。 4、 关系运算符: A、==:==是比较运算符,区别于=。 B、!=: C、>: D、>=: E、<: F、<=:
注意:关系运算符运算结果为true 或者 false。
|