黑马程序员----java学习笔记之由int转换成byte

原创 2013年12月05日 10:59:45
------- android培训java培训、期待与您交流! ----------

          1、java程序中默认的整数数值的数据类型为int,默认的小数点数值的数据类型为double。

        

           

           

                1)和2)都是把一个int型的数值赋值给一个byte型,但1)并没有提示转换类型错误。这是因为在编译器遇到int型转换成byte型时,先对数值进行判断,如果该数值在byte型数据表示的范围之内则不报错,否则则报错!下面再看一个例子。

               

                为什么同样是int型的数据同样在byte数值范围内又同样需要由int转换成byte,第一行的程序没报错,第二行的程序却报了错呢?对比可知,第一行的等号右边是固定数值而第二行的等号右边含有变量,所以:

                综上所述,编译器在遇到需要由int转换成byte时,首先判断的应该是该int是固定数值,还是含有变量的代数式(不管是含+、-、*、/等等的代数式)。如果是前者就继续判断该固定数值是不是在byte的数值范围内,在就可变换,不在就报错;如果是后者,那就直接报错。

              可能你还会有疑问,为什么含有变量的代数式在遇到由int转变成byte时报错,固定数值就不报错?我个人认为,因为代数式里含有变量,所以它的运算结果就是不确定的。在含有该代数式的代码行前面的代码里,变量可能会有不同的数据。有的数据可以使该代数式的运算结果在byte的数值范围内,而其它的则不能。就想4)中b+2的结果是5在byte的数值范围内,但如果b的值不是3,是127(因为b是byte变量,所以你可以给它赋127的),那么b+2的运算结果就不在byte的数值范围内了!那么此时该含有代数式的代码行就不是正确的了,所以编译器不会通过,会报错!

       

黑马程序员JNI学习笔记

  • 2013年05月23日 23:49
  • 37KB
  • 下载

求java编程 字节byte怎么转换成整形int?

1.byte的大小为8bits而int的大小为32bits 2.java的二进制采用的是补码形式 在这里先温习下计算机基础理论 byte是一个字节保存的,有8个位,即8个0、1。 8位的第...

黑马程序员 JAVA基础--关键字,标识符,运算符,二进制的转换的学习笔记

一关键字    关键字是java中系统编译器用于辨别该变量属于什么样的数据类型,或者表示什么样的数据结构等。常见的关键字有如下这些 其中, a数据类型可以分为             1基本数据类...

黑马程序员J_ava学习笔记_Java中的基本数据类型转换详解

----------------------- android培训、java培训、java学习型技术博客、期待与您交流! ----------------------   Java中的基本数据类型...

黑马程序员_O‘Reilly java nio学习笔记之通道_socket通道

---------------------- android培训、java培训、期待与您交流! ---------------------- 6.socket通道      新的 so...

黑马程序员java学习笔记——内部类、异常、包

今天的要写的内容是内部类和异常。CSDN写有点麻烦,每次写完,想去生成的网页看一下有没有要改的地方,还要等着审核通过才能看到,真心麻烦。     内部类     定义:将一个类定义在另一个类的里面,...

黑马程序员_对于Java高新技术的学习笔记

---------------------- android培训、java培训、期待与您交流! ---------------------- 马上去黑马学习了 又回过头来把张老师的视频过一遍心里有...

黑马程序员_java基础加强学习笔记之(JDK1.5新特性)

JDK1.5新特性:主要是通过一些特性来简化开发的代码,提高代码的复用性以及安全性。 JDK1.5新特性有: 1静态导入(Static import) 2可变参数(Var args) 3增强的“for...

黑马程序员 java编程之面向对象学习笔记

面向对象: 以前学习过C语言,C语言是面向过程,里面功能的实现都是由调用一个个的 函数来完成的,而java是面向对象的编程语言,它有以下几个特点: 1,java中讲很多的数据都封装在类里面,再通...

【黑马程序员】 学习笔记 - Java数组及排序算法

JAVA数组及排序算法 一  数组 1.定义 定义:有联系的一些相同的数据类型的数据放在一起定义,这就是数组。 意义:我们可以很方便的来批量操作同一个数组内部的元素。 定义数组的方法:数据类型[]...
  • arp1991
  • arp1991
  • 2013年11月17日 21:25
  • 509
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员----java学习笔记之由int转换成byte
举报原因:
原因补充:

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