1.Java中的常量及进制
1.常量: 在程序运行的过程中,不可以改变的量,就是常量boolean类型的值只能是true或者false
null: 空常量, 代表不存在! ---------------------------以下是了解的内容----------------------------------- 2.进制:(了解) 常见进制: 二进制,八进制,十进制,十六进制进制的表现形式:
二进制: 以0b开头 八进制: 以0开头 十六进制: 以0x开头进制转换:
任意进制转成十进制: 系数*基数的权次幂,求和.十进制转成任意进制:
除基倒取余数. 快速转换法: 8421码------------------------------------------------------------------------------原码,反码,补码:
1.计算机中的所有内容都是以补码形式存储的2.补码我们是不能直接看懂的,必须要转换成原码才能看懂.
3.反码是补码转换成原码的中转内容.
正常情况: 补码----->反码---->原码自己一般是写原码---->反码---->补码
正数: 原码反码补码都相同.
负数:
原码转反码: 最高位不变,其他各位0变1,1变0反码转补码: 反码+1
2.变量,数据类型转换(重点掌握)
1.变量
1.格式: 数据类型 变量名=变量值;2.数据类型:
1.分类: 基本数据类型 四类八种: 整数型: byte short int long 浮点型: float double 布尔型: boolean 字符型: charbyte范围: -128~127
short范围: (-2^15)~(2^15-1) 引用数据类型: 讲对象的时候再讲!2.一个整数没有加标识,默认是int类型
如果是一个小数,没有加标识,默认是double类型3.变量的使用注意事项:
1.作用域: 有效的区间. 可以使用的范围2.初始化:
局部变量(定义在方法之中的变量) 在使用前,必须要先赋值. 可以定义不使用,不需要初始化.3.一条语句可以声明多个变量.
4.数据类型转换:
1.隐式转换: 小的数据类型与大的数据类型进行运算,小的数据类型会自动提升到大的数据类型,然后再进行运算. 2.强制转换: 把一个大的数据类型的值赋值给一个小的数据类型的变量(数据类型)值或者变量
int x=100;
byte b = (byte)x;
3.byte short char这三个类型的变量在进行运算的时候,会自动类型提升到int类型.
4.常量优化机制:
编译器在编译源码的时候,检查到有常量在进行运算,会自动先把常量运算完毕,再编译到字节码文件中.byte b=3+4;====>相当于 byte b=7;
5.float和long类型的取值范围:
float的范围比long类型的范围更大,原因是因为float底层的存储结构不一样. 6.数据类型的取值范围: byte < short,char < int < long < float < double7.(char)字符类型:
有两种形态: 1.字符 2.整数(每一个字符在码表中都对应着一个码值: 'a'=97)'a'=97
'A'=65 '0'=48char类型的取值范围: 0~65535
char类型可以存储中文的!
8.字符串:
字符串可以和其他任意的数据类型进行相加,实际上是进行连接, 它可以把任意一个数据类型的值变成一个字符串,再和它进行连接,产生一个新的字符串.
3.运算符(重点掌握)
1.算术运算符 %: 求两个数相除的余数/: 求两个数相除的商, 两个整数相除,得不到小数.
++,--: 单独使用的时候,不管是在变量前面还是后面,都没有区别,都是对变量进行自增在运算之中,如果++符号在变量的前面,先对变量进行自增,然后把自增之后的值进行运算.
如果++符号在变量的后面,先对变量进行自增,然后把自增前的值进行运算.
++和--带有一个强制转换的效果
2.赋值运算符
=,+=,-=,*=,/=,%=赋值运算符的左边必须是变量.
+=: 把运算符左边的变量与右边的变量或者常量进行运算,然后把结果赋值给左边的变量.
+=或者其他特殊的赋值运算符都有强制转换的效果.
3.比较运算符 > >= < <= == !=比较运算符运算的结果为boolean类型!