数据类型,数据类型转换以及进制转换

一,字面值常量
*字符串常量 用双引号括起来的内容
*整数常量 所有整数
*小数常量 所有小数
*字符常量 用单引号扩起来的内容,里面只能放单个数字,单个字母或单个符号
(’'中放的必须是单个字符,10代表的是1字符和0字符
''中什么也不放也是不可以的,因为代表不了任何字符)
*布尔常量 较为特殊的只有true和false
*空字符 null
二,进制
A:什么是进制
进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制–X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。
例如一周有七天,七进制,一年有十二个月,十二进制
B:十进制的由来
十进制的由来是因为人类有十个手指
C:二进制的由来
其实二进制来源与中国,请看史料记载
18世纪德国数理哲学大师莱布尼兹从他的传教士朋友鲍威特寄给他的拉丁文译本《易经》中,读到了八卦的组成结构,惊奇地发现其基本素数(0)(1),即《易经》的阴爻yao- -和__阳爻,其进位制就是二进制,并认为这是世界上数学进制中最先进的。20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,其运算模式正是二进制。它不但证明了莱布尼兹的原理是正确的,同时也证明了《易经》数理学是很了不起的。
D:八进制的由来
任何数据在计算机中都是以二进制的形式存在的。二进制早期由电信号开关演变而来。一个整数在内存中一样也是二进制的,但是使用一大串的1或者0组成的数值进行使用很麻烦。
所以就想把一大串缩短点,将二进制中的三位用一位表示。这三位可以取到的最大值就是7.超过7就进位了,这就是八进制。
E:十六进制的由来
但是对于过长的二进制变成八进制还是较长,所以出现的用4个二进制位表示一位的情况,四个二进制位最大是15,这就是十六进制。
F:不同进制表现同一个数据的形式特点
进制越大,表现形式越短

进制位越大表现的形式越简单
在这里插入图片描述

三,不同进制数据的表现形式
A:二进制的表现形式
*由0,1组成,以0b开头(b大小写都可以)
B:八进制的数据表现形式
*由0到7组成,以0开头
C:十进制的数据表现形式
*由0到9组成,整数默认是十进制的
D:十六进制的表现形式
*由0,1…,9,a,b,c,d,e,f(大小写均可),以0x开头

四,任意进制到十进制的转换(图解)
在这里插入图片描述

**五,十进制到任意进制的转换图解
在这里插入图片描述

六,快速的进制转换法**
在这里插入图片描述

60转换为二进制,
64,32,16,8,4,2,1
60-64=0------->0
60-34=28------>1
28-16=12------>1
12-8=4--------->1
4-4=0---------->1
0-2=-2--------->0
-2-1=-3-------->0
前边的0可以不要排起来就是111100
七,源码反码补码
A:为什么要学习源码反码补码?
*如果不学看不懂强制类型转换的结果
B:有符号数据表示法的几种方式
*源码:
*就是二进制定点表示法,即高位为符号位(最左边的数),"0"表示正,"1"表示负,
其余位表示数值的大小
*反码:
*正数的反码与其源码相同,负数就是对其源码卓位取反(0变1,1变0)但是符号为不变
*补码:
*正数的补码与其源码相同,负数的补码是其反码的末尾加一
在这里插入图片描述

八,数据类型的概述和分类
*A:为什么有数据类型
java语言是强类型语言.对于每一种数据都定义了明确的具体数据类型,
在内存中分配了不同大小的内存的空间
*B:java中数据类型的分类
基本数据类型
引用数据类型
*C:基本数据类型分类(4类8种)
整数型:
byte 占一个字节 -128到127
short 占两个字节 -215到215-1
int 占四个字节 -231到231-1(整数默认的是int)
long 占八个字节 -263到263-1(使用时在后边加一个L大小写都行)
浮点型
float 占四个字节 单精度(使用时在后边加一个F大小写都行)
double 占八个字节 双精度(小数默认的是double)
字符型
char 占两个字节 0到65535(唯一一个没有负取值的)
布尔型
boolean 理论上占八分之一个字节,因为一个开关就可以决定true和float
但是在java中没有明确他的大小
九,使用变量的注意事项
1,作用域问题:
同一个区域不能使用相同的变量名
2,初始化值问题:
局部变量在使用之前必须赋值
3,一条语句可以定义几个变量
n个

十,数据类型转换
隐式转换
当小的数据类型与大的数据类型相加时,小的会提升为大的类型,之后再相加
强制类型转换
int b =10;
byte a = 20;
b = a+b;
转换格式
b = byte(a+b)
注意:
如果超出了被赋值的数据类型的取值范围那么得到的结果可能有误
(因为int是4个字节,转换成一个字节的byte会砍掉前面的24个0,只保留后八位,
如果超出范围就会有数被砍去)
在这里插入图片描述

实例:
在这里插入图片描述

十一,lang与float谁的取值范围更大
当进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int,
其他的是小的提升为大的
从小到大:
byte,short,char—int ---- long ----float-----double

long:8个字节
float:4个字节
但是IEE754规定float的4个字节时32个二进制位
1位是符号位,
8位是指数位
00000000到11111111(0到255之间)
并且规定0代表0,255代表无穷大,并且还要减去127,
所以它的指数为就是-126到127之间
剩下的23位是尾数位
而且float的取值范围要比long的大(long是63次幂float是127次幂)
十二,char数据类型
char的取值范围是0到65535,单引号只能存一个字符
char可以存储中文,因为char在内存中占2个字节,
中文也占两个字节
十三,常见运算符
A:什么是运算符
就是对常量和变量进行操作的符号。
B:运算符的分类
算术运算符,赋值运算符,比较(关系或条件)运算符,逻辑运算符,位运算符,三目(元)运算符
C:算数运算符有哪些
+,-,*,/,%,++,–
D:注意事项:
a:+号在java中有三种作用,代表正号,做加法运算,字符串的连接符
b:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型
c:/获取的是除法操作的商,%获取的是除法操作的余数
%运算符
当左边的绝对值小于右边绝对值时,结果是左边
当左边的绝对值等于右边或是右边的倍数时,结果是0
当左边的绝对值大于右边绝对值时,结果是余数
%运算符结果的符号只和左边有关系,与右边无关
任何一个正整数%2结果不是0就是1可以用来当作切换条件
十四,++和–的用法
A:++,–运算符的作用
自加(++)自减(–)运算
++:自加。对原有的数据进行+1
–:自减。对原有的数据进行-1
B:案例演示
a:单独使用:
放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)
b:参与运算使用:
放在操作数的前面,先自增或者自减,然后再参与运算。
放在操作数的后面,先参与运算,再自增或者自减。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值