2017年计算机二级考试时间_2017年计算机二级考试java章节辅导:数据类型

副标题:2017年计算机二级考试java章节辅导:数据类型

时间:2023-12-18 11:52:01 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。


§ 2.1数 据 类 型

  数据类型指明了变量或表达式的状态和行为 。Java的数据类型如下所示 :

  Java不支持C、C++中的指针类型、结构体类型和共用体类型。本章我们主要介绍简单类型 。

§ 2.2常 量 与 变 量

  1 、 常 量

  Java中 的常量值是用文字串表示的,它区分为不同的类型,如整型常量123,实型常量1.23,字符常量‘ a’,布尔常量true、false以及字符串常量"This is a constant string."。

  与C、 C++不同,Java中不能通过 #define命令把一个标识符定义为常量 ,而是用关键字final来实现,如final double PI=3.14159( 有关final的用法见 [6.2.3])。

  2 、 变 量

  变量是 Java程序中的基本存储单元 ,它的定义包括变量名、变量类型和作用域几个部分 。

  ① 变量名是一个合法的标识符,它是字母、数字、下划线或美元符"$"的序列,Java对变量名区分大小写 ,变量名不能以数字开头 ,而且不能为保留字 。合法的变量名如:myName、 value-1、 dollar$等。非法的变量名如:2mail、 room#、 class (保留字)等 ,变量名应具有一定的含义,以增加程序的可读性 。

  ② 变量类型可以为上面所说的任意一种数据类型 。

  ③ 变量的作用域指明可访问该变量的一段代码 。 声 明一个变量的同时也就指明了变量的作用域 。 按作用域来分,变量可以有下面几种:局部变量、 类变量、方法参数、例外处理参数。 局部变量在方法或方法的一块代码中声明,它的作用域 为它所在的代码块(整个方法或方法中的某块代码 )。

  类变量在类中声明,而不是在类的某个方法中声明,它的作用域是整个类 。方法参数传递给方法,它的作用域就是这个方法 。例外处理参数传递给例外处理代码,它的作用域就是例外处理部分 。

  在一个确定的域中,变量名应该是的 。 通常一个域用大括号 {}来划定 。 有关类变量、参数传递以及例外处理将分别在[6.7.1]、[6.2 .4]和第八章中讲述。

  ④ 变量的声明格式为 :

  type identifier[=value][,identifier[=value]… ];

  例 如 : int a, b, c;

  double d1, d2=0.0;

  其中,多个变量间用逗号隔开,d2=0.0对实型变量d2赋初值 0.0, 只有局部变量和类变量是可以这样赋初值的 ,而方法参数和例外处理参数的变量值是由调用者给出的 。

§ 2.3整 型 数 据

  1、整 型 常 量 :

  与C,C++相 同 ,Java的整常数有三种形式 :

  ① 十进制整数 ,如 123,-456,0

  ② 八进制整数 ,以 0开头,如 0123表示十进制数 83,-011表示十进制数 -9。

  ③ 十六进制整数,以 0x或 0X开头 ,如 0x123表示十进制数291,-0X12 表示十进制数-18。

  整型常量在机器中 占 32位 ,具有int型的值 ,对于long型值,则要在数字后加L或 l,如 123L表示一个长整数 ,它在机器中占 64位 。

  2、整型变量 :

  整型变量的类型有byte、short、int、long四种。下表列出各类型所在内存的位数和其表示范围。

  int类型是最常使用的一种整数类型。它所表示的数据范围足够大,而且适合于32位 、64位处理器。 但对于大型计算,常会遇到很大的整数,超出int类型所表示的范围,这时要使用long类型 。

  由于不同的机器对于多字节数据的存储方式不同,可能是从低字节向高字节存储 ,也 可能是从高字节向低字节存储,这样在分析网络协议或文件格式时 ,为了解决不同机器上的字节存储顺序问题,用 byte类型来表示数据是合适的。而通常情况下,由于其表示的数据 范围很小 ,容易造成溢出,应避免使用 。

  short类型则很少使用,它限制数据的存储为先高字节,后低字节 ,这样在某些机器中会出错 。

  3、整型变量的定义

  如 :

  byte b; //指定变量b为byte型

  short s; //指定变量s为short型

  int i; //指定变量i为int型

  long l; //指定变量l为long型

§ 2.4浮点型 (实型 )数据

  浮点数分为单精度和双精度,Java中的单精度和双精度分别为float和double。float占4个字节,double占8个字节。

  1、实型常量

  与 C,C++相 同 ,Java的 实 常 数 有 两 种 表 示 形 式 :

  ①十进制数形式,由数字和小数点组成,且必须有小数点,如 0.123, .123, 123.,123.0

  ② 科学计数法形式 。 如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须 整 数 。

  实常数在机器中占64位,具有double型的值。 对于float型的值,则要在数字后加f或F,如12.3F,它在机器中占32位,且表示精度较低 。

  2 、 实 型 变 量

  实型变量的类型有float和 double两种 ,下表列出这两种类型所占内存的位数和其表示范围 。 数据类型 所占位数 数的范围

  float 32 3.4e-038~3.4e+038

  double 64 1.7e-308~1.7e+308

  双精度类型 double比单精度类型 float具有更高的精度和更大的表示范围 ,常常使用 。

  3、实型变量定义

  float f; // 指定变量f为 float型

  double d; // 指定变量 d为 double型

  [注 ]与C、 C++不同 ,Java中没有无符号型整数,而且明确规定了整型和浮点型数据所占的内存字节 数 ,这样就保证了安全性 、 鲁棒性和平台无关性 。

