命名规则
强制规则
1.Java中严格区分大小写。
2.只能包含大小写字母,数字,下划线_,美元符号$。
3.数字不能开头,仅此而已。
4.不能使用关键字,保留字(goto,const)
专业规则
1.驼峰命名法:
类名用大驼峰,也就是第一个首字母大写,剩下的单词首字母也大写
方法名,变量名用小驼峰,第一个首字母小写,剩下的单词首字母大写
2.望文知义
变量和常量
常量
字面量都是常量
大写字母加下划线
由final修饰的变量:final int a =1;
变量
局部变量:在方法体内声明的变量,只能在本方法内使用,同时可以在不同方法内使用同一个变量名
静态变量:在类体内被static修饰的变量,可以被其他的类引用,使用方法:类名.变量名(在本类体内使用可以直接忽略这种引用方式)
成员变量:在类体内没有被static修饰的变量,当成员变量与局部变量的名字相同时,看具体情况有待补充。
数据的存储
bit=1位
1byte=8位
byte的最后一位全零到全一,所以最后一位就是11111111=2^8-1=255
但数据有正负之分所以第一位为符号位正数是0,负数是1;
所以一个字节最的整数是0111 1111=2^7-1=127;因为保留了符号位所以最大只能是127,
最小应该为负数1111 1111 =-127,可以继续进位因为计算机中没有1000 0000的表示数所以可以继续进位,把他当作-128,所以byte的取值范围就是-128到127。
然后要注意负数在内存中存储要用补码。
机制的转换
数据类型的分类
基本数据类型
整型
1byte=8bit
short=2byte=16bit
int=4byte=32bit
long=8byte=64bit
浮点型
float=4byte=32bit
double=8byte=64bit
字符型
char=2byte=16bit
Boolean
Boolean=1btye=8bit
两个值1true , 0false
数据类型的使用
整型
- byte a=1;
- short b=128;
- int c=2147483647;4字节32位;最大值
- long d=2147483648L;超过int的范围要加L
- 注意点:
- byte取值范围-128~127
- long在写的时候,后面需要跟L,long如果小于int就发生了隐式类型转化所以没加L
- int取值范围 -2147483648~2147483647
- 浮点型
- double a=1.23;
- float f=1.2F;
- 注意点:
- 单精度后面需要跟F
- 双精度可以不用写D,小数默认就是double
- 小数要注意计算的问题,后期有类要解决这个问题,不精确,计算机是天生存整型的量
- 字符类型
- char a='a';
- 注意点:
- ASCII表字符对应值:a是97,A是65,0是48
- 直接打印char c=95;会发生隐式类型转换,输出相应的字符
- 布尔类型
- boolean a=true;
- 注意点:不参与任何计算,只有两个值:true false
- 转义符\
- '\'' 转义成没有意义的字符
- '\t' 制表符
- '\n' 换行符
- \\
- \r
- \'
- \"
- 类型转化:
- 自动类型转化:由低精度到高精度可以自动发生,隐式类型转化
- 强制类型转化:由高精度到低精度需要手动,强制类型转化,显式类型转化
- 强制类型转化:语法:低精度数据=(低精度数据类型)高精度数据
- 可能会报错,引起数据错乱
- byte->short->int->long->float->double
- char->int->long->float->double
运算符
- 算术运算符
- ++ --自增符在前,先自增再使用在后先使用在增加。
- 关系运算符
- < > == <= >= !=
- 逻辑运算符
- & | ! ^ && ||
- 短路与遇到一个false不继续执行
- 短路或遇到一个true不继续执行
- 赋值运算符
- 要先算右边
- = += -= *= /=
- 位移运算符
- 求2的三次方
- 2<<2
- <<左移运算 x<<y x*2^y 所有位置向左移动y位,右侧补0
>>右移运算 x>>y x/2^y 所有位置向右移动y位,左侧补0。负数左侧补