你可能所不知道的细节
注释
注释有3种:
单行//,
多行/* */,
文档 /** * * … */ (多用于生成JavaDoc)。
标识符
可以用中文做标识符。
以字母,下划线, $ 开头。首字符之后可以用字母,数字,下划线,$ 。
标识符大小写敏感。
数据类型
两大类:
基本数据类型(8类)
整数:
-
byet(1字节),
-
short(2字节),
-
int(4字节),
-
long(8字节)
-
long定义的变量后要加L(或l),以便与int区分
(不加会默认为int)(低转高)
-
浮点:
-
float(4字节)
-
float定义的变量后要加F(或f),以便与double区分
(不加会报错)(默认为double,高转低)
-
精度到7位
-
float表示的范围比long还大
-
-
double(8字节)
- 精度是float的2倍
字符:
- char(2字节)
- 可以存放转义字符,Unicode值(表示字符型常量)。
- 必须存放字符。
- 可以存放数字(对应ASCII表的字符)。
布尔:
- boolean(1位)(只有2个值,ture或false)
引用类型
除8大基本数据类型之外的所有类型,都是引用类型:
String:字符串
- 可以和8大基本数据类型运算,且只能是连接运算,结果仍为String类型。
- 根据+前后是否有String类型,确定是做运算还是表示连接。
- String必须带""。
- String不能用()直接强转为基本数据类型。
类:
接口:
数组:
拓展
-
内存拓展
-
1Byte(字节B)=8bit(位b),
-
1024B=1KB,
-
1024KB=1M,
-
1024M=1G。
-
-
整数拓展
-
2进制 0b,
-
8进制 0,
-
16进制 0x。
- 进制可先转换为2进制,再进行相互转换。
- 十进制转2进制:除2取余再倒序。
- 2进制转8进制:逢3合一。
- 2进制转16进制:逢4合一。
- 进制可先转换为2进制,再进行相互转换。
- 浮点数拓展
浮点数会有误差(尽量不要使用)。
- 字符拓展
可强制转换为数字。
- 所有的数字都以补码的形式存储。
类型转换
低————————————————————————————>高
byte,short,char——>int——>long——>float——>double
- 强制类型转换
高——————>低
- 自动类型转化
低——————>高(防数据丢失)
(不能对布尔值进行转换)
- byte,short,char做运算,用int保存。
- 相同类型之间运算也用int接收。
注意:
- 整数默认为int类型,小数默认为double类型,所以低类型做运算时,要注意不能再用低类型接收(需用默认类型接收)。
运算符
1.% —————————————>取模运算符
- 结果的正负与被模数的正负相同。
- 余数范围为0~(模数-1)(等于模数则又能被整除)。
2.+±- —————————————>自增自减运算符
- 自增自减不会改变数据的类型(与+1(-1)(int)有很大区别)。
3.+=、-=、/=、*= ——————————>赋值运算符
- 不会改变数据类型(与上述情况一致)。
4.&、&&、|、||、!、^ ——————————>逻辑运算符
-
&&、||是短路运算符,及前边为假,后面的都不再计算。
-
&、|、^是逻辑运算符(左右都是boolean型),
与位运算符不同(左右是数值类型)。
5.&、|、^、~、<<、>>、>>>(无符号右移)——————————>位运算符
- 左移一位相当于*2,右移一位相当于/2 。
- 左移补0,右移根据符号位选择补0或补1 (无符号右移只补0)。
- ~(取反)包括符号位内的所有0变1,1变0 。
- <<、>>、>>>移动与2的次幂有关(非2失效)。
6.?: —————————————>三目运算符
- 返回值的类型可以不一样,但必须能用同一种类型接收。
7.+ ——————————————>连接运算符
- 左右两边有String类型才能表示连接运算符。
8.>、<、>=、<=、==、!= ——————————>比较运算符
- 除了==和!=之外,其他只能在数值类型中使用。
变量(属性)
- 局部变量
方法里头,必须初始化。
- 实例变量
类里头,方法外头,从属与对象,使用需通过类来使用,
无需初始化(整数型默认为0,浮点型默认是0.0,字符型默认是u0000,布尔值默认是false,除了基本类型其他为NULL)
- 类变量
static修饰
常量
- final修饰,值被确定后不可更改。
命名规范
类成员变量:首字母小写+驼峰原则
局部变量:首字母小写和驼峰原则
方法名:首字母小写和驼峰原则
-
常量:大写字母和下划线
-
类名:首字母大写和驼峰原则
此文章废话连篇,但如果对您有帮助,请点个赞吧(新手发文,大佬勿辱,若有不对之处,请留言指明,大家一起进步。谢谢谅解)。