§ 2.5字 符 型 数 据

  1、字符常量

  字符常量是用单引号括起来的一个字符,如‘ a’, A’。另外,与C、C++相同,Java也 提 供 转 义字符,以反斜杠(\)开头,将其后的字符转变为另外的含义,下表列出了Java中的 转 义 字 符 。

  与C、C++不同,Java中的字符型数据是16位无符号型数据,它表示Unicode集,而不仅仅是 ASCII集 ,例 如 \u0061表 示 ISO拉 丁 码 的 ‘ a’ 。

  转义字符 描述

  \ddd 1到3位8进制数据所表示的字符(ddd)

  \uxxxx 1到4位16进制数所表示的字符(xxxx)

  \' 单引号字符

  \\ 反斜杠字符

  \r 回车

  \n 换行

  \f 走纸换页

  \t 横向跳格

  \b 退格

  2、字符型变量

  字符型变量的类型为char,它在机器中占16位 ,其范围为0~65 535。 字符型变量的定义如

  char c='a'; //指 定 变 量 c为 char型 ,且 赋 初 值 为 'a' 与C、 C++不同 ,Java中的字符型数据不能用作整数 ,因 为 Java不提供无符号整数类型 。 但是同样可以把它当作整数数据来操作 。例 如 :

  int three=3;

  char one='1';

  char four=(char)(three+one);//four='4'

  上例中,在计算加法时,字符型变量one被转化为整数,进行相加,最后把结果又转化为字符型 。

  3、字符串常量

  与C、C++相同 ,Java的字符串常量是用双引号("")括起来的一串字符,如"This is a string.\n"。 但不同的是,Java中 的字符串常量是作为 String类的一个对象来处理的 ,而不是一个数据 。 有关类 String我们将在第七章讲述 。

§ 2.6布尔型数据

  布尔型数据只有两个值,true和 false,且它们不对应于任何整数值,在流控制中常用到。

  布尔型变量的定义如:

  boolean b=true; //定义b为布尔型变量,且初值为 true

§ 2.7举 例

  例 2.1.下例中用到了前面提到的数据类型 ,并通过屏幕显示它们的值 。

  public class SimpleTypes{

  public static void main( String args[] ){

  byte b=0x55;

  short s=0x55ff;

  int i=1000000;

  long l=0xfffL;

  char c='c';

  float f=0.23F;

  double d=0.7E-3;

  boolean bool=true;

  System.out.println("b = "+b);

  System.out.println("s = "+s);

  System.out.println("i = "+i);

  System.out.println("l = "+l);

  System.out.println("c = "+c);

  System.out.println("f = "+f);

  System.out.println("d = "+d);

  System.out.println("bool = "+bool);

  }

  }

  编译并运行该程序,输出结果为:

  C:\>java SimpleTypes

  b = 85

  s = 22015

  i = 1000000

  l = 4095

  c = c

  f = 0.23

  d = 0.0007

  bool = true

§ 2.8 各类数值型数据间的混合运算

  1、自动类型转换

  整型、实型、字符型数据可以混合运算 。 运算中 ,不同类型的数据先转化为同一类型,然后进行运算。转换从低级到高级,转换规则为 :

  ① (byte或 short) op int→ int

  ② (byte或 short或 int) op long→ long

  ③ (byte或 short或 int或 long) op float→ float

  ④ (byte或 short或 int或 long或 float) op double→ double

  ⑤ char op int→ int

  其中 ,箭头左边表示参与运算的数据类型 ,op为运算符 (如加、减、乘、除等),右边表示转换成的进行运算的数据类型 。

  例2.2

  public class Promotion{

  public static void main( String args[ ] ){

  byte b=10;

  char c='a';

  int i=90;

  long l=555L;

  float f=3.5f;

  double d=1.234;

  float f1=f*b;

  // float * byte -> float

  int i1=c+i;

  // char + int -> int

  long l1=l+i1;

  // long + int ->ling

  double d1=f1/i1-d;

  // float / int ->float, float - double -> double

  }

  }

  2、强制类型转换

  高级数据要转换成低级数据,需用到强制类型转换,如 :

  int i;

  byte b=(byte)i;

  //把 int型变量 i强制转换为byte型这种使用可能会导致溢出或精度的下降,不要使用 。

2017年计算机二级考试java章节辅导:数据类型.doc

本文来源:https://www.wddqw.com/7QKO.html