您的当前位置:首页正文

第三章:Java基础程序设计(上)

来源:个人技术集锦
Java基础程序设计

3.1 数据类型的划分

Java中的数据类型可分为基本数据类型与引用数据类型。 原始数据类型也成为基本数据类型,它们包括了最基本的boolean、byte、char、short、int、long、float与double等类型。

引用数据类型是以一种特殊的方式指向变量的实体,这种机制类似于C++/C的指针。这类变量在声明时不会分配内存,必须另外进行开辟内存空间的操作,如字符串与数组类型。

在Java中规定类八种基本数据类型来储存整数、浮点数、字符、布尔值。 整数类型(byte、short、int、long)

数值型

浮点类型(float、double)

基本数据类型

{字符型(char)

布尔型(boolean)

数据类型

类(class)

引用数据类型

{接口(interface)

数组

3.2 基本数据类型

Java中基本数据类型如图所示

1.整数类型

当数据中不含小数和分数时,可以声明为整数变量。整数类型有四类 long 64位 8个字节(byte) int 32位 4个字节 short (短整数) byte 数值更小

在Java中对于一个整型变量,其默认的类型是int型,所以在声明常量时不能超过int数据类型的范围

int sum=9999999999999999999;//定义数据类型超出数据类型的范围,编译时会出错。

2.数据溢出

当数据的大小超过数据类型的范围时,而程序中有没有检查时,这个数据就会运算紊乱。 public class Num01{

public static void main(String args[]){

int max=Integer.MAX_VALUE;

System.out.println(“整型的最大值:”+max);

System.out.println(“整型的最大值+1::”+(max+1)); System.out.println(“整型的最大值+2:”+(max+2));

}

}

程序运行的结果:

整型的最大值:2147483647 整型的最大值+1:-2147483648 整型的最大值+2:-2147483647

可以看出数据运算出现错误,可理解为

为了避免数据的溢出,可以用强制转换的方法进行处理。强制转换可以在该表达式中任意常量后上大写L,或者在变量前加上long,做强制类型的转换。

System.out.println(“整型的最大值+1::”+(max+1L);

System.out.println(“整型的最大值+2:”+(long)(max+2));

结果为: 整型的最大值+1:2147483648 整型的最大值+2:2147483649

如果long类型的溢出,就没有办法处理了。此时需要在程序中加上变量值的边界检查,这样在运行时才不会发生错误。 3.字符类型 字符类型在内存中占有两个字节,可以用来保存英文字母等字符。严格来说,字符类型也是整数类型的一种。 Java使用的是Unicode字符码系统,这种字符码系统保证了跨平台性。 例如,Unicode中的小写a是用97来表示的。,下面来测试一下字符和整型之间的转换;

public class TextDemo01{ public static void main(String[] args){ char ch1=’a’;//字符要用单引号括起来 char ch2=97; System.out.println(“ch1=”+ch1); System.out.println(“ch2=”+ch2); } }

程序运行结果为:

在Java中有一些特殊的符号,来表达一些特殊的作用。常用的转义字符如下:

【例】

public class DataDemo05{

public static void main(String args[]){ char ch1 = '\\\"' ; // 表示的是一个\" char ch2 = '\\\\' ; // 表示的是一个、 System.out.println(\"ch1 = \" + ch1) ; System.out.println(\"ch2 = \" + ch2) ; System.out.println(\"\\\"Hello World!\\\"\") ; } };

运行结果为:

4.浮点数类型与双精度浮点数类型

在数学中带有小数点的数值属于实数,在Java中,这类数据类型称为浮点类型(float),其长度为32个字节。当浮点数的表示范围不够大时,还有一种双精度(double)浮点数可以使用。双精度浮点数长度为64个字节,所表示的范围更大。

double num1=-6.3e64; //声明num1为double,值是-6.3*1064 double num2=-5.34E16;//e也可以用E来代替 float num3=7.32f; //声明num3为float,并初始化

float num4=2.45E67;//错误,因为2.456*1067已超过float的范围

需要注意的是,使用浮点型数值时,默认的类型是double,在数值后面加上D或者d,作为double类型的标识。在Java中,D或d是可有可无的。在数据后面加上F或f,则作为float类型的标识。若没有,Java会把该数据作为double类型,而在编译时会发生错误,提示可能会丢失精度。 【例】浮点类型数据的计算: public class DataDemo06{

public static void main(String args[]){

float num = 3.0f ; // 定义一个浮点型变量

System.out.println(\"两个小数相乘:\" + num * num) ; } };

运行结果:

5.布尔类型

布尔类型的变量只有true和false两种。布尔类型的使用: Boolean flag=true;

System.out.println(“flag=”+flag); 运算结果即在屏幕中输出: flag=true;

布尔值常用来控制程序的流程。

6.基本数据类型的默认值

在Java中,在变量的声明没有初始化值时,则会给出变量的默认值。

因篇幅问题不能全部显示,请点此查看更多更全内容