Day8 类型转换
首要 不同类型的数据先转化为同一类型再运算
低——————————————————高
byte,short,char—int—long—float—double
//转换时尽量避免内存溢出
强制转换(高转低)
(类型)变量名
自动转换(低转高)
【注】
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干类型
-
转换的时候可能存在内存溢出或者精度问题
-
操作比较大的数注意溢出问题
-
1_000_000下划线不会被输出
-
先将一个数转换为同类型
e.g. long total = money*((long)years)
-
默认是int类型
变量、常量、作用域
变量
type varName [= value] [{,varName [= value]}];
//数据类型 变量名 = 值;可以用,隔开多个同类型变量——不建议!!!
变量作用域
-
类变量 如static:从属于class后面的这个类
static int allClicks = 0;
-
实例变量:从属于对象 不用初始化(类里面,方法外面)
String str = "hello world";
如果不进行初始化,默认值为0 0.0 …
布尔值默认是false除了基本类型,其余输出都是null
-
局部变量:必须声明和初始化量(在方法里面)
int i = 0;
常量
final 常量名 = 值;
/*常量名一般使用大写字符,static和final不存在先后顺序*/
变量的命名规范
- 类成员变量:首字母小写和驼峰原则 e.g. monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线 e.g. MAX_VALUE
- 类名:首字母大写和驼峰原则(class名)
- 方法名:首字母小写和驼峰原则
基本运算符
算术运算符
- %取余//注意默认是int,小数要换成double
赋值运算符=
关系运算符
-
判断是否等于==
-
不等于!=
//运算返回的结果:正确 错误 布尔值
逻辑运算符
-
和&&
-
或||
-
非!
System.out.println("a && b:"+(a&&b)); System.out.println("a||b:"+(a||b)); System.out.println("! (a && b):"+(a&&b)); //短路运算:假如a为假,那么运算到a时就不会继续往下算了
位运算符
位运算是以二进制位为单位进行的运算,其操作数和运算结果都是整型值。
位与'&',位或'|',位非'~',位异或'^',右移'>>',左移'<<',0填充的右移'>>>'
位运算的位与'&',位或'|',位非'~',位异或'^'与逻辑运算的相应操作的真值表完全相同,其差别只是位运算操作的操作数和运算结果都是二进制整数,而逻辑运算相应操作的操作数和运算结果都是逻辑值boolean型。
<< *2 ; >> /2
条件运算符(三元运算符)
x ? y : z 如果x==true,则结果为y,否则结果为z
扩展赋值运算符
a+=b; //a = a+b
a-=b; //a = a-b
//Ctrl+D:复制当前行到下一行
(以上为二元运算符)//优先级加()
字符串连接符+
如 “ ”为string类型,则+后自动转为String类型
System.out.println(""+a+b);//ab
System.out.println(a+b+"");//a+b
自增自减运算符
++ – 自增 自减 一元运算符
// ”++“和”--“用于数值变量之前,在赋值操作中,先对被”++“或”--“操作变量值先加1或者先减1,然后在进行其他的操作;
int a = 3;
int b = a++;//执行完这行代码后,先给b赋值,再自增
//b = 3
int c = ++a;//执行完这行代码前,先自增,再给c赋值
//c = 5
Math类(幂运算)
public class Demo02 {
public static void main(String[] args) {
double pow = Math.pow(2, 3);
System.out.println(pow);
}
}
包机制
- 一般利用公司域名倒置作为包名
- package在最上面
- 导入包 import … ; .*会导入这个包下所有的类
JavaDoc
用来生成自己的API文档
public class Doc {
String name;
/**
*
* @param name
* @return
* @throws Exception
*/
public String test(String name) throws Exception{
return name;
/*@author
@version
@since指明需要最早使用的jdk版本
@param
@return
@throws
*/
//加在类上面就是类的注释,加在方法上面就是方法的注释
}
}
cmd JavaSE文件夹>javadoc -encoding UTF-8 -charset UTF-8 Doc.java生成文档