1.12k likes | 1.3k Views
任课教师:欧阳江林 E-MAIL:oujianglin111@163.com 上机地点:6807 上机要求:每次上机要求写实践报告,每周星期三交作业或实践报告到老师办公室 老师办公室:1414(1号教学楼4楼). 第一章 Java 语言概述. Java 语言特点. 3. 1. 开发环境的配置. 2. Application 和 Applet 的开发方法. 变量和数据类型. 基本控制结构. 4. 5. 6. 方法的定义. 本章要点. 。. Java 简介.
E N D
任课教师:欧阳江林 E-MAIL:oujianglin111@163.com 上机地点:6807 上机要求:每次上机要求写实践报告,每周星期三交作业或实践报告到老师办公室 老师办公室:1414(1号教学楼4楼)
Java语言特点 3 1 开发环境的配置 2 Application和Applet的开发方法 变量和数据类型 基本控制结构 4 5 6 方法的定义 本章要点 。
Java简介 • Java是SUN公司开发的源于Internet的一种现代程序设计语言。多年来,SUN公司对Java产品不断改进升级,使之紧跟时代步伐,满足了日益复杂的软件开发需求。 • Java是一种高级的、严格检查数据类型的、面向对象的程序设计语言。Java还是一种平台无关的、健壮和安全的的程序设计语言。
Java发展的历史 Java的历史可以追溯到1991年,源自Patrick Naughton和James Gosling领导的一个SUN公司工程师小组的项目。SUN公司在1996年早期发布了Java第1版。
1.1 Java语言的特点 • Java是一种面向对象的程序设计语言 • Java是健壮的和安全的语言 • Java是平台无关的语言 跨平台,实现了“一次编写,多处运行”。 • Java抛弃了复杂的指针、宏定义、结构等,更容易理解和掌握 • Java不是一个集成开发环境
1.2 Java程序开发步骤 • 1.编写源程序 程序员通过编辑器编写一个Java程序,并以文件的形式存储在磁盘上,文件的后缀名为.java。 • 2.编译生成字节码 通过编译器(javac.exe)将编辑好的源文件翻译成字节码文件(.class),并存储在磁盘上。 • 3.运行 Application由独立的解释器程序运行,需要调用Java的解释器(java.exe)。Applet不能独立运行,必须嵌入到Web页面中,并由负责解释HTML文件的浏览器充当其解释器,来运行Applet的字节码程序。但可以用appletviewer.exe来运行.html文件。
Java运行机制 • 注:有两种类型程序的.class文件由类装载器装载: • application • (通常是存储于本地机器上的程序) • applet • (存储在用户通过WWW浏览器连接的远程计算机,如服务器;它下载到浏览器中,并解释执行,当运行结束后丢弃) • 检验和执行 • application • java.exe工具 • applet运行方式: • appletviewer.exe来打开 • 浏览器打开
Java运行机制 • Java系统运行程序时: • Java解释器 • (通常又叫JVM=java virtual machine 即Java虚拟机),由这些解释器来解释字节码翻译成本机的二进制代码。 • Java虚拟机作为Java解释器,它能够将字节码转换成计算机当前平台下的机器代码
1.3 J2SDK的安装与配置 • 登录 • http://java.sun.com • 下载 • 最新的J2SE 版本 • 找到Download JDK for Windows • 安装 • 双击下载的安装文件(如:jdk-1_5_0_12-windows-i586-p.exe)
JDK环境变量的设置 • 配置环境变量 • 目的:告诉操作系统,所需java工具包安装在系统的什么位置上.Java运行环境(虚拟机)在什么位置. • Win2000,XP的设置 • 选择“我的电脑”->右击选择“属性”->在系统特性中选择“高级”选项卡->打开“环境变量” • 在用户变量和系统变量中找到“path”变量 • 为path变量添加你所安装的JDK的bin文件夹路径 • 如:C:\Program Files\Java\jdk1.5.0_12\bin • 注意:添加时各个路径之间用分号格开
1.右击“我的电脑”选择“属性”,打开“系统属性”,选择“高级”选项卡.1.右击“我的电脑”选择“属性”,打开“系统属性”,选择“高级”选项卡. • 2.单击“环境变量”按钮,打开“环境变量”对话框,在该对话框中可以设置只有当前用户登录时才有效的用户变量,也可以设置该系统的所有用户登录时都有效的系统变量 • 3.在“环境变量”对话框中单击“新建”按钮,在打开的新建系统变量对话框中输入变量名JAVA_HOME,其环境变量的值设置为JDK的安装位置,如C:\JDK1.5。
4.然后在 “环境变量”对话框中再次选择Path变量,将JDK开发工具所在的bin目录的位置(C:\JDK1.5\bin)添加到对应的环境变量值后面,注意和前面的值用”;”隔开,单击“确定”按钮,完成JDK相关环境变量的设置. • 5.在“环境变量”对话框中单击“新建”按钮,在打开的新建系统变量对话框中输入变量名CLASSPATH,其环境变量的值设置为 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar。
1.4 Eclipse3.2.2开发环境的安装 • 登录eclipse官方网站:www.eclipse.org • 下载Eclipse3.2.2 for Windows 文件名:eclipse-SDK-3.2.2-win32.zip • 下载配套的语言包 文件名:NLpack1-eclipse-SDK-3.2.1-win32.zip
安装Eclipse3.2.2 解压文件eclipse-SDK-3.2.2-win32.zip 到指定目录,运行目录中的eclipse.exe文件即可启动,此时是英文界面。 • 安装多国语言包 1. 在eclipse目录中新建一个目录,如newplugins, 2. 解压文件NLpack1-eclipse-SDK-3.2.1-win32.zip 到newplugins文件夹. 3. 在eclipse安装目录中建立links文件夹。 4.在links文件夹中建立一个文本文件,文件名为:language.link,该文件只有一行内容: path=newplugins\\language
5.在eclipse\configration文件夹中保留config.ini 文件,删除该文件夹中的所有其他文件。 6.启动eclipse. 安装语言包后目录结构如下:
Eclipse运行环境配置 • 在Eclipse主界面中,选择“窗口”→“首选项”,弹出首选项对话框,在该对话框的左侧树形目录中,展开Java节点,选择“已安装的JRE”,再点击该对话框右侧的”添加”按钮,弹出“添加JRE”对话框,单击 “浏览”,选择JDK的安装目录C:\JDK1.5,此时在JRE系统库中出现了相应的文件, 如下图所示:
1.5简单的应用程序(Application) 打开一个文本编辑器,输入以下代码 public class Welcome { public static void main (String args[ ]) { System.out.println(“Hello world!”); } } • 注意:大小写,文件保存为Welcome.java
编译命令 编译文件名(全称) 调试和运行 • Javac(java compile) • 如果没有配置环境变量,必须把文件放到javac所在的目录(bin中),并在命令提示符进入该目录下,才能调试 • 配置环境变量以后,不管你的文件在哪里,用命令提示符,进入你的文件存放位置,输入命令行 • 进行编译 javac Welcome.java
运行的字节码文件名 运行命令 调试和运行 • 编译正确: • 则不出现任何提示,生成.class字节码文件 • 编译不正确: • 根据错误提示,继续修改 • 输入命令行运行字节码文件 注意:不要将文件名写成Welcome.class java Welcome
1.5.2用Eclipse开发应用程序 • 启动Eclipse,在主界面中选择 “文件”→ “新建”→ “项目”, 在对话框中输入项目名:Sample1_1 • 右单击项目名,在弹出的右键菜单中选择 “新建”→ “类”,打开一个创建类的向导。输入包名:edu.ch1,类名:MyApplication,打开eclipse主界面,在编辑区中输入源程序,如下图所示:
1.6 简单的Applet程序 • Applet就是小应用程序,Java Applet就是用Java语言编写的这样的一些小应用程序,它们可以直接嵌入到网页(嵌入到.html文件中)或者其他特定的容器中,并能够产生特殊的效果。 • Applet不是通过main()方法来运行的。
例1.2 Applet示例 // Applet程序名:WelcomeApplet.java import java.awt.Graphics; // 引入Graphics类 import java.applet.Applet; // 引入Applet类 //声明类WelcomeApplet继承自父类Applet public class WelcomeApplet extends Applet { // 在applet容器中绘制一个字符串 public void paint( Graphics g ) { // 调用父类中的paint方法 super.paint( g ); // 在x坐标为25,y坐标为 25位置上绘制一个字符串 g.drawString( "Welcome to Java Programming!", 25, 25 ); } }
WelcomeApplet.html 文件内容 <html> <applet code = "WelcomeApplet.class" width = "300" height = "45"> </applet> </html> • 将WelcomeApplet.java文件编译成字节码文件WelcomeApplet.class,然后把字节码文件和HTML文件放在同一目录下。用浏览器打开HTML文件,可看到运行结果。
1.6.3 用Eclipse开发Applet • 用Eclipse开发小应用程序的步骤与开发应用程序相同先新建项目,再新建类。只是在创建类的时候,由于以小应用程序的方式运行,不需要创建main()方法。因此不用选择“public static void main(String[] args)”选项。同时在超类这一栏里,可以输入继承的类名,小应用程序继承的是Applet类,因此在超类栏中输入:java.applet.Applet。如下图所示。在类中输入例1.2中的代码,在包资源管理器中右单击WelcomeApplet.java文件,在弹出的右键菜单中选择 “运行方式”→ “java applet”,运行结果和DOS方式运行结果相同。
1.7.3 变量 • 变量是用来存储数据的。在Java中,每一个使用的变量都需要声明,以便于系统为他分配合理的存储空间。声明一个变量包括两个步骤:指定存储该变量的数据类型,以及给该变量起一个名称。声明变量的格式: 类型变量名1[,变量名2,……,变量名n][=初值]; 例: int x; int age; • 给变量命名应做到“见名知义”。
1.7.4 变量的赋值 • Java使用赋值操作符“=”给一个变量赋值例如 int age; age= 18; • 变量可以在声明时直接指定它的值。可以用下面这条语句来替代上面的两行语句。 int x = 18;
数据类型转换 • 变量从一种数据类型转换到另一种数据类型,称为类型转换。凡是把占用比特数较少的数据转换成占用比特数较多的数据,可以由编译系统自动完成,这种转换称为隐式转换。如果要把占用比特数多的数据转换成占用比特数少的数据,可以采用强制类型转换。强制类型转换的格式是: (数据类型) 变量名; 例如: int a=20,b=7; float x=(float)a/b;
1.7.5 整型类型 • 有4种可以用来表示整型数的数据类型: • Byte • Short • Int • long。 • 例1-3 整型数示例。 publicclass IntegerDemo { publicstaticvoid main(String [] args) { int a = 18; //声明并初始化变量 short x,y=10,z=20; //同时声明多个变量 x = (short)( y + z ); //这里为什么要强制转换? System.out.println("x的值是:"+x);
long b = 12345678987654321L; /*常量数值 后为何要加‘L’字符? */ System.out.println("b的值是:"+b); b = a; //隐式类型转换 byte c; c = (byte)a; //强制类型转换 System.out.println("c的值是:"+c); } }
1.7.6 浮点数类型 • 保存浮点数的数据类型有两种: • Float 32位 • Double 64位 默认情况下Java以double方式处理浮点数,如果要指定某个浮点数的存储方式是float而不是double,需要在书写具体数值时追加一个类型标志符F ,如123.321F。
例1-4 浮点数示例。 public class FloatDemo { public static void main(String [] args) { double pi = 3.14159; float f = 2.7F;// 注意这里指定以float类型存储 System.out.println("pi = " + pi); System.out.println("f = " + f); int n = 15, d = 4; f = n/d; //f里面存储的值是什么? System.out.println("f的值是:" + f);
int radius = 10; double area = pi * radius * radius; //area里面存储的值是什么? System.out.println("area = " + area); } } 程序运行结果: pi = 3.14159 f = 2.7 f的值是: 3.0 area = 314.159
1.7.7 布尔类型 • 布尔类型(Boolean),用来表示布尔值。布尔变量的取值只可以是true或者是false。 • 例1-5 布尔类型使用示例。 public class BooleanDemo { public static void main(String[] args) { boolean t = true; System.out.println("t 的值是 " + t); int x = 2; boolean y = (x > 2); System.out.println("y 的值是 " + y);
x=x+1; y=(x>2); System.out.println("在x加1以后,y是"+y); // y = x; // 不能编译! } } 程序运行结果: t 的值是true y 的值是false 在x加1以后,y是true 说明:在Java中,布尔数据类型不是一个整型值,不能将一个整数数赋值给布尔变量。
在Java中,字符数据类型是用16位来表示的,可以表示Unicode字符集,这个字符集可以处理国际通用的字符。在Java中,字符数据类型是用16位来表示的,可以表示Unicode字符集,这个字符集可以处理国际通用的字符。 一个字符可以被作为无符号的整数值来处理,因此可以进行一些算术操作,如比较两个字符值的大小等 在描述一个字符时,我们需要给该字符加上一对单引号。例如,’A’,这样系统就以字符方式识别A(注意:如果用双引号,则系统将识别为字符串String,而不是单个字符)。有些字符是不可打印的,可以用转义符(\)来表示。表1-3列举了常用的转义字符。 如果需要以Unicode值的方式指定某个特定的字符可以使用转义符\u加上Unicode字符值。(注:该字符值以16进制方式来表示)。例如’\uF9A4’。
例1-6 char数据类型的使用示例。 public class CharDemo { public static void main(String[] args) { char a = 'A'; char b = (char) (a + 1); System.out.println(a + b); System.out.println("a + b is " + a + b); int x = 75; char y = (char) x; char omega = '\u03A9'; System.out.println("y is " + y + " omega is " + omega); } }
程序运行结果: 131 a + b is AB y is K and omega is Ω