逻辑型--boolean

逻辑值有两种状态,即人们经常使用的 “true”和“false”。这样的值是用boolean类型来表示的。boolean有两个文字值,即true和false。

以下是一个有关boolean类型变量的声明和初始化:

boolean truth = true; //声明变量值为真

注意:在整数类型和boolean类型之间无转换计算。有些语言(特别值得强调的是C和C++)允许将数字值转换成逻辑值, 这在Java编程语言中是不允许的;boolean类型只允许使用boolean值。

字符型--char

使用char类型可表示单个字符。一个char代表一个16-bit无符号的(不分正负的)Unicode字符。一个char文字必须包含在单引号内(‘’)。

‘a’
‘\t’       一个制表符
‘\u????’   一个特殊的Unicode字符。????应严格按照四个16进制数字进行替换。例如: ’\u03A6’表示希腊字母“Φ”

char类型变量的声明和初始化如下所示:

char ch = `A'; // 声明并初始化一个char型变量
char ch1,ch2 ; // 声明两个char型变量
char是int兼容的类型,比如可以如下声明:
int a = ‘a’; // a = 97
char c = 65; // c = ‘A’

文本类--String

String不是原始类型,而是一个类(class),它被用来表示字符序列。字符本身符合Unicode标准。与C和C++不同,String不能用 \0作为结束。

String的文字应用双引号封闭,如下所示:

“The  quick brown fox jumped over the lazy dog.”

String类型变量的声明和初始化如下所示:

// 声明两个String型变量并初始化他们
String greeting = "Good Morning !! \n" ;
String err_msg = "Record Not Found !" ;
String str1,str2 ; // 声明两个字符串变量

整数型--byte, short, int, long

在Java编程语言中有四种整数类型,它们分别使用关键字byte, short, int和long中的任意一个进行声明。整数类型的文字可使用十进制、八进制和16进制表示,如下所示:

n 十进制值是2

n 首位的0表示这是一个八进制的数值

n 0xBAAC  首位的0x表示这是一个16进制的数值

注意──所有Java编程语言中的整数类型都是带符号的数字。

整数类文字被默认为int类型。

整数类文字后面紧跟着一个字母“L”,可以强制它为long型。

例如:

n 2L        十进制值是2,是一个long

n 077L      首位的0表示这是一个八进制的数值

n 0xBAACL  前缀0x表示这是一个16进制的数值

四种整数类型的长度和范围前面已经列出,这些长度和范围是按Java编程语言规范定义的,是不依赖于平台。

浮点数--float和double

如果一个数字文字包括小数点或指数部分,则该数字文字为double型浮点数。

例如:   

3.14

3.02E23        

如果一个数字文字后带有字母F或f,则该数字文字为float型浮点数。

例如:       

2.718F        

如果一个数字文字后带有字母D或d,则该数字文字为double型浮点数。

例如:       

123.4E-306D  

浮点变量可用关键字float或double来声明。

Java技术规范的浮点数的格式是由电力电子工程师学会(IEEE)754定义的,是独立于平台的。

变量声明和赋值

变量用于存储信息。一个变量代表一个特殊类型的存储位置,它指向内存的某个单元,而且指明这块内存有多大。变量的值可以是基本类型,也可以是对象。

下列程序显示了如何声明及赋值整数、浮点、boolean、字符和String类型变量。

public class TestAssign {
public static void main(String args[]) {
int a, b; // declare int variables
float f = 5.89f; // declare and assign float
double d = 2.78d; // declare and assign double
boolean b = true;// declare and assign boolean
char c; // declare character variable
String str; // declare String
String str1 = "good"; // declare and assign String variable
c = 'A'; // assign value to char variable
str = "hello ,hello"; // assign value to String variable
a = 8;
b = 800; // assign values to int variables
}
}

引用(Reference)类型

从大的范围来讲,Java中的数据类型就分为两种:基本类型和引用类型,前面已经对基本类型(也称为主数据类型)进行了讲解,下面我们再来理解引用类型。

创建一个新类型

为克服Java中数据类型的不完整,Java编程语言使用类来创建新类型。例如可以用下面的类表示人:

class Person {
private double height = 1.75;
private double weight = 65;
private String name;
public Person(String aName) {
name = aName;
}
public Person() {
}
}

关键字class是用来声明类的。Person是我们给表示人的类指定的名称。

一个变量可被声明为归属于类型Person,从而体重,身高部分将被隐含声明。例如:

Person zhangsan, lisi;
zhangsan = new Person ();//这两个对象为引用类型,zhangsan,lisi 分别指向了各自的对象
lisi = new Person ();//这两个变量都是引用类型的,并不实际存储这些数据

创建并初始化一个对象

当任何原始类型(如boolean, byte, short,char,int,long,float或double类型) 的变量被声明时,作为上述操作的一部分,存储器空间也同时被分配。

使用非原始类型(如String或class)的变量的声明不为对象分配存储器空间。事实上,使用class类型声明的变量不是数据本身,而是数据的引用(reference)。引用可以理解为C语言的指针(Pointer),但是不能象C语言那样计算指针。

在你使用引用变量之前,必须为它分配实际存储空间。这个工作是通过使用关键字new来实现的。如下所示:

Person pangzi;
pangzi= new Person();

第一个语句仅为引用分配了空间,而第二个语句则通过调用对象的构造函数Person()为对象生成了一个实例。这两个操作被完成后,Person对象的内容则可通过pangzi进行访问。

还可以用一条语句创建并初始化一个对象:

Person pangzi = new Person(“danan”);