1.关键字
全部小写,goto和const是保留的关键字。
2.标识符
由字母,数字,下划线(_),美元符号($)组成
注意:开头不能是数字,区分大小写
不能是关键字,不能是保留字
3.常见类型的标识符命名规则
A.包,包就是文件夹,用来区分相同的类名
全部小写,单级:blue,多级:com.baidu
B.类或接口,
一个单词:单词首字母大写
多个单词:每个单词首字母大写
C.方法或变量
一个单词:小写
多个单词:第一个单词小写,其余的单词首字母大写
D.常量
一个单词:全部大写
多个单词:全部大写,单词间用_连接,如:STUDENT_NAME
4.注释符(三种)
A.单行注释 //
B.多行注释(不可嵌套) /*.....*/
C.文档注释 /**......*/
注意:main方法是程序的入口,是主方法,被JVM调用
5.其他常量
布尔常量:只有true和false两种取值
空常量:取值null
6.二进制,八进制,十进制,十六进制
A.二进制 0b开头或以B结尾
八进制 0开头
十进制 默认
十六进制 0x开头
B.二进制与十进制之间的转换 8421码
C.二进制,八进制,十进制,十六进制之间的转换
7.Java中的数据类型
A.简单的可分为两类
基本数据类型(整型,浮点型,字符型,布尔型)
引用数据类型(类,接口,数组)
B.长整型后接L或l,单精度浮点型后接F或l,因为整数默认是int型,浮点数默认是double型
C.整型
byte(1字节)
short(2字节)
int(4字节)
long(8字节)
浮点型
float(4字节)
double(8字节)
字符型
char(2字节)
布尔型
boolean(1字节)
D.默认的类型转换
byte、short、char----int----long----float----double
E.强制的类型转换
byte a = 1;
int b = 2;
byte c = (byte)(a+b)
注意:
float f1 = (float)12.345;
float f2 = 12.345F;
它们之间的不同点:f1是经过强制类型转换而来的,而f2本身就是float类型的数据
例:byte b1 =3,b2 = 4,b;
b = b1 + b2; //错,b1+b2的过程是先将b1,b2转换为int型数据,再进行计算,结果赋给b,这样的赋值会损失精度,编译器会报错
b = 3 + 4; //对,先进行计算,再看是否在-128~127这个byte型数据的范围内编译时已经确定结果,用反编译工具看.class文件是可以看出此时3+4已被7代替
8.二进制数据的原码、反码、补码
A.正数的原、反、补码相同
B.负数的反码:原码除符号位外,其余取反,
负数的补码:符号位不变,补码+1;
9.记住且注意:‘a‘ 97
‘A‘ 65
‘0‘ 48
"+"可以是算术运算法
可以是正号
可以是字符串连接符
10.运算符的分类:
A.算术运算符+、-、*、/、%、++、--、
B.赋值运算符=、+=、-=、*=、、=、%=等等
C.比较运算符==、>=、<=、>、<
D.逻辑运算符&、|、!、&&、||(&&和||具有短路效果)
E.位运算符&、|、^、~、<<、>>、>>>对二进制进行运算
F.三目运算符比较表达式?表达式1:表达式2;
注意:short s =1;
s = s + 1; //错,会损失精度,你懂得
s+=1; //对,默认了强制类型转换
比较运算符的结果是boolean型
逻辑运算符连接boolean型的数据
位运算符是对二进制数据进行操作
2*8 相当于2<<3
a ^b^b = a ;
两数交换的方法:
a.用中间变量temp
b.a = a^b;
b = a^b;
a = a^b;
c.a = a + b;
b = a - b;
a = a - b;
d. b = (a+b) - (a = b)
11.两种选择结构
A.if
B.switch(){
case 数值://数值可以是byte,short,int,char,JDK5后可以是枚举类型,JDK7后可以是字符串类型
…………
break;
default
}
注意:case后接常量,不能是变量
多个case后的值不能相同
default可以省略,但不建议,可以放在switch内任意位置,但建议放在最后
case后不用break会出现case穿透效果
12.循环结构
A.for(int i = 1; i <= 10;i++){}
B.while(){}
C.do{}while();
注意:for循环用于确定循环次数的情况,且结束后,循环变量不能再次使用
while循环用于不确定循环次数的情况,但结束后,还可以使用循环变量
13.三种控制跳转语句
A.break 用在switch中,跳出switch,用在循环语句在if判断中,跳出循环
B.continue 用在循环中,否则无意义
C.return 用于结束方法
注意:
sc:for(……){}