Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7565167
  • 博文数量: 961
  • 博客积分: 15795
  • 博客等级: 上将
  • 技术积分: 16612
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-07 14:23
文章分类

全部博文(961)

文章存档

2016年(1)

2015年(61)

2014年(41)

2013年(51)

2012年(235)

2011年(391)

2010年(181)

分类: Java

2012-04-02 22:29:23

Java的两大数据类型:

l  内置数据类型

l  引用数据类型

 

内置数据类型

Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型

bytebyte数据类型是8位、有符号的

shortshort数据类型是16

intint数据类型是32

longlong数据类型是64

floatfloat数据类型是单精度、32

doubledouble数据类型是双精度、64

booleanboolean数据类型表示一位的信息;只有两个取值:truefalse

charchar类型是一个单一的16Unicode字符;

 

引用类型

引用类型变量由类的构造函数创建,可以使用它们访问所引用的对象。这些变量在声明时被指定为一个特定的类型,比如EmployeePubby等。变量一旦声明后,类型就不能被改变了。

对象、数组都是引用数据类型。

所有引用类型的默认值都是null

一个引用变量可以用来引用与任何与之兼容的类型。

例子:Animal animal = new Animal(giraffe)

 

Java常量

常量就是一个固定值。它们不需要计算,直接代表相应的值。

常量指不能改变的量。 Java中用final标志,声明方式和变量类似:


点击(此处)折叠或打开

  1. /**
  2.  *     数据类型
  3.  *     Lzy    2012-4-2
  4.  */
  5. public class Main
  6. {
  7.     public static void main(String args[])
  8.     {
  9.         int i1 = 123;
  10.         int i2 = 456;
  11.         double d1 = (i1+i2)*1.2;//系统将转换为double型运算

  12.         float f1 = (float)((i1+i2)*1.2);//需要加强制转换符

  13.         byte b1 = 67;
  14.         byte b2 = 89;
  15.         byte b3 = (byte)(b1+b2);//系统将转换为int型运算,需

  16.                                 //要强制转换符

  17.         System.out.println(b3);
  18.         double d2 = 1e200;
  19.         float f2 = (float)d2;//会产生溢出

  20.         System.out.println(f2);

  21.         float f3 = 1.23f; //必须加f

  22.         long l1 = 123;
  23.         long l2 = 30000000000L;//必须加l

  24.         float f = l1+l2+f3;//系统将转换为float型计算

  25.         long l = (long)f;//强制转换会舍去小数部分(不是四舍五入)

  26.     }
  27. }

点击(此处)折叠或打开

  1. public class TestConvert2 {
  2.     public static void main(String[] args) {
  3.    
  4.     int i=1,j=12;
  5.     float f1=(float)0.1; //0.1f

  6.     float f2=123;
  7.     long l1 = 12345678,l2=8888888888L;
  8.     double d1 = 2e20,d2=124;
  9.     byte b1 = 1,b2 = 2,b3 = 127;
  10.     j = j+10;
  11.     i = i/10;
  12.     i = (int)(i*0.1);
  13.     char c1='a',c2=125;
  14.     byte b = (byte)(b1-b2);
  15.     char c = (char)(c1+c2-1);
  16.     float f3 = f1+f2;
  17.     float f4 = (float)(f1+f2*0.1);
  18.     double d = d1*i+j;
  19.     float f = (float)(d1*5+d2);

  20.     }
  21. }
对于数值类型的基本类型的取值范围,我们无需强制去记忆,因为它们的值都已经以常量的形式定义在对应的包装类中了。请看下面的例子:

点击(此处)折叠或打开

  1. public class PrimitiveTypeTest {
  2.     public static void main(String[] args) {
  3.         // byte
  4.         System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);
  5.         System.out.println("包装类:java.lang.Byte");
  6.         System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);
  7.         System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);
  8.         System.out.println();
  9.   
  10.         // short
  11.         System.out.println("基本类型:short 二进制位数:" + Short.SIZE);
  12.         System.out.println("包装类:java.lang.Short");
  13.         System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);
  14.         System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);
  15.         System.out.println();
  16.   
  17.         // int
  18.         System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);
  19.         System.out.println("包装类:java.lang.Integer");
  20.         System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);
  21.         System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);
  22.         System.out.println();
  23.   
  24.         // long
  25.         System.out.println("基本类型:long 二进制位数:" + Long.SIZE);
  26.         System.out.println("包装类:java.lang.Long");
  27.         System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);
  28.         System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);
  29.         System.out.println();
  30.   
  31.         // float
  32.         System.out.println("基本类型:float 二进制位数:" + Float.SIZE);
  33.         System.out.println("包装类:java.lang.Float");
  34.         System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);
  35.         System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);
  36.         System.out.println();
  37.   
  38.         // double
  39.         System.out.println("基本类型:double 二进制位数:" + Double.SIZE);
  40.         System.out.println("包装类:java.lang.Double");
  41.         System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);
  42.         System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);
  43.         System.out.println();
  44.   
  45.         // char
  46.         System.out.println("基本类型:char 二进制位数:" + Character.SIZE);
  47.         System.out.println("包装类:java.lang.Character");
  48.         // 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台
  49.         System.out.println("最小值:Character.MIN_VALUE="
  50.                 + (int) Character.MIN_VALUE);
  51.         // 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台
  52.         System.out.println("最大值:Character.MAX_VALUE="
  53.                 + (int) Character.MAX_VALUE);
  54.     }
  55. }
课件: Java数据类型.pdf   
阅读(928) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~