一、实验目的
1. 掌握下载 Java SDK 软件包。
2. 掌握设置 Java 程序运行环境的方法。
3. 掌握编写与运行 Java 程序的方法。
4. 了解 Java 语言的概貌。
二、实验内容
(一)SDK 的下载与安装
1. 机器要求
Java 对机器运行要求不高。下面给出的是基于Windows 平台的机器要求。
硬件要求:CPU corel以上,512M 内存,1OOM 硬盘空间即可。
软件要求:Windows98/Me/XP/NT/2000/VISTA,IE 6 以上。
2. 下载SDK
为了建立基于SDK 的Java 运行环境,需要先下载Sun 的免费SDK 软件包。SDK 包含了一整套开发工具,其中包含对编程最有用的是Java 编译器、Applet 查看器和Java 解释器。
在浏览器中输入http://java.sun.com/javase/downloads/index.jsp,在页面的“JDK 6 Update 20 with Java EE”栏可以选择下载 J2SE SDK 软件包。
3. 安装SDK
运行下载的“jdk-6u21-windows-i586.exe”软件包,可安装SDK,在安装过程中可以设置安装路径及选择组件,系统默认的安装路径为“C:\Program Files\Java\jdk1.6.0_21\”,默认的组件选择是全部安装。
4. SDK 中的主要文件夹和文件
安装成功后,“C:\Program Files\Java\jdk1.6.0_21\”中的文件和子目录其中,bin 文件夹中包含编译器(javac.exe)、解释器(javac.exe)、Applet 查看器(appletviewer.exe)等可执行文件
图 101 Java安装后文件夹内容
(二)设置环境变量
SDK 中的工具都是命令行工具,需要从命令行即MS-DOS 提示符下运行它们。很多人可能会不
习惯,但这是Sun 特意采取的策略,为的是把精力更多地投入到Java 语言本身而不是花在开发工具上。
为了能正确方便的使用SDK,可手工配置一些Windows 的环境变量,Windows 98 与Windows/xp/NT/2000/Vista 的配置略有不同。下面以Windows/xp/NT/2000/Vista为例说明相关配置。
1. 设置Windows XP/NT/2000/Vista
¨ 在桌面“我的电脑”图标上单击右键,选择“属性”菜单,将出现系统特性设置界面
¨ 在“高级”选项卡中单击“环境变量”按钮。将出现“环境变量”设置界面
¨ 在“系统变量”框中选择“新建”,然后在变量名栏输入“JAVA_HOME”,在“变量值”栏添加“C:\Program Files\Java\jdk1.6.0_21\”,确定
¨ 再设置环境变量“classpath”,选择“classpath”,在变量值的最后添加“;% JAVA_HOME %\bin”。
¨ 设置完成后,单击“开始”→“所有程序”→“附件”→“命令提示符”打开DOS 窗口,在命令提示符下输入“java”或“javac”,回车后,如果出现其用法参数提示信息,则安装正确
图 102 设置环境变量
2. 设置DOS 起始位置
为了在打开DOS 窗口时可以直接进入包含你开发的java 程序的路径下,下面以Windows XP/2000为例说明设置过程。
¨ 首先建立一个存放java 源程序的路径和文件夹,如将实验中建立的java 源程序都存放在为“e:\java\程序”文件夹中。
¨ 单击“开始”→“所有程序”→“附件”→“命令提示符”,选择“命令提示符”选项右击,
¨ 在出现的下拉菜单中选择“属性”菜单,将打开“命令提示符 属性”对话框,如图1.11 所示。
¨ 在“命令提示符 属性”对话框中选择“快捷方式”选项,在“起始位置”栏输入“e:\java\程序”,单击“确定”按钮。
进行了上面的设置后,打开DOS 窗口时将直接进入“e:\java\程序>”路径下。
如果没有进行上述设置,可使用DOS 命令,直接输入“e:”按回车进入到e 盘,再输入“cd java”到e 盘的java 子目录下,再输入“cd 程序”即可到“e:\java\程序>”路径下。
测试结果如下:
(三)编写、编译Java 源程序
打开一个纯文本编辑器,键入如下程序:
public class Hello {
public static void main(String args[]) {
System.out.println("Hello,world!welcome!");
}
}
将文件命名为Hello.java,保存为文本文件格式文件,注意保存文件的路径。根据前面环境变量的设置,Hello.java 应该保存在“e:\java\程序>”的路径下。
(四)编译Java 源程序
Java 源程序编写后,要使用Java 编译器(javac.exe)进行编译,将Java 源程序编译成可执行
的程序代码。Java 源程序都是扩展名为 .java 的文本文件。编译时首先读入Java 源程序,然后进行语法检查,如果出现问题就终止编译。语法检查通过后,生成可执行程序代码即字节码,字节码文件名和源文件名相同,扩展名为 .class。
1. 打开命令提示符窗口(MS-DOS 窗口)进入Java 源程序所在路径。
2. 键入编译器文件名和要谝译的源程序文件名。javac Hello.java
3. 按回车键开始编译(注意:文件名H 要大写,否则运行会出问题)。
如果源程序没有错误,则屏幕上没有输出,键入 “dir”按回车键后可在目录中看到生成了一个同名字的.class 文件“Hello. class”。否则,将显示出错信息。
(五)运行Java 程序
使用Java 解释器(java.exe)可将编译后的字节码文件Hello.class 解释为本地计算机代码。在命令提示符窗口或MS-DOS 窗口键入解释器文件名和要解释的字节码文件名java Hello,按回车键即开始解释并可看到运行结果,如果看到如图1.19 所示结果,表明程序运行成功了。
一、if语句练习
1. 编写程序实现判断输入的年份是否为闰年。
「提示」闰年:如果一个年份能被4整除并且不能被100整除,或者能被400整除的就是闰年。
源代码如下:
package packagesixth;
public class ifelse {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int year =0;
if (year % 4 == 0 && year % 100 == 0){
System.out.println ( year+"是闰年...");
}
else if ( year % 400 == 0){
System.out.println ( year+"是闰年...");
}
else
System.out.println ( year+"不是闰年...");
}
}
运行结果如下:
2. 编写上述代码,编译运行代码,查看程序执行结果,并在下表中填写验证结果,是闰年填“Y”,不是闰年填“N”。
import java.util.Scanner;
public class ifelse {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int year = 0;
Scanner sc = new Scanner(System.in);
while(year>=0){
System.out.println("请输入一个年份:");
year = sc.nextInt();
if (year % 4 == 0 && year % 100 == 0){
System.out.println ( year+"是闰年...");
}
else if ( year % 400 == 0){
System.out.println ( year+"是闰年...");
}
else
System.out.println ( year+"不是闰年...");
}
}
}
结果如下:
二、 switch语句练习
1. 编写程序实现学生成绩等级划分,输入考试成绩等级,程序会相应输出相应的百分制分数段,要求需使用switch语句。
「提示」if语句和switch语句结合使用。
package packagesixth;
import java.util.Scanner;
public class testswitch {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int grade = 0;
System.out.println("请输入学生成绩:");
Scanner sc = new Scanner(System.in);
float score = sc.nextFloat();
if (score >= 85 && score <= 100 )
grade = 1;
else if (score >= 70)
grade = 2;
else if (score >= 60)
grade = 3;
else
grade = 4;
switch(grade){
case 1:
System.out.println("score is " +score + " grade is A");
break;
case 2:
System.out.println("score is " +score + " grade is B");
break;
case 3:
System.out.println("score is " +score + " grade is C");
break;
default:
System.out.println("score is " +score + " grade is D");
}
}
}
测试结果如下:
五、输入三位正整数N,输出其个位、十位和百位。
package packagesixth;
import java.util.Scanner;
public class testdigital {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a,b,c;
int x = 100 ;
Scanner sc = new Scanner(System.in);
while ( x > 99 && x < 1000){
System.out.println("please input three number:");
x = sc.nextInt();
a = x / 100;
b = ( x / 10 ) % 10;
c = x % 10;
System.out.print( x + "分解之后: ");
System.out.print(" 百位:" + a );
System.out.print(" 十位: " + b );
System.out.println(" 个位: " + c );
}
System.out.println(" ");
}
}
测试结果为: