Java基础之数据类型简摘

<span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13.3333px; background-color: rgb(255, 255, 255);">一、变量</span>

   Java语言是强类型(strongly typed)语言,也就是说每个变量和每个表达式都有一个在编译时就确定的类型,所以,所有的变量必须显式声明类型,也就是所有的变量必须先声明,后使用

   变量定义的格式:

                   type varName;

           举例说明:int i;  byte b1;

二、数据类型之基本类型

        1、数据类型的分类见下面:

             Java语言类型

   2、整型数据类型

       由上图整数类型分为4种:

       1)byte字节型:一个byte类型的在内存里面占8位,也就是2的8次方,其定义格式是: byte b1=100;

       2)short:一个short类型在内存里面占16位,也就是2的16次方,其定义格式是 short s1=32000;

       3)int:一个int类型在内存里面占32位,也就是2的32次方,其定义格式是  int i1=11111;

       4)long:一个long类型在内存占64位,也就是2的64次方 其定义格式是  long l2=922225546554L;要在定义数据的类型 加大写字母L

            int是最常用的整数类型,因此在通常情况下,一个Java类型常量默认就是int类型。

     Java中整数常量有4种表示方式:十进制、二进制、八进制和十六进制,其中八进制整数常量以0开头,十六进制的整数常量以0X或者0x开头,其中10-15以a-f(不区分大小写)来表示。二进制以0b或0B开头表示。

   下面以程序来说明以上数据类型:

/* 
  基本数据类型之整型测试程序
  作者:Gee
  */
  public class 整型Test
  {
      public static void main(String [] args)
      {
          byte b1=120;
          short s1=1234;
          int i;
          i=4234343;
          long l1=156497979797L;
          
          System.out.println("字节型数据示例:"+b1);    
          System.out.println("short类型数据示例:"+s1);
          System.out.println("int类型数据示例:"+i);
          System.out.println("long类型数据示例:"+l1);
          
          //整型常量数据示例:
          int octalValue=013;  //八进制数据以0开头;
          int  hexValue=0X13; //十六进制数据以0X开头;
          int hexValue1=0XF;  //十六进数据以0-9 A-F来代表16个数据;
          int binVal1=0B11010100;  //二进制数据以0B开头来表示;
          int binVal2=0B01101001;
          System.out.println("八进制数据示例::"+octalValue);
          System.out.println("十六进制数据示例:"+hexValue);
          System.out.println("十六进制数据示例:"+hexValue1);
          System.out.println("二进制数据示例:"+binVal1);
          System.out.println("二进制数据示例:"+binVal2);
      }
  }

提示:所有数字在计算机底层都是以二进制形式存在的,原码是直接将一个数值换算成二进制数。但计算机以补码的形式保存所有整数。补码的计算规则:正数的补码和原码完全相同,负数的补码是其反码加1;反码是对原码按位取反,只是最高位(符号位)保持不变。

3、浮点型数据

Java语言的浮点型有两种:float和double。Java的浮点类型有固定的的表数范围和字段长度,字段长度和表数范围与机器无关。Java的浮点数遵循IEEE754标准,采用二进制数据的科学计数法来表示浮点数。对于float型数值,第1位是符号位,接下来8位表示指数,再接下来的23位表示尾数;对于double类型数值,第1位也是符号位,接下来的11位表示指数,再接下来的52位表示尾数。

Java语言的浮点数有两种表示形式:

      1)十进制数形式:这种形式就是简单的浮点数,例如:5.12,512,.512。浮点数必须包含一个小数点,否则会被当成int类型处理

      2)科学计数形式:例如:5.12E2(即5.12*10^2),5.12E2(5.12*10^2)

Java语言的浮点类型默认是double类型,如果希望Java把一个浮点类型值当成float类型处理,应该在这个浮点类型后紧跟f或F,举例说明:

         float floValue=5.12F;

        double dValue=5.12;

除此之外,Java还提供了3个特殊的浮点数值:正无穷大,负无穷大和非数,用于表示溢出和出错。

    正无穷大就是一个正数除以0,Double或Float的POSITIVE_INFINITY来表示;负无穷大通过Double或Float的NEGATIVE_INFINITY表示,非数通过Double或Float的NaN来表示。

    必须指出的是,所有的正无穷大数值 都是相等的,所有的负无穷大数值都是相等的;而NaN不与任何数值相等,甚至和NaN都不相等。

以下程序说明浮点型数据:

