【第22期】观点:IT 行业加班,到底有没有价值?

基本数据类型那点事

原创 2015年07月09日 14:26:23
     数据类型是什么?数据类型就是对于数据定义,每一种数据类型都会分配一定的内存空间,而它往往是和
 变量在一起使用的,变量又是某个范围内可发生改变的量,这里不多做介绍
 一、提出问题
     下面是一道公司的面试题
		
byte b1 = 3,b2 = 4,b;
b = b1 + b2;
b = 3 + 4;

      问题是程序执行到哪一步会出错,为什么?
      这段程序执行结果是这样的
	
	在代码的第三行会出现了不兼容的类型问题
 二、分析问题
       在java中数据类型byte,1个字节;int(默认类型),4个字节
       在声明变量时,b1,b2,b都为byte型,并且b1,b2都有初始值分别为3,4
      1.因为java中默认的数据类型为int,在执行b1+b2时会自动先把相加后的和转换为int型,即4个字节,
     然后在赋值到b中,又因为byte型只有一个字节长度,从int型转换到byte需要截取三个字节,所以会出
     现数据可能会有损失的错误;
      2.第三行按理来说也会出现这样的问题,但是没有报错,这是因为对于常量在做运算的时候是提前把结
     果运行出来的,原因如下
	每次写完代码之后我们需要先编译,然后再运行程序,常量的运算在编译的时候就会自动执行,并且
     结果已经计算出来那么在运行的时候就不会出现数据损失的错误,对于变量由于数据是不一定的,需要在
     执行时计算,我们在编译的时候就会发现前后数据类型不一致,然后就会提示我们
       解决这个问题也不难,只要把b1+b2强制转换为byte类型就行了
 三、小结
     java中的数据类型是自动向上兼容的,如果全部声明为long类型也就不会出现错误
		1.byte,short,char-int-long-float-double  从小到大转换
		2.byte,short,char之间不相互转换
     对于一些特别细节的东西以前没有那么在意,当真正用到的时候就会出现问题


            
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

8大基本数据类型

基本数据类型 数据类型 大小 范围 默认值 字节型:byte 8位 -27 ~ 27-1 0 字符型:char 16 ‘ \u0000~u\ff...

数据—— java四类八种基本数据类型

java基本数据类型就8种,记住就好了。除了这些都是引用型的了。 java四类八种基本数据类型 第一类:整型 byte short int long 第二类:浮点型 float doub...

java的基本数据类型四类八种

java基本数据类型:四类八种 数值型:整型 byte short int long 非数值:字符型 char 浮点型 float double 布尔 boolean ...

第三章 数据和C:基本数据类型整理

整数:没有小数点的数。 浮点数:含有小数点以及用指数形式表示的数(例如7.00,3.1E7,2e-8) 浮点数用于整数的存储方式不同。例如整数7的二进制表述为111,在8位的字节中存储需要将前五位置零...

基本数据类型的详细介绍

[0]5种数据类型: [0.1]基本数据类型:Undefined、Null、Boolean、Number、String [0.1.1]基本类型值是指简单的数据段,5种基本类...

mysql基本数据类型详解

MySQL与SQLServer的数据类型大同小异。因此,可以忽略与SQLServer相同的地方,在SQLServer的基础上学习。 一、整型的显示宽度   MySQL数据类型与SQLSer...

c++基本数据类型扫盲

1、有unsigned long int谈起 在32位系统中,字节数为4字节。 整型的每一种都有无符号和有符号两种类型(浮点float和双精度double总是带符号的),在默认情况下声明的整型...

九种基本数据类型,以及他们的封装类

基本类型 大小(字节) 默认值 封装类 byte 1 (byte)0 Byte short 2 (short)0 Short int 4 0 In...

Java四类八种基本数据类型

第一类:逻辑型boolean 第二类:文本型char 第三类:整数型(byte、short、int、long) char类型占2个字节 short从-32768到3...

互联网运营人员不得不知的14款工具神器

作为一位拥有多年互联网产品运营经验的运营猫,我深知日常运营工作的繁杂,也深刻体会到靠谱的工具对提升运营效率的重要性。常言道,工欲善其事,必先利其器。在本文中,就结合实际互联网运营工作,给大家推荐一些能...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)