1.十进制到任意进制的转化

用当前十进制数据除以基数直到商为0,余数取反

2.8421码(快速转化法)

成为BCD码,一种二进制和十进制之间的快速转化法
X进制--->Y进制:
	方式一:分步完成
		X进制--->十进制
		十进制--->Y进制
			二进制--->八进制(0b1011001)
			二进制--->十进制64+0+16+8+0+0+1=89
			十进制--->八进制89/8=11余1
						  11/8=1 余3
						  1/8=0  余1
						  0131
	方式二:使用进制的概念去完成	(0b1001101)
		八进制:从右边开始每三位一组,左边不够的补0,计算出每个位上的十进制
			0b 001 001 101--->0115
		十六进制:从右边开始每四位一组,左边不顾的补0,计算出每个位上的十进制
			0b 0100 1101--->0x4d

3.有符号位的数据表示法(计算机底层进行运算:使用数据的补码进行计算)

正整数:最高符号位为0
负整数:最高符号位为1
正整数原码,反码,补码都相同
负整数反码:在原码的基础上,最高符号位不变,数值按位取反(0变1,1变0)
负整数补码:在反码的基础上,末尾加1,最高符号位不变
	原码:10011101
	反码:11100010
	补码:11100011

4.变量的三要素

变量:在程序运行中,气质不断发生改变的量
	1)变量的限定(数据类型)
	2)给当前变量所在空间的地址值起名字(标识符规则)
	3)需要给变量一个初始化值

5.数据类型划分

A)基本数据类型:四类八种
	整数类型:byte 字节类型	1字节
			short 短整型	2字节
			int 整型		4字节
			long 长整型	8字节
	小数类型:默认是double
		float 单精度	4字节
		double 双精度	8字节
	字符类型:char	2字节
	布尔类型:boolean	1字节
B)引用数据类型:数组,接口,类(具体类,抽象类)

定义long类型的注意事项:需要在当前变量值的后面加上标记L/l
double类型数据转换成float类型数据可能会有损失,需要在单精度的值后边加上:F/f		float f = 12.56F;

6.定义变量的注意事项

1)给变量命名的时候见名知意
2)变量尽量给一个初始化值,或者在使用之前给定一个初始化值
3)java是一种强类型语言,规定了同一个变量名不能定义多次(语法规则和书写)

7.运算注意事项

boolean类型不参与运算,只做判断
隐式类型提升:byte,char,short三者之间不转换,一旦参与运算,数据类型将提升到int类型
Java中强制类型转换的书写格式:
	目标数据类型 变量名 = (目标数据类型)初始化值;
	强制类型转化不能随意使用,会损失精度,除非有需求(在引用类型中用的比较多)
		面试问题:以下代码存在的问题?
			byte b , b1 = 3 , b2 = 4;
			A.b = b1 + b2;
			B.b = 3 + 4;
			存在问题?如何解决?
		A.变量相加要考虑隐式类型提升问题,两个byte类型相加最后结果成为int类型		
				解决方案:b = (byte)(b1 + b2);
		B.常量相加,将常量进行运算,运算之后看起结果是否在接收数据类型的取值范围内

8.+号

1)表示数据是一个正整数
2)表示算数运算符中的加法运算
3)字符串拼接符
	例:"hello"+'a'+1--->"helloa1"
		"5+5="+5+5--->"5+5=55"
		字符串后边的加号都是拼接符,不做运算
	'a'+1+"hello"--->"98hello"
	5+5+"=5+5"--->"10=5+5"

9.运算符

算术运算符:+,-,*,/(默认取整数),%(取模:求余数)
	扩展:++,--
		分两种情况:
			1)单独使用:无论++/--在变量前面还是在后面,都是对当前该变量值进行自增1或者自减1
			2)参与运算使用:
				a.++/--在变量前面,先自增1或者自减1,再将然后运算
				b.++/--在变量后面,先运算(赋值),然后自增11或者自减1

赋值运算法:
	1)基本赋值运算符:将等号右边数据赋值给等号左边数据
	2)扩展赋值运算符:+=,*=,-=,/=,%=
		将等号左边的数据和右边的数据相加/相乘/相减/相除/求余,将结果赋值给左边数据
				隐藏了强制类型转换!!!
			面试题:以下代码哪一句会编译失败,如何解决?
				short s = 1;
				A.s = s +1;
				B.s += 1;
				A.参与运算,数据类型被提升为int类型(隐式类型提升)
					解决方法:s = (short)(s + 1);
				B.等价于s = (short)(s + 1);

比较(关系)运算符(使用居多):
逻辑运算符:
位运算符:
三元(三目)运算法 (使用居多):