/* 
  基本数据类型之浮点型测试程序
  作者:Gee
  */
  public class 浮点型Test
  {
      public static void main(String [] args)
      {
          float floValue=51.2F;  //定义Float型数据必须使用F结尾;
          double floval1=5.12E2; //使用科学记数法
          double d1=51.2;  //定义double型不需要使用D结尾;
          System.out.println("float型输出:"+floValue);
          System.out.println("科学记数法输出:"+floval1);
          System.out.println("double型输出:"+d1);
          
          //以下程序测试正、负无穷大、非数是否相等
          double c1=Double.POSITIVE_INFINITY;
          float f1=Float.POSITIVE_INFINITY;
          double c2=Double.NEGATIVE_INFINITY;
          float f2=Float.NEGATIVE_INFINITY;
          System.out.println(c1==f1);  //输出正无穷大是否相等,相等为true;否则为false;
          System.out.println(c2==f2);  //输出负穷大是否相等,相等为true;否则为false;
          System.out.println(0.0/0.0==Float.NaN); //输出两个0相除之后是否等NaN;
          System.out.println(0.0/0.0);        
      }
  }

基本类型:

1、字符型

  字符型通常用于表示单个的字符,字符常量必须使用单引号(')括起来。Java语言使用16位的Unicode字符集作为编码方式,而Unicode被设计成支持世界上所有书面语言的字符,包括中文字符,因此Java程序支持各种语言的字符。

  字符型常量有3种表示形式:

     1)直接通过单个字符来指定字符型常量,例如: 'A’,'9’

     2)通过转义字符来表示特殊字符型常量,例如:'\n'

     3)直接使用Unicode值来表示字符型常量,格式是'\uXXX',其中XXX代表一个十六进制的整数。

   Java语言中常用的转义字符见下表:

转义字符 说明 Unicode表示方式
\b 退格符 \u0008
\n 换行符 \u000a
\r 回车符 \u000d
\t 制表符 \u0009
\" 双引号 \u0022
\' 单引号 \u0027
\\ 反斜线 \u005c

字符型常量也可以采用十六进制编码方式来表示,范围是'\u0000'-'\uFFFF',一共可以表示65535个字符,其中前256个字符和ASCII码中字符完重合。

举例说明:

复制代码
/* 
  基本数据类型之字符型测试程序
  作者:Gee
  */
  public class charTest
  {
      public static void main(String [] args)
      {
          //直接指定单个字符作为字符类型常量;
          char aChar='a';
          //使用转义字符来作字符类常量;
          char enterChar='\r';
          //使用Unicode编码值来指定字符类型常量;
          char ch='\u9999';
          //将输出一个'香'字符
          System.out.println(ch);
          //定义一个'疯'字符类型常量
          char zhong='';
          int zhongValue=zhong;
          System.out.println(zhongValue);
          //直接把0-65535范围内的一个int整数赋给一个char类型变量
          char c=97;
          System.out.println(c);
      }
  }
复制代码

Java没有提供字符串的基本数据类型,而是通过String类来表示字符串,由于字符串由多个字符组成,因此字符串常量使用双引号括起来。

   String s=”Hello, World!”;

2、布尔型

   布尔型只有一个boolean类型,用于表示逻辑上的“真”或“假”。在Java语言中,boolean类型的数值只能是true或false,不能用0或者非0代表。其他基本数据类型的值也不能转换成boolean类型。

  举例说明:

复制代码
/* 
  基本数据类型之布尔型测试程序
  作者:Gee
  */
  public class booleanTest
  {
      public static void main(String [] args)
      {
          //定义b1的值为true;
          boolean b1=true;
          //定义b2的值为false;
          boolean b2=false;
          System.out.println(b1);
          System.out.println(b2);
          
          //使用boolean类型的值和字符串进行连接运算,boolean类型的值会自动转换成字符串
          String str=true+"";
          System.out.println(str);  //输出字符串str;
      }
  }
复制代码

3、Java7新增的数值中使用下画线分隔

为了解决看不清或者看错了太多的数据位,Java 7引入了一个新功能:程序员可以在数值中使用下划线,不管是整型数值,还是浮点型数据,都可以自由地使用下划线。

例如:

复制代码
/* 
  基本数据类型之Java下划线测试程序
  作者:Gee
  */
  public class underscoreTest
  {
      public static void main(String [] args)
      {
          //定义一个32位的二进制数,最高位是符号位
          int binVal=0B1000_0000_0000_0000_0000_0000_0000_0011;
          double pi=3.14_15_92_65_36;
          
          System.out.println(binVal);
          System.out.println(pi);
      
      }
  }
复制代码


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值