第七天

类型转换

  1. 强制类型转换 (高转低)

  2. 自动类型转换 (低转高)

    =========================================================

    注意两点:

    1. 不能转为不同的类型,就是不能把数字类型转化为布尔值

    2. 高容量转化为低容量需要强制转换,注意内容溢出(出现随机数字)

      ,还有注意转化化精度!

  3. 操作比较大的数值时候

转换之前已经存在问题!!!!所以得以上述图2所示,运算之前要转换!

 

 

变量

  1. 变量是什么:就是可以变化的量

  2. JAVA是一种强类型语言,每个变量都必须声明其类型

  3. JAVA变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

注意事项:不建议一行定义多个值

每个变量都需要类型,类型可以是基本的,也可以是引用类型

变量名必须是合法的标识符

变量声明是一条完整的语句,因此每一个声明都必须以分好结束

image-20210630233016853

变量的作用域

  1. 局部变量

在方法内有用(方法括号内)

  1. 实例变量

    作用域比局部变量更加大,在方法外面,从属于对象需要new后才能被使用(暂时不知道new)是什么东东

  2. 类变量

    相当于实例变量加上static关键词,可以直接使用,也在方法之外,与类一起出现,一起消失。由于还没有学new,所以直接加上statci先

    image-20210704110232049

 

常量

常量:初始化后不能改变值!不会变动的值

所谓的常量可以理解为一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变

final 常量名=值;

fianl double PI=3.14;

常量名一般使用大写符号!中间用_隔开 例如

MAK_ZHI_DONG

image-20210704111332135

 

变量的命名规范

  1. 所有的变量、方法、类名:得见名知意

  2. 类成员变量:首字母小写与驼峰原则(举例:monthSalary)

  3. 局部变量:首字母小写和驼峰原则

  4. 常量:大写字母和下划线:MAK_ZHI_DONG

  5. 类名:首字母大写和驼峰原则 :Man,GoodMan

  6. 方法名:首字母小写和驼峰原则:runRun()

 

运算符

Java 语言支持如下运算符

算术运算符:+、-、*、/、%(取余,Java叫做摸)、++()、--

赋值预算符:=

关系运算符:>、<、>=、<=、==(!!!!这是真的=号)、!=(不等于)也可以写作instanceof

逻辑运算符:&&、||、!(与、或、非)

位运算符:&、|、^、~、>>、<<、>>>(了解)

以下两个偷懒用

条件运算符:

扩展赋值运算符:+=、-=、*=、/=

image-20210704115539465

image-20210704120412365

image-20210704120643502

自增自减

image-20210704174607899

d++:先赋值后运算

++d:先运算后赋值

幂运算:用到数学工具

image-20210704175305821

 

 

逻辑运算

image-20210704181312454

 

位运算::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

 

+=、-=

image-20210704185932465

 

 

面试题:下面两个输出的有什么不同?

System.out.println(""+a+b);
System.out.println(a+b+"");

image-20210704190408889

//前面的+变成了字符串连接符,变成了拼接

//后面的就先输出运算。再输出字符串

 

三元运算符

偷懒写法,使得代码更加精简:(以后会用if)

image-20210704191329558

 

运算符:优先级()

image-20210704191639239

不用刻意去记住,以后用()解决

包机制

image-20210704192133111

 

image-20210704202644516

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2021-07-08 00:00  凶残豆沙包  阅读(51)  评论(0)    收藏  举报