一、语法基础
1.标识符大小写很敏感,比如下面这个例子 Man,man是两个不同的变量
String Man = "aa";
String man = "aa";
2.数据类型:
- 基本数据类型范围
3.整数拓展
进制: 二进制0b 十进制 八进制0 十六进制0x
int i = 30;
int i8 = 030;//八进制0
int i16 = 0x30;//十六进制0x
System.out.println(i);
System.out.println(i8);
System.out.println(i16);
对应输出结果:
30
24
48
4.浮点数拓展
- 最好完全避免使用浮点数进行比较!!!
为什么?看下面的例子:
float f = 0.1f; //0.1
double d = 1.0/10; //0.1
System.out.println(f);
System.out.println(d);
System.out.println(f==d); //false
输出结果:
0.1
0.1
false
float f1 = 2323232323323323232332f;
float f2 = f1+1;
System.out.println(f1==f2);
输出结果:
true
- 那银行业务的钱用什么进行比较呢?
BigDecimal 数学工具类
5.字符拓展(Unicode编码)
char c1 = 'a';
char c2 = '方';
System.out.println(c1);
System.out.println((int) c1); //强制转换
System.out.println(c2);
System.out.println((int)c2); //强制转换
输出结果:
a
97
方
26041
char c3 = '\u0061';
System.out.println("c3="+c3);
char c4 = '\u0200';
System.out.println("c4="+c4);
输出结果:
c3=a
c4=Ȁ
6.转义字符
\t 制表符
\n 换行
还有很多其它的......
7.布尔值扩展
boolean flag = true;
if (flag==true){}//新手
if (flag){}//老手
8.类型转换
//由高到低 需要 强制转换 格式:(类型)变量名
int i1 = 128;
byte b1 = (byte)i1;//内存溢出
System.out.println(i1);//128
System.out.println(b1);//内存溢出,byte类型最大127
//由低到高 不需要 强制转换 ,自动转换
double d1 = i1;
System.out.println(d1);
输出结果:
128
-128
128.0
- 注意:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出、精度等问题
9.变量&常量 - 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
- 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
final 常量名=值;
final double PI=3.14;
- 常量名一般使用大写字符。
- 变量的命名规范:
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则: monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则: Man, GoodMan
- 方法名:首字母小写和驼峰原则: run(), runRun()
10.运算符
- Java语言支持如下运算符:
- 算术运算符:+, -, * ,l,%,++,- -
- 赋值运算符:=
- 关系运算符:>,<,>=,<=,==,!= instanceof
- 逻辑运算符:&&,||,!
- 位运算符:&,|,^,~,>>,<<,>>>
- 条件运算符 ? :
- 扩展赋值运算符:+=,-=,*=,/=