第七天
-
强制类型转换 (高转低)
-
自动类型转换 (低转高)
=========================================================
注意两点:
-
不能转为不同的类型,就是不能把数字类型转化为布尔值
-
高容量转化为低容量需要强制转换,注意内容溢出(出现随机数字)
,还有注意转化化精度!
-
-
操作比较大的数值时候
转换之前已经存在问题!!!!所以得以上述图2所示,运算之前要转换!
变量
-
变量是什么:就是可以变化的量
-
JAVA是一种强类型语言,每个变量都必须声明其类型
-
JAVA变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
注意事项:不建议一行定义多个值
每个变量都需要类型,类型可以是基本的,也可以是引用类型
变量名必须是合法的标识符
变量声明是一条完整的语句,因此每一个声明都必须以分好结束
变量的作用域
-
局部变量
在方法内有用(方法括号内)
-
实例变量
作用域比局部变量更加大,在方法外面,从属于对象需要new后才能被使用(暂时不知道new)是什么东东
-
类变量
相当于实例变量加上static关键词,可以直接使用,也在方法之外,与类一起出现,一起消失。由于还没有学new,所以直接加上statci先
常量
常量:初始化后不能改变值!不会变动的值
所谓的常量可以理解为一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
final 常量名=值;
fianl double PI=3.14;
常量名一般使用大写符号!中间用_隔开 例如
MAK_ZHI_DONG
变量的命名规范
-
所有的变量、方法、类名:得见名知意
-
类成员变量:首字母小写与驼峰原则(举例:monthSalary)
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线:MAK_ZHI_DONG
-
类名:首字母大写和驼峰原则 :Man,GoodMan
-
方法名:首字母小写和驼峰原则:runRun()
运算符
Java 语言支持如下运算符
算术运算符:+、-、*、/、%(取余,Java叫做摸)、++()、--
赋值预算符:=
关系运算符:>、<、>=、<=、==(!!!!这是真的=号)、!=(不等于)也可以写作instanceof
逻辑运算符:&&、||、!(与、或、非)
位运算符:&、|、^、~、>>、<<、>>>(了解)
以下两个偷懒用
条件运算符:
扩展赋值运算符:+=、-=、*=、/=
自增自减
d++:先赋值后运算
++d:先运算后赋值
幂运算:用到数学工具
逻辑运算
位运算::0是false,1相当于true
A=0011 1100
B=0000 1101
A&B= 0000 1100 //两个进行比较,如果两个都是1则为1,否则为0
A|B= 0011 1101 //如果对应位都为0,则结果为0,有一个为1则为1
A^B= 0011 0001 //位运算时^为异的意思:相异为1(真);相同则为0(假)
~B= 1111 0010 //直接取反
问题:如何使得2*8计算最快?
2*8=16 写成 2乘2乘2乘2
使用<< 左移 :相当于把数字乘以2
右移>>:相当于把数字/2
直接用到底层逻辑。效率极高!
二进制表示:
0000 0000 为0
0000 0001 为1
0000 0010 为2
0000 0011 为3
0000 0100 为4
0000 0101 为5
0000 0110 为6
0000 0111 为7
0000 1000 为8
0001 0000 为16
+=、-=
面试题:下面两个输出的有什么不同?
System.out.println(""+a+b);
System.out.println(a+b+"");
//前面的+变成了字符串连接符,变成了拼接
//后面的就先输出运算。再输出字符串
三元运算符
偷懒写法,使得代码更加精简:(以后会用if)
运算符:优先级()
不用刻意去记住,以后用()解决
包机制
浙公网安备 33010602011771号