正文 1.注释
1.1单行注释
//单行注释
1.2多行注释
1.3文档注释
既可以为类生成文档注释,也可以为方法生成文档注释
2. 标识符
任何变量、方法都有一个名字,这个名字就是标识符所有的标识符都由字母、美元符号 $ 、数字或者下划线组成,且只能以字母、$或者下划线开始。标识符大小写敏感不建议中文命名
3. 数据类型
3.1 java数据类型分为基本类型和引用类型
3.2 各数值类型的表示范围
byte:[-128,127]
short:[-32768,32767]
int:[-2147483648,2147483647]
long:[-9223372036854774808,9223372036854774807]
数字后加L表示long型的整数
long l=30l;
小数后加F表示float型,不加F默认double类型
float f=30F;
3.3 各进制的表示
二进制 0b整数十进制 整数八进制 0整数十六进制 0x整数
避免使用浮点数进行比较,浮点数不能提供完全精确的结果,所以不应该被用于要求精确结果的场合。当需要精确计算时需要用BigDecimal类
4. 类型转换
低-------------------------------> 高
byte,short,int,long.float,double
4.1 强制类型转换 (高转低,可能会溢出或者精度问题)
格式:(强转类型)变量int a=128; byte b=(byte)a;//内存溢出 double d=2.5; int a=(int)d;//精度问题
4.2 自动类型转换(低转高)
byte a=1; int b=a;
不能将整型转换为boolean
int a=10; if(a=10){ }
不能转为不相关的类型
JDK7新特性,数字之间可以用下划线分割
int a=10_0000_0000; System.out.println(a);
所有数值类型的初始化为0或0.0
boolean默认false
其他类型默认null
常见溢出问题
int a = 10_0000_0000; int b = 20; double c=a*b; System.out.println(c);
输出:-1.47483648E9
原因是a*b运算时已经溢出
解决措施
int a = 10_0000_0000; int b = 20; double c=a*(double)b; System.out.println(c);
5. 常量输出:2.0E10
5.1 java中使用final表示常量,常量只能赋值一次,常量名习惯上大写
final int PI; PI=4; PI=6;//错误补充
静态方法只能调用静态方法,只能使用类中的静态变量
6. 数学函数5.2 命名规范
类成员变量、局部变量、方法名首字母小写驼峰原则类名首字母大写驼峰原则常量大写
Math类包含各种数学函数
6.1 求平方根sqrt函数
函数原型 static double sqrt( double a )double y=Math.sqrt(4); System.out.println(y);
6.2 幂运算
函数原型 static double pow(double a,double b ) ab
6.3 整数余数的问题
函数原型 public static int floorMod(int x, int y )int x=5; int y=Math.floorMod(x+1,6);//将x+1转换为0~5的数 System.out.println(y);输出:0
6.4 三角函数
Math,sin
Math.cos
Math.tan
Math.atan
Math.atan2
6.5 指数函数、对数函数
Math.exp
Math.log
Math.logl0
Math.PI π 常量的近似值
Math.e e 常量的近似值
使用Math类的方法可以不用加Math,在package下面导入包即可
import static java.lang.Math.*;
8. 包机制7.1 关系运算符 <,>,>=,<=,!=,==
7.2 boolean运算符&&,||按照短路求值,具体就是condition1 && condition2 ,condition1为假,则表达式为假,condition2不再执行.
7.3 位运算符 &,|,>>,<<
&和|也可以作为boolean运算符,不采用短路求值。
<<,左移,低位添0,符号位不变。 >>右移,符号位不变
为了解决同一个文件夹下同名的冲突,java引入了包机制,包实际上就是文件夹,不同包下可以建重名的类。
一般将公司的域名的倒置作为包名.
package [包名];此语句必须写在第一行
导包:当需要用其他包的类的方法就需要导包
import 包名.类名;
导入其他包所有的方法
import 包名.*;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)