day02_java基础

来源:互联网 发布:世界ol装备进阶数据 编辑:程序博客网 时间:2024/05/22 07:47








进制的由来:任何数据在计算机中都是以二进制的形式存在的。二进制早起由电信号开关演变而来。

一个整数在内存中一样也是二进制的,但是使用一大串的1或者0组成的数值进行使用很麻烦。

所以就想把一大串缩短点,将二进制中的三位用一位表示。

这三位可以取到的最大值就是7.超过7就进位了,这就是八进制。

 

但是对于过长的二进制变成八进制还是较长,所以出现的用4个二进制位表示一位的情况,

四个二进制位最大是15,这就是十六进制。

 

规律,进制越大,表现形式越短。

 






char是 0到65535




b=3+4 ,3和4都是常量,所以java在编译时期会检查该常量的和是否超出byte类型的范围。如果没有可以赋值。

b=b1+b2不可以,是因为b1和b2是变量,因为变量的值会变化,不确定具体的值,所以默认使用int类型进行存储。





因为计算机只识别数字,它用了一个表如gbk表将数字和字母进行了对应起来

无论是图片,中文,dvd在内存也是与表对应起来的数字,中文也可以进行比较大小,底层是使用的uncode来实现






s=s+2//编译失败,因为s会被提升为int类型,运算后的结果还是int类型。无法赋值给short类型。

s+=2//编译通过,因为+=运算符在给s赋值时,自动完成了强转操作。



第十五讲

int a = 3;

a++;//相当于a=a+1;

System.out.println("a="+a);//输出结果为4

然而也如果是a+1;//这样是不正确的,加完了过后,没有赋值,所以也会报错

 

int i = 3;

i= i ++ ;

System.out.println(i);//结果是3

原因分析:

其实是这样一个过程

如果i要参与其他运算,那么要先把i用一个临时变量保存起来

Temp = i

I=i+1

I = temp;

 

面试题:

Short s = 3;

s +=4;

System.out.println(s);//结果为7

s = s+4;//这个可能损失精度

然而也+=他底层会帮我强转,这个s=s+4这个是要我们手动转换

就是short s = 3,会把3转换为short类型



0 0
原创粉丝点击