黑马程序员 Java基本数据类型.

来源:互联网 发布:什么软件看电影免费 编辑:程序博客网 时间:2024/06/09 23:53

-----------android培训、java培训、java学习型技术博客、期待与您交流! ------------....

Java 基础知识中的,数据类型在Java中数据类型有两种,一种是基本数据类型,一种是引用数据类型,在基本数据类型中,又有包含了八种类型,分别是,byte char short int long float double  boolean现在就对这八种基本数据类型进行分析和介绍;byte 字节型,包含了一个字节,它的取值范围是在,-128~127 之间,如果不是在这个范围之内的话,那么就能定义成byte 类型的.char 字符型,包含了两个字节,他在定义的时候,用的是单引号,扩起来的,一个数字或字母,如果定义成,双引号的话,那么就会报错      这个地方要小心一点.如; char ch ='a'; 而不能 写成 char ch ="a";这样是错误的.这个是字符串类型的.     short 短整型,包含了两个字节,(-2的15次方 ~ 2的15次方-1),这个地方表示的不是太好,别太介意.那么我们在定义的时候也不能超出范围     要是超出的话,也是不能编译通过的.int 整型,他是我们经常用到的一个类型,它包含了4个字节,(-2的31次方 ~ 2的31次方-1),这个地方表示的不是太好,别太介意,但是在定义的    时候也是不能超出范围的,在默认的情况之下都是,int 类型的.long 长整型,这种类型,不是很常用,但是我们也要知道,它包含了8个字节,(-2的63次方 ~ 2的63次方-1),这个地方表示的不是太好,别太介意      float 和 double 都是浮点型(就是小数),float是包含了4个字节,double是包含了8个字节.上面说完了它的类型,和范围的话,就要说一下他们到底是怎么用的了,这个时候就要用到变量了,那什么,叫做变量呢? 从字面上理解的话,它就是变换的量.当我们定义一个变量的时候就是在内存,离开辟了一块空间,专门数存放你定义的类型的数字的,是在栈内存中存储的,这一块区域的名字就是你起的变量的名字,如;int a = 3; 这个时候,就在栈内存中开辟了一块空间,存放 3 这里面要对栈内存进行描述一下,在内存中有 栈内存,堆内存,方法区,本地,和寄存器.在栈内存中,的变量在执行完以后就会被Java虚拟机所释放,所以效率比较高,现在定义好了 就开始使用了.在使用的时候,尤其是基本数据类型之间的相互转换的,一定要小心我们在由小的转向大的时候,如; byte b = 3;int a = 4;int c = b+a;这个时候叫做自动类型转换,这个是会报错的,但是我们在由大的转到小的时候那个时候,用到了强制类型转换.class TestDemo{public static void main(String[] args) {这个是强制类型转换,因为定义好的age 是byte 类型的,现在加上3 是int 类型的,在计算机底层会将age进行类型的提升,都转换成int型 的这个时候就会出现损失精度那么我们做的就是强制类型的转换,但是在强制类型转换的时候,要看看要转换的类型的范围,如果是超出范围的话那么,就会出错的,输出的数字可能不是你想要的那样的.byte  age = 20;byte a1= (byte)(age+3);System.out.println(a1);在定义 long 类型的时候,右边如果不是超出int 范围的话L 是不用加上的,加上也是可以的,如果是超过int范围的话,就需要加上Llong a = 30;long b= 40;long c = b+a;再遇到byte这种情况的时候要小心.编译是不被通过的,因为,不确定这两个byte相加Java不知道会不会超出范围,所以报错,就相当于两个byte的盒子里面的数据想存放到,byte中不知道这两个盒子里面的数据是否是在byte 的范围内,不能确定,这个时候就会出错.byte b= 3;byte b1= 4;byte b2 =b+b1;System.out.println(b2);这句话是可以的,因为Java 在做运算的时候会把3 + 4 看做一个常量来做运算.byte b3 = 3+4;byte b4 = 7;//这两个其实是一样的.System.out.println(b3);这个是可以的因为只有在,较小的数据类型的时候,一不小心就会超出范围,所以Java 虚拟机会先去做判断,像int 这样的话,就不会去做判断int a= 300;int b= 200;int c= a + b;System.out.println(c);byte b= 3;int i = b+2;System.out.println("i="+i);byte x= 1;x= x+1;System.out.println(x);byte x= 1;x+=1;System.out.println(x);long a= 3;int y= (int)(a+1);System.out.println(y);int in = 3;byte by = (byte)in;System.out.println(by);byte b;int a=333;byte x= (byte)a;System.out.println(x);}}这个人

-----------android培训、java培训、java学习型技术博客、期待与您交流! ------------....

0 0
原创粉丝点击