<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg>
讯享网
有符号的数据表示法
概念:(重要)
在计算机内,有符号的数有3种表示方法:原码、反码、补码。,所有数据按补码进行运算。
讯享网
讯享网
练习:
讯享网
概念:
例子:price = 20 ;
- 想要定义一个变量,必须要有一个限定条件,的有个数据类型来限定变量。
- 参与运算的时候,不能直接拿内存中的空间去参与运算,应该取个名字,叫变量名。
- 仅仅只拿到这个空间,但是里面没有值,也无法参与运算,必须先赋值,给其一个初始化的值。
数据类型:
格式:数据类型 变量名 = 初始化值;
格式是固定的。
前言
Java语言是强类型语言,对于每一种数据都定义了明确的具体数值。
1、你想要定义变量的,得有个限定条件
如何限定呢? 数据类型
2、将来我们参与运算的时候,不能直接拿内存中的空间去参与运算。应该给这个空间起个名字。 变量名
3、仅仅只拿到这个空间,但是里面没有值,这样也是不能够参与运算的,我们得先赋值,才能参与运算。 初始化值
分类
1、基本数据类型(4种8类)
讯享网
注意事项:
a、在定义long类型的时候要在末尾加上L(l),由于小写的区分度不明显,不建议使用。
b、小数默认是float,整数默认是int类型。
c、定义float类型的变量数据,末尾加上F或者f
注意事项:
1、定义变量的注意事项
2、默认转换(小的用大的接收)和强制类型转换(大的用小的接收)
在使用变量的时候,需要注意哪些问题?
1、作用域的问题 变量定义在哪个大括号内,它就在哪个大括号内有效 并且,在同一个大括号内不能同时定义同名的变量
2、在方法内部没有初始化值的变量不能直接使用 你只需要在使用之前赋值就可以了,不一定非要在定义的 时候就给值
定义变量的格式:
``
讯享网
``
强制类型转换
口诀:
byte,short,char一律自动转换为int
小的用大的接收不用强转
大的用小的接收需要强转
图示:为什么int类型的不能默认转为byte类型:

补充(重要)
变量相加首先看类型
讯享网
补充(重要)
定义两个byte类型的数据,将其之和赋值给一个新的byte类型数据
讯享网
此时结果为3,与预期一致
byte类型的数据范围为-127~128,猜想,若此时将上述代码改成

结果是-100?!
byte类型的数据占用1字节,即8位,但是在进行相加运算时,系统会自动转换为int类型(4字节)进行运算
int型整数67的二进制为
int型整数89的二进制为
相加后,得到的int型整数156的二进制为
在经过强制类型转换(byte)后,其结果为
编码的最高位为1,所以编译器认为这是一个负数
而上述提到,负数用补码表示,需要转换为原码,故取反加1
取反
加1
也就是100,因为是负数所以添上符号,结果为-100。
讯享网
2、引用数据类型(后续再说)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/160617.html