逻辑型--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”);