《Java语⾔程序设计》上机实验指导⼿册
《Java语⾔程序设计》
上机实验指导⼿册printf输出格式java
实验⼀ Java环境演练
【⽬的】
①安装并配置Java运⾏开发环境;
②掌握开发Java应⽤程序的3个步骤:编写源⽂件、编译源⽂件和运⾏应⽤程序;
③学习同时编译多个Java源⽂件。
【内容】
1.⼀个简单的应⽤程序
实验要求:
编写⼀个简单的Java应⽤程序,该程序在命令⾏窗⼝输出两⾏⽂字:“你好,很⾼兴学习Java”和“We are students”。程序运⾏效果⽰例:
程序运⾏效果如下图所⽰:
程序模板:
Hello.java
public class Hello
{
public static void main (String args[ ])
{
【代码1】//命令⾏窗⼝输出"你好,很⾼兴学习Java"
A a=new A();
a.fA();
}
}
class A
{
void fA()
{
【代码2】//命令⾏窗⼝输出"We are students"
}
}
实验后的练习:
1.编译器怎样提⽰丢失⼤括号的错误?
2.编译器怎样提⽰语句丢失分号的错误?
3.编译器怎样提⽰将System写成system这⼀错误?
4.编译器怎样提⽰将String写成string这⼀错误?
2.联合编译
实验要求:
编写4个源⽂件:Hello.java、A.java、B.java和C.java,每个源⽂件只有⼀个类,Hello.java是⼀个应⽤程序(含有main⽅法),使⽤了A、B和C类。将4个源⽂件保存到同⼀⽬录中,例如:C:\100,然后编译Hello.java。
程序模板:
模板1:Hello.java
public class MainClass
{
public static void main (String args[ ])
{
【代码1】 //命令⾏窗⼝输出"你好,只需编译我"
A a=new A();
a.fA();
B b=new B();
b.fB();
}
}
模板2 :A.java
public class A
{
void fA()
{
【代码2】 //命令⾏窗⼝输出"I am A"
}
}
模板3 :B.java
public class B
{
void fB()
{
【代码3】 //命令⾏窗⼝输出"I am B"
}
}
模板4 :C.java
public class C
{
void fC()
{
【代码4】 //命令⾏窗⼝输出"I am C"
}
}
实验后的练习:
5.将Hello.java编译通过后,不断修改A.java源⽂件中的代码,⽐如,在命令⾏窗⼝输出“我是A类”或“我被修改了”。要求每次修改A.java源⽂件后,
单独编译A.java,然后直接运⾏应⽤程序Hello。
6.如果需要编译某个⽬录下的全部Java源⽂件,⽐如C:\1000⽬录,可以使⽤如下命令:c:\1000\javac *.java
【结果】
将本次上机实验结果按照以上内容依次填写实验⽬标、过程、结果。
【注意事项】
①实验报告要求每⼈提交⼀份,使⽤专门的报告纸,内容写全,包括实验名称、班级、
姓名、同组⼈,试验⽇期、交报告⽇期等。
②报告不需要填写源代码,只要将完成情况和所有练习题结果写上就可以。
【思考题】
实验⼆ Java基本数据类型与控制语句
【⽬的】
①掌握char型数据和int型数据之间的相互转换,同时了解unicode字符表;
②掌握使⽤if…else if多分⽀语句;
③使⽤if…else分⽀和while循环语句解决问题。
【内容】
1.输出希腊字母表。
实验要求:
编写⼀个Java应⽤程序,该程序在命令⾏窗⼝输出希腊字母表。
程序模板:
GreekAlphabet.java
public class GreekAlphabet
{
public static void main(String[] args) {
// TODO Auto-generated method stub
int startPosition=0,endPosition=0;
char cStart='α',cEnd='ω';
startPosition = (int)cStart;
endPosition = (int)cEnd;
System.out.println("希腊字母\'α\'在unicode表中的顺序位置:"+ startPosition);
System.out.println("希腊字母表:");
for(int i=startPosition;i<=endPosition;i++)
{
char c='\0';
c = (char)i;
System.out.print(" "+c);
if((i-startPosition+1)%10==0)
System.out.println("");
}
}
}
实验后的练习:
1.将⼀个double型数据直接赋值给float型变量,程序编译时提⽰怎样的错误?
2.在应⽤程序的main⽅法中增加语句:
float x=0.618;
程序能编译通过么?
3.在应⽤程序的main⽅法中增加语句:
byte y=128;
程序能编译通过么?
4.在应⽤程序的main⽅法中增加语句:
int z=(byte)128;
程序输出变量z的值是多少?
2.回⽂数。
实验要求:
编写⼀个Java应⽤程序。⽤户从键盘输⼊⼀个1—9999之间的数,程序将判断这个数是⼏位数,并判断这个数是否是回⽂数。回⽂数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回⽂数。
程序运⾏效果⽰例:
程序运⾏效果如下图所⽰:
程序模板:
Number.java
import javax.swing.JOptionPane;
public class Number
{
public static void main(String args[])
{
int number=0,d5,d4,d3,d2,d1;
String str=JOptionPane.showInputDialog("输⼊⼀个1⾄99999之间的数"); number=Integer.parseInt(str);
if(【代码1】) //判断number在1⾄99999之间的条件
{
【代码2】//计算number的最⾼位(万位)d5
【代码3】//计算number的千位d4
【代码4】//计算number的百位d3
d2=number%100/10;
d1=number%10;
if(【代码5】) //判断number是5位数的条件
{
System.out.println(number+"是5位数");
if(【代码6】) //判断number是回⽂数的条件
{
System.out.println(number+"是回⽂数");
}
else
{
System.out.println(number+"不是回⽂数");
}
}
else if(【代码7】) //判断number是4位数的条件
{
System.out.println(number+"是4位数");
if(【代码8】) //判断number是回⽂数的条件码
{
System.out.println(number+"是回⽂数");
}
else
{
System.out.println(number+"不是回⽂数");
}