天亮教育day02总结

1.存储原理

文本文件 给人看的,也叫源文件

二进制文件 给电脑看的,01010100

  1 )数据要运算 必须先存储

  2 )存储方式

                  内存 : 两端无限延伸的线

                  硬盘 : 螺旋线

   3) 存储单位

                  bit : 比特,一个比特就是一个电子位,统称位

                  byte : 字节 = 8bit

                  short : 短整型 = 16bit

                  int : 整型 = 32bit

                  long : 长整型 = 64bit       

         为了表示负数,最高位作为符号位,1表示负数 , 0表示正数

                  负数 存储补码 

                          反码就是原码取反,1就是0,0就是1,符号位不变

                          反码+1 就是补码          

                          -128 ~ 127

                          -2^(n-1) ~ 2^(n-1)-1

2.基本数据类型分为:数值型、字符型(char)、布尔型(boolean)

其中数值型又分为整数类型和浮点类型

3。char类型中还需掌握的是转义符的概念比如在字符中想出现单引号这类字符时需加上转义符“\”来实现还有换行\n、\r、制表符\t等

4.在静态/成员变量中整型初值为0   浮点型为0.0  字符型为\u0000  布尔型为false  引用型为null

5.常量在整个生命周期中值不可改   或final声明的变量值不可更改

6.变量:有名字的内存空间,值可变

7.全局变量:允许在类之外创建变量,和类同级别,所有类都可以访问这个变量,不需要二次引用

二次引用:就是没有使用.这个操作符(xxx.age)

java不允许这个变量创建在类之外但是可以将一个变量设置为public,那么其他类都可以使用这个变量,但使用时需用.

全局变量缺点:安全性差,容易出现命名冲突

8.变量分为:成员变量、静态变量、局部变量

9.变量的调用

10.变量的同名问题

11.优先级:局部变量优先级最高

12.算术运算符

13.位运算符

14.位运算扩展

*     ~ : 按位非, 比如 0 的二进制 00000000 , ~0之后 ,就是 11111111 这是补码, 11111110 这是反码, 10000001 这是原码

 * >> : 右移运算(考虑符号位,就是再怎么移位,符号位不受影响)

 *                     8 >> 2       = 2

 *                     8 的二进制为 0000 1000,右移两次, 就删除最右边两位,并再最左边补两个0(符号位之后)

 *                     8 >> n = 8 / 2^n

 *                     如果是负数 就补1 , 正数 补0

 *                     -8 : 1000 1000   1111 0111   1111 1000

 *                     -8 >> 1 : 1111 1100

 *                     1111 1011  1000 0100

 *                     -8 >> 2 : 111111 10    1111 1101   1000 0010

 *                     -8 >> 4 : 1111 1111    1111 1110   1000 0001

 *            负数 右移之后 最小值 也是-1 , 正数 右移之后 最小值是 0

 *            右移 1次 就等于 / 2

 * << : 左移运算(考虑符号位,就是再怎么移位,符号位不受影响)

 *                     删左边,补右边补0

 *                     2 << 2 : 0 0  001000  = 8

 *                     -2 << 2 :  1111 1000  1111 0111  1000 1000

 *                     8 << n = 8*2^n

 * >>> : 右移运算(不考虑符号位),只向最左边补0

 *            正数 和 >> 一样,因为补0 , 正数符号位 就是0

 *            但是负数就不一样了,因为负数 首位是1,如果补0之后,就成正数了

 *            1073741822

 *            -8 : 1000 0000 0000 0000 0000 0000 0000 1000

 *            -8 : 1111 1111 1111 1111 1111 1111 1111 0111

 *            -8 : 001111 1111 1111 1111 1111 1111 1111 10

 *            -1 >>> 1

 *                     01111 1111 1111 1111 1111 1111 1111 111 = 2147483647

 *  JAVA面试题:请问如何可以更快的计算出2的3次方

 *            2<<2

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值