一、常量【掌握】
1、概念
在程序的运行过程中,其值不可以发生改变的量
2、分类
(1)字面值常量
A:整数 34,-23
B:小数 32.5 -12.655
C:字符 'a' 'B' '6' ' '
D:字符串 "abdvcdlfdj"
E:布尔常量 只有true 和 false
F:空常量 null
(2)自定义常量
----------------------------------------------------------------------------
二、进制
1、概念
一种进位方法,x进制,逢x进一
2、进制的表现形式【掌握】
二进制 以0b开头
八进制 以0开头
十六进制 以0x开头 0-9, A-F(a-f)组成
十进制 默认就是十进制
3、进制转换
(1)任意进制---->十进制
公式:系数 * 基数的权次幂相加
系数:这个数据上的每一位数据
基数:几进制, 基数就是几
权:从右开始数,以0开始编号,每一位数据对应的编号就是该位的权
eg: 八进制数074转十进制
7*8^1 + 4*8^0 = 56 + 4 = 60;
(2)十进制 ----> 任意进制
公式:除基倒取余
eg: 84 --- 八进制
84/8 = 10 .... 4
10/8 = 1 .... 2
1/8 = 0 .... 1
(3)8421码
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
eg: 01101100
4、原反补码
计算机做运算时,是以补码进行运算的。
正数:原反补码一样
负数:
原码:最高位符号位1,其余是数值位
反码:符号位不变,其余数值位逐位取反
补码:反码+1
----------------------------------------------------------------------------
三、变量【掌握】
1、概念
在程序运行过程中,其值可以在指定范围内发生改变的量
2、格式
数据类型 变量名 = 变量值;
数据类型 变量名;
变量名 = 变量值;
eg: int i = 10;
int i;
i = 10;
----------------------------------------------------------------------------
四、数据类型【掌握】
1、分类
基本数据类型(4类8种)
引用数据类型(类、接口、数组)
2、基本数据类型分类
A:整数型
byte 1 -128~127
short 2
int 4
long 8
B:小数
float 4
double 8
C:字符
char 2 0 ~ 65535
D:布尔类型
boolean (不明确)
3、默认数据类型
A:整数:默认是int,long类型变量定义需要加L;
B:小数:默认是double,float类型变量定义需要加F或f;
4、数据类型转换
(1)隐式转换(从小到大)
byte -- short,char--- int --- long --- float --- double
(2)强制转换(从大到小)
double --- float --- long -- int --- char, short --- byte
注意:byte、short、char数据做运算的时候,会默认提升为int类型进行运算
5、面试题
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2; //a:(b1+b2)结果是int类型;
//b:b1和b2是变量,里面的值编译器不知道,运行的时候才有结果,所以(b1+b2)有可能超出127或者是-128
byte b4 = 3 + 4; //常量优化机制:编译的时候,就已经把3+4的结果转换为7了,编译期知道这个7在byte范围以内。
6、字符和字符串参与运算
(1)字符
'0' + 1 //49
(2)字符串
"hello" + 100 //hello100
'Z' + 10 + "world" //100world
7、char数据类型
char c = 100; //c的值就是d
----------------------------------------------------------------------------
五、运算符
1、算术运算符
+ - * / % ++ --
/: 10/3 = 3
%: 取余(有很多细节)
临时变量的问题:
在进行运算操作的时候,如果++或--在变量的后面,会产生一个临时变量,先把变量的值暂存起来,用于运算操作,然后再自增或自减
面试题:
int i = 4;
int j = (i++) + (++i) + (i*10) //70
2、赋值运算符
= += -= *= /= %=
+= //包含了强制转换
byte b = 3;
b += 1; //b = (byte)(b + 1)
3、关系(比较/条件)运算符
== != > >= < <=
结果只能是boolean类型
----------------------------------------------------------------------------
(后天学)
4、逻辑运算符
5、位运算符
6、三元运算符
|
|