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
字符型: char
byte范围: -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 < double
7.(char)字符类型:
有两种形态:
1.字符
2.整数(每一个字符在码表中都对应着一个码值: 'a'=97)
'a'=97
'A'=65
'0'=48
char类型的取值范围: 0~65535
char类型可以存储中文的!
8.字符串:
字符串可以和其他任意的数据类型进行相加,实际上是进行连接,
它可以把任意一个数据类型的值变成一个字符串,再和它进行连接,产生一个新的字符串.
3.运算符(重点掌握)
1.算术运算符
%: 求两个数相除的余数
/: 求两个数相除的商, 两个整数相除,得不到小数.
++,--:
单独使用的时候,不管是在变量前面还是后面,都没有区别,都是对变量进行自增
在运算之中,如果++符号在变量的前面,先对变量进行自增,然后把自增之后的值进行运算.
如果++符号在变量的后面,先对变量进行自增,然后把自增前的值进行运算.
++和--带有一个强制转换的效果
2.赋值运算符
=,+=,-=,*=,/=,%=
赋值运算符的左边必须是变量.
+=: 把运算符左边的变量与右边的变量或者常量进行运算,然后把结果赋值给左边的变量.
+=或者其他特殊的赋值运算符都有强制转换的效果.
3.比较运算符
> >= < <= == !=
比较运算符运算的结果为boolean类型!