字面量和常量
常量:
程序中固定不变化的值。Const:常量 Demo:演示
注意:win 不识别大小写,仅大小写不同名的类生成字节码文件在win下将生成失败。
常量分类
字面值常量:比如 整数常量1,2,3 小数常量3.14 布尔常量 fales,true等
字面量:就表示直接给出的一个值,(可以是整数小数。。。)直接量
定义的final变量:后讲。
变量:var
表示存储空间,可用来存放某一类型的常量,没有固定值,并可以重复使用,也可以用来存储某种类型的未知数据。
变量特点:
1占据着内存中一块内存区域;
2该区域有自己的名字(变量名)和类型(数据类型)。
3可以被重复使用。
4该区域的数据可以在同一类型范围内不断变化。
变量定义:
先定义,再赋值。
变量必须有数据类型。
同一作用域变量名不能重复。
变量分类:
定义位置不同,作用域不同。
1成员变量/字段(Field):直接定义在类的{}中变量(方法体外)
2局部变量:定义在方法体中的变量。
表达式:
表达式(expression):是由数字/运算符/数字分组符号,变量等以能求得结果的有意义排列的组合。
数据类型:
java中数据类型整体上分两大类:
1,基本数据类型/原生数据类型()
1 数值类型:byte(8),short(16),int(32),long(64)(两位一字节)
2 小数类型:float(),double()
3.字符型:char,什么是字符 字母/符号。
4.布尔型:boolean,表示对与错true,false.
2,引用数据类型/对象数据类型()
类/接口/数组/
整数类型四种形式:
1二进制:0B或0b开头(java7新特性 并运行在数下添加下划线分割)
2八进制:要求以0开头
3十进制:普通表示
4十六进制:0x开头;
小数类型(浮点类型):都不能精确表示小数
float/double类型:
十进制形式:3.14 .618
科学记数法:3.14e2,3.14e2,1000e-2
科学计数法表达式返回结果是double.
BigDecimal任意精度类型
字符类型:‘\u0000’
十六位无符号的Unicode字符。
1直接使用单个字符指定字符常量。
2作为十进制整数值使用。范围0-65535。
3和2一样,只不过表示的是16进制的数值。
字符串String:“”
除了8种基本数据类型,其他所有类型都是引用数据类型,包括类,接口,数组,引用数据类型默认初始值NULL。
字符串的拼接:+,任何数据类型与字符串+拼接 结果都是字符串类型。
数据过大或溢出:
当药表示的数据超出数据类型的临街范围时,称为溢出。溢出情况发生时程序并没有做数据范围检查处理,此时会出现数据紊乱情况。
int 2^(31-1),2147483647;
基本数值类型之间的转换
布尔不属于数值,不能参与转换。
自动类型转换(隐形)
把小数据方位类型的数值或者变量给另一个大范围类型变量,系统可以完成自动类型转换。
强制类型转换(显性)
大范围转换小范围类型时,需要强制转换类型符。(丢失精度)
默认整数时int,byte类型声明时可以不强制转换,运行时需要注意。
算数运算符:
- 正号
- 负号
- 加
- 减
- 乘
/ 整除
% 取模
++ 自增
– 自减
Infinity 无限大 浮点型除0
NaN //Not a Number.不是一个数 0.0/0.0
赋值运算符:
= 赋值
+= 加等于 自带隐式类型转换。
-= 减等于
*= 乘等于
/= 除等于
%= 模等于
比较运算符:
== 相等于
!= 不等于
< 小于
大于
<= 小于等于
= 大于等于
instanceof 检查是否是类的对象
三元运算符:(三目运算符)
?:
分页业务逻辑算法:
页码总数 总条数%单页条数==0?总条数/单页条数:总条数/单页条数+1;
上一页算法 当前页-1 > 1 ? 当前页-1 : 1;
下一页算法 同上
逻辑运算符:
& AND(与)位于
| OR(或)
^ XOR(异或)
! Not(非)
&& AND(短路与)
|| OR(短路或)
位运算符:(直接操作二进制效率更高)
& 按位与
| 按位或
^ 异或(相同0,不同1)
~ 取反
<< 左移 移动填0右移 有符号 移动填充符号位
无符号右移 移动填0
变量数值交换:
临时变量方法。
算数运算方法。a=a+b;b=a-b;a=a-b;
位运算方法 a=a^b;b=a^b;a=a^b;
运算符优先级:
()单目运算符/算数/位运算/赋值