Java程序设计基础教程.doc_第1页
Java程序设计基础教程.doc_第2页
Java程序设计基础教程.doc_第3页
Java程序设计基础教程.doc_第4页
Java程序设计基础教程.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java程序设计基础教程第一章 概述本章技能目标(1)了解Java语言的由来、特点、家族成员及实现机制。(2)熟悉JDK开发环境的安装与配置。(3)会使用Eclipse开发第一个Java应用程序。重点和难点开发环境的配置与使用。1.1Java语言简洁1.1.1Java语言的由来Java是由SUN公司开发而成的新一代编程语言。Oak。咖啡(Java)。Java大家庭:(1)J2ME即Java2 Micro Edition。(2)J2SE即Java2(Software Development Kit)Standard Edition。(3)J2EE即Java2 Enterprise Edition(可扩展的企业应用Java2平台)。1.1.2Java语言的特点面向对象与面向过程。高级语言程序必须转换为机器语言程序才能执行,但不同的计算机系统所使用的机器语言不同。一次编译,随处运行。任何系统只有安装了Java虚拟机(Java Virtual Machine,JVM)后,才可以执行Java程序。当JVM解释执行Java程序时,Java实时编译器(Just-In-Time,JIT)会将字节码译成目标平台对应的机器语言的指令代码。编译器会产生一种具备结构中立性的对象文件格式,即Java字节码文件。在Java中,这种供虚拟机理解的代码叫做字节码(ByteCode),它不面向任何特定的处理器,之面向虚拟机。Java字节码可在任何安装了Java虚拟机的平台上运行。每一种平台的解释器是不同的,但是实现的虚拟机是相同的。Java源程序经过编译器编译后变成字节码。字节码由虚拟解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后再特定的机器上运行。其执行过程如图1-1所示。1.2开发环境配置与使用1.2.1JDK的安装与配置在开发Java应用程序前必须首先下载并安装JDK。目前JDK最新版本是1.6。/technetwork/java/javase/downloads/index.html2.认识JDK(1)bin目录。提供了工具程序,包括javac、java、javadoc、appletviewer等程序。1)javac用于将Java源代码编译成字节码。其语法为:Javac option source其中,option可包括以下几项:-classpath,指定将使用的类路径,以搜索.class文件。-d,制定用于存放经过编译的.class文件的目录。“.”表示当前目录。Source是以扩展名.java结尾的一个或多个文件名。2)java用于执行java字节码。其语法为:Java option classname arguments其中,option可包括以下几项:-classpath,指定将使用的备用类路径。-version,显示编译源代码的JDK版本。3)javadoc用于生成API文档。4)appletviewer用于运行编译好的Applet。(2)jre目录。提供JDK附带的JRE资源包(运行环境)。(3)lib目录。提供了java工具所需的资源文件。(4)demo目录。提供了Java编写的范例程序。(5)src.zip文件。提供了API类的源代码压缩文件。如需查看API的某些功能实现方法,可以查看这个文件中的源代码内容。3。设置Patch与Classpath环境变量(在Windows XP环境下)(1)设置Patch。具体方法是:用鼠标右键单击桌面上“我的电脑”图标,选择“属性”选项,再选择“高级标签”,系统显示如图1-3所示。单击“环境变量”按钮,打开“环境变量”对话框。选择Path变量,单击“编辑”按钮,在“变量值”文本框中加入JDK的bin地址目录,如:C:Program FilesJavajdk1.6.0_21bin,地址间采用“;”隔开,如图1-4所示。设置完成后,单击“确定”按钮完成设置,并返回到“环境变量”对话框。(2)设置Classpath。再“环境变量”对话框中单击“新建”按钮,设置变量名为Classpath变量值为:.;C:Program FilesJavajdk1.6.0_21lib,如图1-5所示。提示:“.”表示当前目录。(3)测试。具体方法是:单击“开始”菜单,选择“运行”命令,输入cmd命令,进入DPS界面,若输入java version命令会出现如图1-6所示的信息,则表明设置正确。1.2.2开发第一个Java程序(1)Eclipse。登录/downloads/下载。(2)安装Eclipse。Eclipse是一个绿色软件,无需安装即可执行。/file/f9b0403803覆盖下列文件到程序目录即可。(3)运行Eclipse。进入解压后的eclipse目录,双击eclipse.exe运行Eclipse集成开发环境。在运行时,Eclipse会提示选择工作空间,如图1-7所示(这里选择E:黄伟林第一章作为工作空间)选择工作空间后,单击“确定”按钮,会出现一个欢迎界面,可以把欢迎界面关闭。(4)用Eclipse编写程序。1)新建项目(project):单击“文件”“新建”“项目”命令,在弹出的对话框中选择“Java项目”选项,单击“下一步”按钮,如图1-8所示。输入项目名称:JavaStudy,单击“完成”按钮,如图1-9所示。提示:项目又称“工程”。2)新建Java程序:选中“包资源管理器”中的JavaStudy项目节点,单击鼠标右键,选择“新建”“文件”命令,新建文件,如图1-10所示。在“文件名”文本框中输入:FirstClass.Java,单击“完成”按钮,系统将自动弹出如图1-11所示的Eclipse主窗口。3)编写代码:在Java编辑器中输入如图1-12所示的内容。public class FirstClasspublic static void main(String args)System.out.println(Hello World!);4)保存:单击工具栏中的“保存”按钮或“文件”菜单中的“保存”命令。在保存的同时,Eclipse将自动将源程序编译成字节码文件。若程序有错误,将显示在“问题”视图中。5)运行:在“包资源管理器”中,选中FirstClass类节点,单击鼠标右键,选择“运行方式”“Java应用程序”选项。如果看到如图1-13所示的输出结果,表明第一个程序开发成功。1.2.3 Java程序框架(1)给程序起个名字,我们把它叫做类名,图1-12中的FirstClass就是类名。类名前腰用public(公共的)和class(类)两个词修饰,他们的顺序不能改变,中间要用用空格分隔。类名后跟一对大括号,所有属于这个类的代码都放在“”和“”之间。(2)写出main方法的框架public static void main(String args)main方法是所有Java应用程序执行的起点。一个程序孩子能有一个main方法。(3)在main方法中填写代码。println()和print ()都是向控制台输出消息,唯一不同的是,println()在输出消息后会自动换行,而print()不会自动换行。注意:(1)public修饰的类名不能随便起,必须与Java文件同名。(2)每条语句必须以“;”结尾。(3)输出的字符串必须用双引号括起来,而且必须是英文的引号。1.3案例:制作频道菜单参考代码class PinDaopublic static void main(String arg)System.out.println(欢迎收看电视频道,请选择:);System.out.println(t1:少儿频道);System.out.println(t2:影视频道);System.out.println(t3:经济频道);System.out.println(t4:体育频道);System.out.println(t5:农村频道);1.4本章小结源程序以.java为后缀名,编译后生成的文件以.class为后缀名。1.5实战训练实战:开发简单的Java应用程序参考方案public class Practice1public static void main(String args)System.out.println(姓名:张三);System.out.println(年龄:21);System.out.println(性别:男);System.out.println(职业:学生);System.out.println(住址:杭州市江干区139号);System.out.println(电话:139000000265);第2章 Java语言基础本章技能目标(1)了解Java语言的基本符号,包括关键字、标识符、运算符和注释。(2)了解Java语言的数据类型以及变量、常量的使用。(3)会使用Java的运算符。(4)掌握Java语言的控制语句,如分支语句、循环语句灯。(5)掌握Java中数组的创建和使用。重点和难点(1)Java分支语句的使用。(2)Java循环语句的使用。(3)Java数组的声明、初始化和使用。(4)数据类型转换。2.1 Java符号Java的符号可以分为:标识符、关键字、运算符和注释符号。2.1.1标识符在Java语言中,任何一个变量方法、对象和类都需要事先用一个名字来对它命名,这个名字就是标识符。Java中标识符的使用有如下规定:(1)标识符由字母、数字、美元符号“$”和下划线“_”组成,除此之外的任何其他符号是不能作为标识符使用的。(2)标识符中的第一个字符不能为数字。(3)标识符不能为Java的关键字,但Java的关键字可作为标识符的一部分。(4)区分大小写,如Ad、ad、aD是不同的标识符。(5)长度不限,但不宜过长,尽量做到知名达意。(6)注意“_”和“-”的区别,减号是不能作为标识符的。为了提高程序的可读性,SUN公司推荐在Java编程时使用一下的习惯约定:(1)类名:可由一个或若干个名词组成,每个名词首字母大写,其他小写。如AccountBook、Complex Variable。(2)接口:规则同类名。如Account。(3)方法:由一个或多个动词组成,开头小写,动词间区分用大写,其他小写。如balanceAccount。(4)变量:小写字母开头,单词间用大写字母讲个。如currentCustomer。(5)常量:所有字母大写,单词间用下划线区分。如MAXIMUM_SIZE。2.1.2关键字关键字是Java语言本身使用的标识符,均采用小写形式。2.1.3注释符注释内容在编译时会被编译器忽略。Java的注释有三种形式:单行注释、多行注释和文档注释。(1)单行注释。也叫双斜杠注释,即在注释内容前使用一个双斜杠(/),表示从斜杠开始到本行结束都是注释内容,编译器不需要编译这部分内容。【例2-1】单行注释示例。class Example1public static void main(String args)System.out.println(单行注释示例); /在屏幕上输出 (2)多行注释。这种注释以“/*”开始,以“*/”结束,两组符号必须成对出现。一般使用该注释来注销目前不再使用但仍想保留的代码行,或者像让它在调试过程中暂时失效。【例2-2】多行注释示例。class Example2public static void main(String args)/*System.out.println(单行注释示例); /在屏幕上输出*/System.out.println(多行注释示例); /程序结束(3)文档注释。文档注释主要放在类、接口、方法和成员变量定义的前面,用于对这些对象的解释。除了便于阅读理解外,主要目的是为了用Javadoc工具生成API文档。这种注释以“/*”开始,以“*/”结束。【例2-3】文档注释示例。/* * 标题:文档注释 * 描述:距离说明文档注释的注释方法 * 版权:Copyright(c)2008 * 公司:XXX *version version1.5 */class Example3public static void main(String args)System.out.println(文档注释示例); /程序结束2.1.4运算符及分隔符运算符,是用来执行某种运算(如加法+、减法-、乘法*)的符号。Java中的运算符有很多,如算术运算符、逻辑运算符、关系运算符灯。分隔符是为了将程序代码组织成编译器可以理解的形式,常见的分隔符有()、;和空格。2.2 Java数据类型及使用Java语言中包含两大类数据类型:基本数据类型和引用数据类型(如图2-1所示)。Java的基本数据类型长度是固定的,可以跨平台自由移植。在Java中,基本数据类型主要有4种。1.整数型Java定义了4种整数类型:byte、short、int、long,见表2-22.浮点型浮点数即实数,包括整数和小数两部分。Java中有两种浮点数float和double,分别代表单精度型和双精度型。3.字符型在Java中,用于存储字符的数据类型是char。4.布尔值在Java中,用于存储布尔值的数据类型是boolean,占1位,其布尔常量只有两个值:true和false。引用数据类型是指由基本数据类型组合成的较复杂的数据类型。不同类型的数据既可以以变量的形式出现,也可以以常量的形式出现。变量的值在程序执行期间是可变的,而常量的值是不可改变的,它们都代表内存中指定的存储单元。将数据指定给变量,就是将数据存储至对应的内存空间;调用变量,就是将对应的内存空间的数据取出来使用。在Java中要使用变量,必须先进行定义。其语法为:数据类型 变量名=初值;double javaScore=98.5;/定义一个双精度浮点型变量javaScore存储分数String name=”jenny”;/定义一个字符串变量那么存储姓名char sex=”女”;/定义一个字符型变量sex存储性别变量必须经定义初始化后才能使用,否则编译器在编译时会报告这个错误。variable var might not have been initiallzed.在Java中写下“0.0”这么一个常数,其默认为double数据类型。【例2-4】各种类型变量的使用。class Example4public static void main(String args)int ageOfStudent = 3;double scoreOfStudent = 90.0;char levelOfStudent = A;System.out.println(年级,得分,等级);System.out.println(ageOfStudent+,+scoreOfStudent+,+levelOfStudent+,);2.2.3常量常量是不可改变的数值,按其类型可以分为整型常量、浮点型常量、布尔型常量、字符常量和字符串常量。(1)整型常量。可分为int型和long型,默认为int型,long型在数值后加L。(2)浮点型常量。有单精度和双精度之分,缺省为双精度,单精度在数值后加f,双精度在数值后加d或者D。(3)布尔型常量。布尔常量只包括true和false两个值,表示逻辑运算结果的真或假。C语言中布尔值用1或者0来表示。(4)字符常量。用单引号()括起来的一个字符。如a,H。Java语言可使用转义字符转来标记特殊字符。常用的转义字符见表2-4。(5)字符串常量。用双引号(”)括起来的一串字符,如“Good monrning”。但在Java中,字符串常量是作为String类的一个对象来处理的,而不是一个基本数据类型。2.2.4类型转换类型转换有3种情况:自动转换、强制转换和使用类的方法转换。(1)自动转换。将低精度类型数据赋给高精度类型数据时能进行自动转换。如:byte b1 = 10, b2 = 20;int b3 = b1 + b2; /将byte类型数据转换为int型赋给int型变量。(2)强制转换。高精度类型到低精度类型必须强制转换,这是数据可能会丢失部分信息。如:char key = (char)(12+55); /变量key被赋值为Unicode值为67的字符c(3)使用类的方法转换。如String str = “123”;int a = Integer.parseInt(str); /使用Integer类的方法parseInt将String转换为对应的整数。2.3运算符与表达式运算符是指对操作数所进行的运算。按照操作数的数目,可分为一元运算符(如+、-)、二元运算符(如+、-)和三元运算符(如?:),分别操作一个、两个和三个操作数。表达式是用运算符把操作对象连接起来的、符合一定规则的式子。表达式只有两类:数值和逻辑值。整数相除,其值为整数。如表达式3/5的值为0,而不是0.6。2.3.1算术运算符和算术表达式其用法见表2-5先乘除后加减,必要时加上括号表示运算的先后顺序。System.out.println(double)(1+2+3) / 4);注意在上面的程序代码中使用了double限定类型转换,如果不加上这个限定,程序的输出会是1而不是1.5,这是因为在该程序中,1、2、3、4这4个数值都是整数,程序运行(1+2+3)后的结果还是整数类型,若此时处以整数4,会自动去除小数点之后的数字再进行输出,而加上double限定,表示要将(1+2+3)运算的值转换为double数据类型,这样再除以4,小数点之后的数字才不会被去除。int testNumber = 10;System.out.println(testNumber / 3.0); /第一种方法System.out.println(double)testNumber / 3); /第二种方法如果表达式中有一个浮点数,则程序就会先转换使用浮点数来运用。当将精确度小的数据类型(如int)指定给精确度大的数据类型变量(如double)时,精确度并不会失去。如果确定要转换数值为较小的精度,必须明确加上转换的限定符,编译器才不会报告错误。2.3.2关系运算符和关系表达式关系运算符用来对两个值进行比较,返回布尔类型的值true和false。关系运算符都是二元运算符,其用法如表2-6所示。在Java中,条件成立时以true表示,不成立时以false表示。【例2-5】关系运算的使用。import java.util.*;public class ComparisonOperatorpublic static void main(String args)int jeny = 75; /jeny成绩为75Scanner input = new Scanner(System.in); /输入的一种方法System.out.println(请输入joe的成绩:); int joe = input.nextInt();boolean result = jeny joe;System.out.println(jeny的成绩高于joe吗? + result);String s1 = “hello”;String s2 = new String(“hello”);System.out.println(s1 = s2); /显示falseSystem.out.println(s1.equals.(s2); /显示true2.3.3逻辑运算符和逻辑表达式表2-7列出了各种逻辑运算符的运算规则。【例2-6】逻辑运算符示例。public class LogicalOperatorpublic static void main(String args)int number = 75;System.out.println(number 70 & number 80 | number 80 & number = 60 ? 是 : 否);【例2-8】判断使用者输入的是否为奇数。import java.util.Scanner;public class OddDecider1public static void main(String args)Scanner scanner = new Scanner(System.in);System.out.println(请输入数字:); int number = scanner.nextInt();System.out.println(是否为奇数? + (number % 2 != 0 ? 是 : 否);奇数表示不能被2整除,所以余数一定不是0。2.3.6各类运算符的优先级和结核性见表2-9。2.4 Java语句及控制流语句2.4.1 Java语句2.4.2分支控制语句1.Java提供了if条件式语句if、else if、else,必须是逻辑表达式,其结果必须返回false或true。true执行完后将跳出整个条件选择语句,否则接着判断后面的条件。如果所有条件的值都是false,则执行else后面的语句。如果这个条件选择语句中没有使用else部分,则什么都不做,继续执行后面的代码。条件选择语句中除了if必须有之外,其他部分都可以省略。【例2-9】判断输入的数是否为奇数。import java.util.Scanner;public class OddDecider2public static void main(String args)Scanner scanner = new Scanner(System.in);System.out.println(请输入数字:); int input = scanner.nextInt();int remain = input % 2;if (remain = 1)System.out.println(input + 为奇数);elseSystem.out.println(input + 为偶数);【例2-10】按考试成绩划分等级。import java.util.Scanner;public class ScoreLevel1public static void main(String args)Scanner scanner = new Scanner(System.in);System.out.println(请输入考试成绩:); int score = scanner.nextInt();if (score = 90)System.out.println(优秀);else if (score = 80 & score = 70 & score = 60 & score 70)System.out.println(及格);elseSystem.out.println(不及格);if(条件式1)if(条件式2) 语句1;else语句2;执行情况?2.switch多分支语句switch只能比较数值或字符。default不一定需要。【例2-11】按成绩排名jeny可出人不同的职务,第1名可出任班长,第2名可出任学习委员,第3-5名可出任副班长,其他名词不能担任班干部。请根据目前jeny的成绩,作出判定。import java.util.Scanner;public class ScoreLevel2public static void main(String args)Scanner scanner = new Scanner(System.in);System.out.println(请输入jeny的名次:); int level = scanner.nextInt();switch (level)case 5:case 4:case 3:System.out.println(可出任副班长);break;case 2:System.out.println(可出任学习委员);break;case 1:System.out.println(可出任班长);break;default:System.out.println(不能担任班干部);case5、case4中没有任何语句,也没有使用break,所以程序会继续往下执行,直到遇见break跳出switch为止。2.4.3循环语句循环的意思就是反复执行某一段代码,直到满足一定的结束条件为止。Java提供了4种循环控制语句:while、dowhile、for和foreach。1.while语句其语法如下:while(条件) 语句;如果循环体只有一个语句,则while的可以省略;while循环一般适用于循环次数不确定的情况。【例2-12】输入某班级的学员成绩,并计算平均值,输入-1时,结束。import java.util.Scanner;public class ScoreAveragepublic static void main(String args)Scanner scanner = new Scanner(System.in); int score = 0;int sum = 0;int count = -1;while(score != -1) count+;sum += score;System.out.println(请输入学员的成绩(-1结束)!);score = scanner.nextInt();System.out.println(全班平均成绩为: + (double)sum / count);2.dowhile语句先执行循环体,然后再进行条件判断。dowhile的语法如下所示:do 语法一;语法二; while(条件式);【例2-13】重复判断输入数据的奇偶数。import java.util.Scanner;public class OddDecider3public static void main(String args)Scanner scanner = new Scanner(System.in);int input = 0;int replay = 0;do System.out.println(输入整数值);input = scanner.nextInt();System.out.println(输入数位奇数? + (input % 2 = 1) ? Y : N);System.out.println(继续(1:继续 0:结束)?);replay = scanner.nextInt(); while(replay = 1);3.for语句for(初始表达式;循环条件;循环迭代)语句组;【例2-14】定位输出09字符及ASCII码,每行5个。public class ListCharacterspublic static void main(String args)int i = 0;for(char c = 0;c= 9; c+,i+)if(i % 5 = 0)System.out.println();System.out.print(c: + (int)c + t);4.foreach循环其格式如下:for(variable:collection)statement;2.4.4 break和continuebreak可以结束当前的程序块,并继续程序块后面的语句。continue的作用与break类似,主要用于循环,所不同的是break会结束程序块的执行,而continue只会结束其之后的语句,并跳回循环的开头继续下一次循环,而不是跳出循环。2.5数组1数组的创建(1)先定义后创建,过程如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论