JAVA基础知识
标识符和关键字
-
关键字
-
标识符
无论类名、方法名、变量名都是标识符
命令规则:
- 所有标识符都应该以大小写字符、美元符号、或下划线开始
- 首字符后可以十字母、美元符号、下划线或者数字的任意组合
- 不可以用关键字作为变量名
数据类型
java是强类型语言:所有变量必须先定义才能使用
java的数据类型分为两大类:
- 基本类型:整数(int byte short long:数字后要加一个L)、浮点(float后面加一个F,double)、字符、布尔
- 引用类型:类、接口、数组
数据类型拓展:
-
整数拓展:进制
二进制0b 八进制0 十六进制0x
int i = 0b10;//二进制 int i1 = 010;//八进制 int i2 = 0x10;//十六进制
-
浮点数拓展:
float:有限 离散 舍入误差 大约 接近但不等于
最好完全避免使用浮点数进行比较,使用BigDecimal
-
字符拓展:所有的字符本质还是数组 Unicode编码 2字节
-
转义字符:\t制表符 \n换行
强制转换
强制转换:高--低 自动转换:低--高
byte(-127~127),short,char -> int(正负20亿) -> long -> float -> double
注意点:
- 不能对布尔类型进行转换
- 不能把对象类型转换为不相关类型
- 在把高容量转换为低容量时,强制转换
- 转换时可能存在内存溢出、或者精度问题
变量
变量是程序最基础的存储单元,其要素包括变量名,变量类型和作用域
变量作用域
-
类变量:加关键字static,从属于类
-
实例变量:作用域从属于对象,类里面,方法外,数值化默认初始化值为0,布尔值默认是false,除了基本类型其余的默认值都是null
-
局部变量:是在方法或方法块里,使用前必须声明和初始化值
补充:类变量和实例变量区别
静态变量(类变量)具备以下特点:
随着类的加载而加载
优先于对象存在
被所有对象所共享
可以直接被类名调用类变量和实例变量的区别是:
1,存放位置。
类变量随着类的加载而存在于方法区中。
实例变量随着对象的建立而存在于堆内存中。
2,生命周期:
类变量生命周期最长,随着类的消失而消失。
实例变量生命周期随着对象的消失而消失。
常量
初始化后不能再改变值,一般用大写字符表示
定义:使用final关键字,修饰符不存在先后顺序,变量类型前面的都是修饰符
命令规范
-
类成员变量:首字母小写和驼峰原则(首字母大写)
-
局部变量:首字母小写和驼峰
-
常量:大写字母加下划线
-
类名:首字母大写和驼峰原则
-
方法名:首字母小写和驼峰原则
基本运算符
算术运算符、辅助运算符(=)、关系运算符、逻辑运算符、位运算符、条件运算符(?:)
注意:
- 自增运算符
int b = a++;//执行完这行代码后,先给b赋值,再自增
int b = ++a;//执行完这行代码前,先自增,再给b赋值
-
幂运算
使用工具类Math.pow(a,b)
-
右移和左移
右移(>>)相当于除以2,左移(<<)相当于乘以2 -
位运算效率高
-
只要+符号前面出现了字符串类型,后面的+都会自动变成字符串连接符
-
x?y:z//如果x==true,则结果为y,否则结果为z
包机制
包就是文件夹,一般利用公司域名倒置作为包名;com.baidu.www
JavaDoc
javadoc是用来自己API文档的,在命令行中操作(在文件地址栏可以用cmd加空格快速生成)
javadoc -encoding UTF-8 -charset UTF-8 XXX