一、JAVA基本语法规则
1、标识符
?? ?合法:字母、数字、下划线_、美元$ ?? ?不合法:
- @、%、特殊字符
- 不能以数字开头
- Java关键字、保留字(const、goto)、true、false、nul
?? ?严格区分大小写
2、关键字
????????50个

?2个保留关键字 const、goto
3、注释
????????单行注释 ?? ??? ?????????//
????????多行注释 ?? ??? ?????????/* ?? ??? ?????????* ?? ??????????? ?*/ ????????doc注释
? ? ? ? ? ? ? ? /**
? ? ? ? ? ? ? ? *
? ? ? ? ? ? ? ? */
?4、变量定义
?????????? ?定义变量的语法:变量类型 变量名字 = 变量值; ? ? ? ? ? ? ? ? int a = 10;
二、JAVA数据类型
?1、数据类型
????????1) Java的8大基本类型? ? ? ? ?? ?char ?? ??? ?char类型的数据需要使用单引号包裹 ?? ??? ?char类型保存的是单个字符 ?? ??? ?如果char类型保存的是数字,那么回去ASCII码表中查询这个数字对应的字符打印出来 ?? ??? ?128-65535范围内的字符,eclipse以?处理 ?? ?2) 引用类型:类 数组 接口 ...
?2、基本类型字面值规则
- ? ??整数字面值是int类型
- ? ? byte,short,char三种比int小的整数可以用范围内的值直接赋值
- ? ? 浮点数的字面值是double类型
- ? ??字面值后缀L D F
? ? ? ? ? ? long a = 99999999999999L;
? ? ? ? ? ? float f = 3.14f;
? ? ? ? ? ? double d = 3.14d;
????????????0b - 标识这是2进制 ,如:0b0101
????????????0 - 标识这是8进制, 8进制是三位,如: 023
????????????0x - 标识这是16进制,如: 0x0001
????????????\u -标识这是char类型,属于16进制
3、基本类型的类型转换
箭头方向对应类型的取值范围由“小”到“大”,不是字节数

?3.1 小到大隐式转换
byte a = 127;
int b = a;
3.2 大到小强制转换
int a = 128;
byte b = (byte) a;
3.3 浮点转整丢失小数
float f = 3.14f;
int i = (int) f;? ? ? ? ? ? ? ? // i值为3
3.4?不能对boolean类型进行类型转换
4、数据类型的运算规则
4.1?计算结果的数据类型,与最大类型保持一致
System.out.println(3/2); System.out.println(3d/2); System.out.println(3d/2d); System.out.println(3/2d); System.out.println(3.0/2);
4.2?byte short char 类型进行运算时先提升到int再运算
byte a1 = 10; short b1 = 20; byte c1 = (byte) (a1 + b1);
对于+=、-=、*=、/=不需要强转
short s1 = 3;
short s2 = 5;
s1 *= s2;
4.3?整数运算的溢出问题
System.out.println(300000000*60*60*24*365);? ? ? ? //659193856 System.out.println(300000000L*60*60*24*365);? ? ? ? //9460800000000000 System.out.println(300000000*60L*60*24*365);? ? ? ? //9460800000000000 System.out.println(300000000*60*60*24*365L);? ? ? ? //-46585446400
4.4?浮点数运算不精确的问题
System.out.println(1-0.8);? ? ? ? //0.19999999999999996
4.5?浮点数的特殊值
System.out.println(10.0 / 0);?? ?//Infinity -- 无穷 System.out.println(0.0 / 0.0);?? ?//NaN -- Not A Number
|