您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 制造加工工艺 > 第2章 Java编程基础
清华大学出版社JavaEE基础教程第2章Java编程基础2.1标识符与关键字2.2数据类型2.3常量与变量2.4运算符与表达式2.5数组JavaEE基础教程22011年9月23日星期五Java语言由语法规则和类库两部分组成,其中语法规则确定了Java程序的书写规范。Java语言与C/C++语言有着紧密的联系,Java中的许多术语来自于C++,语法也来自于C++。因此Java的语法和C++的语法相似。Java的部分功能来自其类库,类库包含有数百种预先写入的类,这些类提供了从简单的数字格式化到建立网络连接和访问关系数据库的所有方法。第2章Java编程基础JavaEE基础教程32011年9月23日星期五2.1标识符与关键字返回2.1.1标识符•标识符是类、变量和方法等的名字,标识符区别大小写,未规定最大长度。•Java中的标识符可以包括空格之外的任何字符,但必须以字母、美元符号($)、下划线字符(_)作为开头,不能以数字作为开头,也不能用Java语言的关键字是来作为标识符。•与C/C++语言不同的是,Java语言还可以将一些非拉丁字母(如汉字)包含在标识符中,这是因为Java语言使用的是Unicode字符集,它包含65535个字符,适用于多种人类自然语言。•标识符的选用原则是使标识符尽量表达所要表示的类、变量、方法等的含义。•以下是Java有效的标识符:•Identifier,userName,User_name,_sys_varl,$change,江苏,长江JavaEE基础教程42011年9月23日星期五2.1.2关键字Java有48个关键字,比其他大多数语言都要少。关键字在编程语言中有特殊的含义。这些关键字列在表2-1中。2.1标识符与关键字JavaEE基础教程52011年9月23日星期五以下是有关关键字的重要注意事项:1.true、false和null为小写,而不是象在C++语言中那样为大写;2.无sizeof运算符;3.goto和const不是Java编程语言中使用的关键字。JavaEE基础教程62011年9月23日星期五2.2数据类型返回数据类型指定变量可以包含的数据的类型。与某些语言不同,Java的数据类型很特殊。除了null,Java数据类型可以分为基本数据类型、引用类型两大类。任何数据都一定是上述数据类型的一种。Java数据类型结构图如图2.1所示。JavaEE基础教程72011年9月23日星期五2.2数据类型JavaEE基础教程82011年9月23日星期五在Java中“引用”是指向一个对象在内存中的位置,在本质上是一种带有很强的完整性和安全性限制的指针,当声明某个类、接口或数组类型的一个变量时,那个变量的值总是某个对象的引用或者是null引用。与C++中指针不同的是,指针可以有++、--运算,而引用无此运算。Java具有8个基本数据类型,可以分为四大类:布尔型、字符型、整数型和浮点型。为了将它们与更加复杂的数据类型(如引用类型)区分开来,将这些数据类型称为基本数据类型。这些类型的数据与常量的类型基本相同。可使用int、short、long和byte4个数据类型来包含整型数据。使用double和float两个数据类型来包含浮点数据。基本数据类型boolean只包含两个可能值中的一个:true或false。2.2数据类型JavaEE基础教程92011年9月23日星期五对包含单一字符文本的变量使用基本数据类型char。若要显示具有一个以上字符的文本,则使用String类,在后面的章节中将进行介绍。2.2数据类型JavaEE基础教程102011年9月23日星期五引用类型和原始类型具有不同的语义,它们的行为完全不同。例如,假定一个方法中有两个局部变量,一个变量为int原始类型,另一个变量是对一个Integer对象的引用,不能对原始类型调用方法,但可以对引用类型调用方法,例如:inti=5;//原始类型Integerj=newInteger(10);//对象引用i.hashCode();//错误j.hashCode();//正确2.2数据类型JavaEE基础教程112011年9月23日星期五2.3.1常量1.整型常量在Java语言中,整型常量有三种形式,它们分别是:十进制、八进制、十六进制。十进制数不加前缀;八进制数加前缀0;十六进制数加前缀0x或0X。如:123;0123(十进制数为83);0x123(十进制数为291)。若要以二进制显示输出结果,则使用Integer和Long类的静态方法toBinaryString()。如:inta=62478;System.out.println(inta=+Integer.toBinaryString(a));//输出:inta=11110100000011102.3常量与变量返回JavaEE基础教程122011年9月23日星期五2.浮点型常量浮点数有两种表示方法,即标准表示法和科学记数法。浮点数又分为单精度数(float)和双精度数(double)。如:123.456f;123.456(无f或F后缀,默认为double型)。3.布尔型常量布尔型常量有两个值:ture和false,它们分别表示真和假。一般通过测量布尔值来判断是否执行某个步骤。JavaEE基础教程132011年9月23日星期五4.字符型常量字符型常量是一个单一的字符,其形式是由两个单引号引起来的一个字符。Java的字符型常量的表示方法有四种,分别是:(1)用单引号括起来的单个字符,这些字符包含在Unicode字符集中,如:'A','a','好','\t'。注意:两个单引号引起来的内容不能是单引号和反斜杠,即(''')和('\')是不正确的写法。(2)用单引号括起来的八进制Unicode字符,形式是:'\ddd',其中d的范围是0~7,表示字符范围在'\000'~'\377'。如'\012'。(3)用单引号括起来的十六进制Unicode字符,形式是:'\uxxxx',u字母后面带4位十六进制数,它可以表示全部Unicode字符。如'\u2af3'。(4)对于一些不能显示的特殊字符采用转义字符来表示。JavaEE基础教程142011年9月23日星期五表2-4Java常用转义字符转义字符形式功能\'单引号字符\双引号字符\\反斜杠字符\r回车\n换行\f走纸换页\t横向跳格\b退格\ddd1到3位8进制数(ddd)所代表的字符\uxxxx1到4位16进制数(xxxx)所代表的字符JavaEE基础教程152011年9月23日星期五例如:System.out.println(AndthenJimsaid,\Who'satthedoor?\);注意字符值使用单引号,字符串使用双引号。与C/C++不同,Java中的字符型数据是16位无符号型数据,它表示Unicode集,而不仅仅是ASCII集,例如'\u0061'表示ISO拉丁码的'a','\u4e2d'表示汉字'中',所以字符常量共有65536个。5.字符串常量字符串常量是由双引号()引起来的一串字符,如Thisisastring.\n。与C/C++语言中不同的是,Java中的字符串常量是作为String类的一个对象来处理的,而不是通过字符数组来实现的。JavaEE基础教程162011年9月23日星期五例2-1下面的程序使用了两个Unicode的转义字符,它们用其十六进制代码来表示Unicode字符。程序清单:ch02\EscapeRout.javapublicclassEscapeRout{publicstaticvoidmain(String[]args){1System.out.println(a\u0022.length()+\u0022b.length());2System.out.println(a.length()+b.length());3System.out.println(a\.length()+\b.length());}}程序中,第“1”行中的\u0022为双引号()的十六进制表示,而不是转义表示,该行相当于:a.length()+b.length(),输出2;第“2”行很明显输出2;第“3”行中双引号(\)是转义表示的,输出的字符串内容相当于a\.length()+\b,输出14JavaEE基础教程172011年9月23日星期五2.3.2变量变量主要用来保存数据,是用标识符命名的数据项,是程序运行过程中可以改变值的量。在程序中,通过变量名来引用变量包含的数据。变量使用前要首先声明。1.变量声明声明一个变量的方式:变量类型变量名;Java是强类型的语言,即每一个变量必须有一个数据类型。变量的类型决定了它可以容纳什么类型的数值以及可以对它进行怎样的操作。变量声明的位置决定了该变量的作用域。2.变量的初始化在Java程序中,任何变量都必须经初始化后才能被使用。变量可以在它们声明的时候初始化,也可以利用一个赋值语句来初始化。变量的数据类型必须与赋给它的数值的数据类型相匹配。JavaEE基础教程182011年9月23日星期五下面是程序中的局部变量声明,其初始化如下。整型:intx=8,total=1000;longy=12345678L;bytez=55;shorts=128;浮点型:floatf=234.5F;doubled=-1.5E-8,square=95.8;其他类型:charc1='a',c2='中',c3='\u4e2d',c4=20013;booleant=true;JavaEE基础教程192011年9月23日星期五在Java语言中,基本数据类型主要用在两个地方,一个是类中的成员变量,一个是局部变量。当他们作为类的成员变量使用时,当创建类的实例时编译器会给其一个默认值的初值。但是,当基本数据类型当作局部变量使用时,如在循环语句中当作循环条件来使用,此时跟类成员不同,系统不会自动对局部变量进行初始化。在这方面,Java跟其他语言也有所不同。如在C++中,如果变量没有初始化,那么系统只是抛出一个警告信息,但仍然可以正常进行。Java这种做法是比较安全的。JavaEE基础教程202011年9月23日星期五3.引用型变量引用变量将类名、接口和数组作为数据类型。引用变量实际上不包含数据,它引用包含数据的某个类的一个实例。例如,字符串数据(字符集合)不属于8种Java基本数据类型中的任意一种,但字符串数据包含在String类的一个实例中,Java使用String类引用变量来访问字符串数组。下面分析其访问原理。就像声明基本变量那样声明String引用变量,首先指定数据类型为类名String,然后指定要使用的变量名称。下面的代码声明了数据类型为String的引用变量s:Strings;此代码会创建一个名为s的变量,但是不会将它初始化为一个值。它也不会指向一个String实例,实际上,它不会指向任何地方,而且也不会有值。可以将某个值赋给String变量s,就像赋给基本变量值一样。JavaEE基础教程212011年9月23日星期五下面的代码会将字符“HelloAgain”赋给名为s的String变量:s=HelloAgain;也可以在声明String变量时为它赋值,就像为基本变量赋值一样:Strings=HelloAgain;下图说明了char基本变量和String引用变量的存储原理。charc='A';Strings=HelloAgain;图中显示实际上变量c是包含字符值'A'的一个基本变量,而变量s是指向包含HelloAgain的String类的一个实例的引用变量。JavaEE基础教程222011年9月23日星期五Java在对变量进行内存分配时,把内存划分成两种:一种是栈内存,另一种是堆内存。栈内存是向低地址扩展的数据结构,是一块连续的内存的区域,栈顶的地址和栈的最大容量是系统预先规定好的。堆内存是向高地址扩展的数据结构,是不连续的内存
本文标题:第2章 Java编程基础
链接地址:https://www.777doc.com/doc-1908444 .html