zoukankan      html  css  js  c++  java
  • 从零开始学习Java编程(六)--数据类型之基本类型一

    一、变量

       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);        
          }
      }

    今天就到这里!

  • 相关阅读:
    数据解析1127
    数据解析1119
    数据解析1114
    数据解析1122
    数据解析1121
    数据解析1120
    数据解析1116
    数据解析1128
    Twitter惊现新型病毒 每分钟159条速率分散
    宏达电预计本年有望在台湾市场击败诺基亚
  • 原文地址:https://www.cnblogs.com/itmonk/p/3293968.html
Copyright © 2011-2022 走看看