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

-----------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范围的话,就需要加上L
		long 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值