类型转换
原则上是低---------->高
byte,short,char->int->long->float->double
运算中,不同类型的数据先转化为同一类型,然后再进行运算
注意数据溢出问题
强制类型转换
高----->低
在数据前面加上(数据类型)
案例
//可以用下划线_分割数字,不改变大小
int a=10_0000_0000;
int b=20;
int c1=a*b;
long c2=a*b;
long c3=a*(long)b;
System.out.print(c1);
//输出负数溢出了
System.out.print(c2);
//输出还是负数
System.out.print(c3);
//输出正常
说明是先计算再赋值,先计算结果溢出了,赋值给long类型的c还是溢出后的结果
自动类型转换
低----->高
(int)1.1;
//输出1
变量
变量就是可以变化的量
局部变量必须声明初始值
常量
常量初始化后不能变化
final 常量名=值
常量名一般用大写
变量的命名规范
- 所有变量、方法、类名:用英语,见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man、GoodMan
- 方法名:首字母小写和驼峰原则:run(),runRun()
运算符
- 算术运算符:+,-,*,/,%,++,–
- 赋值运算符:=
- 关系运算符:>,<,>=,<=,==,!=instanceof
- 逻辑运算符:&&,||,!
- 位运算符:&,|,^,~,>>,<<,>>>(了解)
- 条件运算符?,:
- 扩展赋值运算符:+=,-=,*=,/=
自增自减
int a = 3;
int b = a++;
//先赋值再自增,此时a=4,b=3
int c = ++a;
//先自增再赋值,此时a=5,c=5
三元运算符
int a = 1;
int b = 2;
int c = a>b?a:b;
//a>b为true则c=a=1;否则c=b=2;
包机制
- 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间
- 包语句的语法格式为:
package pkg1[.pkg2[.pkg3…]];
一般利用公司域名倒置作为包名:com.xxx.xxx- 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包,使用import语句可完成此功能
import pkg1[.pkg2…].(classname|*);
JavaDoc
- javadoc命令是用来生成自己API文档的
- 生成html文件
参数信息
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况