Java基础笔记
数据类型
强类型语言
变量的使用严格符合规定,先定义后使用
安全性高 速度慢
弱类型语言
VB JS
基本类型(primitive type)
byte占据一个字节范围
short占据两个字节范围
int占据 四个字节范围
long 占据八个字节范围
在包装类中定义好了数据范围
long类型要在数字后边加L
float占据4个字节
float类型要在后边加F
double占据8个字节范围
char占据2个字节范围
boolean类型占据一个字节
String不是关键字,是一个类
引用类型(reference type)
字符:计算机使用的字母,数字,字和符号
常见问题
整数扩展:进制
二进制 0b 开头
八进制 0 开头
十六进制 0x 开头
浮点数扩展
银行业务怎么表示?
float 有限的 离散的 有舍入误差 大约 接近但不等于
最好完全使用浮点数进行比较
BigDecimal 数学工具类
字符扩展
强制类型转换 字符-->数字
所有字符本质还是数字
Unicode表 2字节 0-65535
u0000 uFFFF
转义字符
\t 制表符
\n 换行
底层原理
布尔值扩展
if(true){ }
less is more
**代码要经典易读 **
运算中,不同类型数据类型先转换为同一数据类型
避免内存溢出
强制转换 (类型)变量名
高-----低 强制类型转换
低------高 自动类型转换
注意:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.把高容量转换为低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题
JDK7新特性
数字之间可以用下划线分割
int money = 10_0000_0000;
对于大数字 Long
先转换类型再计算
变量
就是可以变化的量
Java是强类型转换,每个变量必须声明其类型
Java变量是最基本是数据类型,包含变量名,变量类型,作用域
程序可读性
作用域
类变量
static 从属于类
实例变量
从属于对象,类里边的变量,如果不进行初始化,会赋值默认值
布尔值默认为false
除了基本数据类型,其余默认都是NULL
局部变量
方法里边的变量
常量
constant
final
修饰符不存在先后顺序
初始化后不能再改变
变量 的命名规范
见名知意
常量 大写字母和下划线
类名 首字母大写
其他 小驼峰式
运算符
算数运算符
二元运算符
ctrl +D IDEA快捷键
long a =12321232121L;
cast 转换
赋值运算符
关系运算符
返回结果:布尔值 true false
instanceof
% 取余 模运算
逻辑运算符
位运算符
条件运算符
扩展赋值运算符
++ -- 自增 自减
一元运算符
a++ 先进行运算,使用之后再加加
++a使用之前自增,再运算
Math.pow(2,3);
幂运算
逻辑运算符
与(and)或(or)非(取反)!
逻辑与 两个都为真 结果才为真
逻辑或 两个有一个为真就为真
短路运算
位运算符
& | ~ ^(异或):相同为零,不同为一
面试题:
2*8
2<<3
<< 逻辑左移 数据*2
>> 逻辑右移 数据/2
>>
>> 效率极高
三元运算符
a+=b
a-+b
字符串连接符
x ? y : z
x为真,结果为y,否则结果为z
优先级
加括号
包机制
包的本质:文件夹
定义规范:一般利用公司域名倒置作为报名
防止重复问题
*通配符 导入包中所有的类
JavaDoc
javadoc命令是用来自己API文档的
@author
@since
@version
@return
@param
@throws
基础部分一切知识