关键字
在Java中有特殊含义的单词,每一个关键字都有特殊的含义,在编译期,编译器会对这些关键字做特殊处理;
Java中的关键字都是小写的;
标识符(起名)
凡是可以起名的地方都是标识符;(类名,变量,方法)
标识符的命名规则
由26个英文字母大小写,数字:0-9,_或$组成
不可以数字开头
不可以使用关键字和保留字,但能包含关键字和保留字
Java中严格区分大小写,长度不限制
标识符不能包含空格
可以使用中文,但不建议
建议命名要有意义,驼峰命名法:myName myUserName
Java中的命名规范
包名:多单词组成时所有字母都小写:xxxyyyzzz
类名和接口名:XxxYyyZzz
变量名和方法名:xxxYyyZzz
常量名:XXX_YYY_ZZZ
变量
概念:
内存中的一个存储区域
该存储区域有自己的名称(变量名)和类型(数据类型,占存储空间的大小)
Java中每个变量必须先声明、初始化再使用
该区域的数据可以在同一类型范围内不断变化
定义变量的格式:
数据类型 变量名[=初始值];
变量是通过使用变量名来访问这块区域的
变量的作用域:
一对{}之间有效
Java中的数据类型
基本数据类型
数字型
整型:byte,short,int,long
浮点型:float,double(只能表示一个近似值)
字符型:char
布尔型:boolean
引用数据类型
类
接口
数组
数字类型
byte:1个字节 -128~127 byte b=128;//编译出现错误
short:2个字节
int:4个字节
long:8个字节 后缀是L;
写一个整数默认是int
float:4个字节 后缀是F
double:8个字节
写一个小数默认是double
float f=76.8;//编译出现错误;不能把一个8个字节的double赋给4个字节的float
一个字节=8位二进制
进制表示法
二进制 0b开头
八进制 0开头
十进制 默认就是十进制
十六进制 0x开头
字符类型
char c='c';用单引号引用任意一个单字符
基本数据类型转换
自动转换
容量小的自动转成容量大的
有多种类型的数据进行运算时,系统首先自动把所有数据转成当前容量最大的那种数据类型,然后再进行计算
如果数字类型都小于int,结果是int 5/2的最后结果是2(最后的类型是int) 5.0/2最后结果是2.5(最后的类型是double)
强制转换(显示转换)
存储空间大的数转换成存储空间小的数,会损失精度
byte b=8;
long l=345;
b=(byte)l;
byte c=7;
byte d=b+c;//编译错误
byte d=(byte)b+c;//编译错误
byte d=(byte)(b+c);//编译成功
运算符的结合性:
从左到右:
从右到左:=
++ –
该运算符包含两个操作:对变量+1;返回变量的值;
int i=9;
int j=i++;//先赋值再++
int d=++i;//先++再赋值
int t=i+++i+++i;//++的优先级比+高 t=(i++)+(i++)+i;
9 + 10 + 11=30
赋值运算符
=;-=;+=;*=;/=;%=
注意: int i=2;
int i=i*9+1;//(i=19)
i*=9+1;//(i=20)
比较运算符==
==两边都是数值,比较大小
==两边都是引用类型,比较引用
int i=97;
char ch='a';
i==ch;//ture
逻辑运算符
与:&
或:|
非:!
异或:^
短路与:&&
短路或:||
逻辑运算符的操作数只能是boolean
位运算符
操作数只能是数值
<<:左移;被移除的高位丢弃,空缺位补0 (相当于*2)
>>:右移;被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1; (相当于/2)
&:与
|:或
^:异或
三元操作符
布尔表达式?值1:值2;
int i=9;
int j=10;
int max=i>j?i:j;