JAVA程序设计实验指导书全册Word文档格式.docx
- 文档编号:21499720
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:51
- 大小:43.68KB
JAVA程序设计实验指导书全册Word文档格式.docx
《JAVA程序设计实验指导书全册Word文档格式.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计实验指导书全册Word文档格式.docx(51页珍藏版)》请在冰豆网上搜索。
javahelloWorldApp.java
javahelloworldapp
javaHelloWorldApp.class
5.输入下面的随机数生成程序,重复上述编译和执行过程,分步写出两个命令执行过程。
importjava.util.Random;
publicclassMathDemo{
publicstaticvoidmain(String[]args){
Randomrand=newRandom();
intv=rand.nextInt();
System.out.println("
你得到了一个"
+v);
1)保存文件名为:
2)编译命令为:
3)运行程序命令为:
4)如果删除该程序的第一行import语句,重新编译,有何问题?
评语:
日期:
年月日
实验02:
Eclipse开发环境
1.了解最基本的环境配置过程。
2.掌握Eclipse环境下的Java程序开发过程。
1.在Eclispe环境下创建一个项目MyExexercise,添加一个包demo,向包内添加一个类CommandParameter,配置运行参数,使得程序能够逐个输出命令行参数的要求。
1)自动生成的CommandParameter程序的第一行是什么?
2)在何处配置运行时的命令行参数?
2.在何处调整项目缺省的字符集。
3.在何处可以调整代码编辑框内的文字大小,写出操作指南。
4.如果console窗口关闭了,如何操作才能重新显示出来?
5.写出设置断点的步骤。
6.如何查看运行过程中各个变量的值。
实验03:
数值类型与变量声明
1.掌握标识符的定义规则
2.认识Java的数据类型以及掌握各种变量的声明方法。
3.掌握不同数值类型间的赋值问题
1.编写一个JAVA程序,对不同类型的类型进行变量的定义并输出相应的值。
publicclassVariable{
inta=10;
a="
+a);
1.写出程序运行的结果
2.修改上述程序,定义一个字符型变量,并定义其初值为'
a'
,然后输出该变量的值,在下面写出修改后的代码片段。
3.修改上述程序,定义一个字符型变量,并定义其初值为100,然后输出该变量的值,在下面写出修改后的代码片段。
4.修改上述程序,定义一个字符型变量,并定义其初值为65536,然后输出该变量的值,在下面写出修改后的代码片段,如果有错误,说明原因。
5.修改上述程序,定义一个单精度类型的变量,并定义其初值为10.0,然后输出该变量的值,在下面写出修改后的代码片段。
6.修改上述程序,定义一个双精度类型的变量,并定义其初值为10.0,然后输出该变量的值,在下面写出修改后的代码片段。
7.替换下面的代码段到上述程序,分析现象。
floatf=10.0f;
doubled=100.0d;
f=d;
f="
+f);
8.替换下面的代码段到上述程序,分析结果。
charc='
;
a=c+a;
System.out.printf("
c=%c"
a);
9.声明一个布尔类型的变量,其初值为真。
10.替换下面的代码段到上述程序,分析现象。
Variablev=newVariable();
v="
实验04:
运算符和表达式
1.熟悉运算符的作用、优先级和结合方向
2.认识Java的表达式,理解表达式的构成、类型
1.运行下面的程序,写出运行结果
publicclassArithmaticOp{
publicstaticvoidmain(Stringargs[]){
inta=5+4,b=a*2,c=b/4;
intd=b-c;
inte=-d;
intf=e%4;
doubleg=18.4,h=g%4;
inti=3;
intj=i++;
intk=++i;
System.out.println("
b="
+b);
c="
+c);
d="
+d);
e="
+e);
g="
+g);
h="
+h);
i="
+i);
j="
+j+"
\nk="
+k);
2.写一个程序,计算32/5的结果,如果需要得到浮点数的结果该如何重写表达式。
分别写出这两个赋值表达式。
3.创建一个类名为GravityCalculator的类,在该类中写上以下代码,
publicstaticvoidmain(String[]arguments){
doublegravity=9.81;
//重力速度,单位m/s^2
doubleinitialVelocity=0.0;
doublefallingTime=10.0;
doubleinitialPosition=0.0;
doublefinalPosition=0.0;
Theobject'
spositionafter"
+fallingTime+"
secondsis"
+finalPosition+"
m."
);
运行此程序,输出运行结果。
4.修改上述例子程序,完成以下功能:
计算10秒钟后物体的位置。
输出位置以米为单位,计算的数学公式为:
x(t)=0.5×
gt2+vit+xi
变量作用值
g加速度(m/s2)9.81
t时间(s)10
vi初速度(m/s)0
xi初始位置0
5.有四个整数分别用a、b、c、d表示,请使用条件运算符找出其中最大值。
实验05:
输入/输出处理
掌握输入输出程序的处理。
1.编写程序,从键盘上输入一个整数作为圆的半径,分别计算并输出圆周长、圆面积。
2.编写程序,从键盘上输入三个实数,比较大小,分别输出最大值和最小值。
3.运行下面的程序,写出运行结果,解释每种格式的含义。
importjava.util.Calendar;
publicclassCommandParameter{
longn=;
System.out.printf("
%d%n"
n);
System.out.printf("
%08d%n"
System.out.printf("
%+8d%n"
%,8d%n"
%+,8d%n%n"
doublepi=Math.PI;
%f%n"
pi);
%.3f%n"
%10.3f%n"
%-10.3f%n"
Calendarc=Calendar.getInstance();
%tB%te,%tY%n"
c,c,c);
%tl:
%tM%tp%n"
%tD%n"
c);
实验06:
流程控制
(一)
1.能够正确使用if,switch语句,并且能正确使用合法的参数类型。
2.在不同情况下,能够正确选择使用循环语句,能正确使用break,continue,能计算在循环中或循环后循环计数器的值。
1.编写程序,声明一个double型变量,并任意赋值,然后判断该书是否在1到10000之间,根据结果输出下面其中一行结果(x需用实际的数值代替):
Thenumberxisbetween1and10000.
Thenumberxisnotbetween1and10000.
2.分析下面程序,写出运行结果
classTestApp{
publicstaticvoidmain(String[]args){
for(inti=0;
i<
10;
i++){
if(i==3)
break;
System.out.print(i);
3.分析switch的作用,写出下面程序运行的结果
classSwitchDemo{
publicstaticvoidmain(Stringargs[]){
intc=38;
switch(c<
10?
1:
c<
25?
2:
35?
3:
4){
case1:
"
+c+"
℃有点冷。
要多穿衣服。
"
case2:
℃正合适。
出去玩吧。
case3:
℃有点热。
default:
℃太热了!
开空调。
1)当c=38时,运行结果是什么?
2)当c=8时,运行结果是什么?
3)当c=48时,运行结果是什么?
4)在每个case的输出语句后,添加break语句后,充分执行上述几种情况,分析有何变化,分析写出每次运行结果。
当c=38时,运行结果是
当c=8时,运行结果是
当c=48时,运行结果是
4.通过键盘输入任一个整数,判断其是否是素数,并输出判断结果。
5.通过键盘输入任意两个整数,按照从小到大的顺序输出这两个数。
6.写出下面的代码段执行后,j的值是多少?
inti=1,j=0
switch(i){
j+=6;
case4:
j+=1;
j+=2;
case0:
j+=4;
7.写出下列程序片段中while循环体重复执行的次数
inta=1,
b=1;
while(a<
=1000){
a=2*a;
b=b+1;
System.out.println(b);
8.编写一个程序,输出1到200之间所有能被3整除的整数,要求输出时每行输出5个整数。
9.编写一个程序,输出一个99乘法表,输出格式如下。
1×
1=1
2=22×
2=4
3=32×
3=63×
3=9
4=42×
4=83×
4=124×
4=16
5=52×
5=103×
5=154×
5=205×
5=25
6=62×
6=123×
6=184×
6=245×
6=306×
6=36
7=72×
7=143×
7=214×
7=285×
7=356×
7=427×
7=49
8=82×
8=163×
8=244×
8=325×
8=406×
8=487×
8=568×
8=64
9=92×
9=183×
9=274×
9=365×
9=456×
9=547×
9=638×
9=729×
9=81
10.下面输出素数的程序原意输出为下面的结果,但现在不是,请调试下面程序,使之能够按要求输出:
235711
1317192329
3137414347
5359616771
7379838997
publicclassPrime{
booleanisPrime=true;
//用来标识每次计算的数是否是素数,如果不是则为false;
for(intx=2;
x<
=100;
x++){
intm=x/2;
for(inti=2;
i<
=m;
i++){
if(x%i==0)
isPrime=false;
//
if(isPrime){
System.out.print(x+"
\t"
if(n==5){
System.out.println();
实验07:
流程控制
(二)
1.进一步巩固对分支、循环结构的掌握,并简单了解有关方法的使用
1.分析程序
System.out.println(multiply(2,3,4,5));
publicintmultiply(int…nums){//变长参数
intresult=1;
for(intx:
nums)
result*=x;
returnresult;
能否正常运行?
原因是什么?
2.编写程序,接受命令行传入的的一个参数,能够统计其中大写字母、小写字母、数字、空格及其他字符的个数,并且分别输出统计数据,如果碰到了”\n”则终止统计。
提示:
1)声明并出初始化一个字符串变量:
如Strings=”hello\nMike”;
2)s.charAt(0)表示取该字符串的第1个字符h;
s.charAt
(1)取第2个字符e,其他依次类推;
3)s.length()返回该字符串的字符个数,如”hello”的字符个数是5。
3.利用java.util.Random类,编写一个程序,每次执行时生成一个1~6之间(含1和6)的整数。
Random类的用法如下面代码段所示。
Ramdomrand=newRandom();
//第一步要创建一个随机数生成对象
intx=rand.nextInt(5)+1;
//第二步rand.nextInt(5)生成一个0到5之间的数字,然后简单加1,调整到1到6之间,以满足需要
4.利用java.util.Random类,编写一个程序,每次执行时生成一个1~6之间(含1和6)的整数。
//第二步rand.nextInt(5)生成一个0到5之间的数字,然后简单加1,调整到1到6之间,以满足需要。
写一个程序,使用上述随机数生成方法模拟掷筛子(Dice)。
一个人每次掷3个筛子,根据下面的规则来显示获胜的奖金情况。
●如果3个筛子都是6,赢20元;
●如果3个筛子都相同,赢10元;
●如果3个筛子中有任何两个都相同,赢5元。
5.分析程序
publicstaticdoublepower(doublex,intn){
if(n==0)
return1.0;
else
if(n%2==0)
returnpower(x*x,n/2);
returnpower(x*x,n/2)*x;
1)程序的功能是:
2)当x=4,n=2时,调用power方法返回值是什么?
写出每次的调用过程
6.分析下面的两段程序
publicstaticintP(intn){
returnQ(n>
=0?
n:
-n);
privatestaticintQ(intm){
finalintBASE=10;
return(m<
BASE?
1:
1+Q(m/BASE));
例如:
当n=5时,调用方法p返回值是多少?
写出执行过程。
Step1:
n=5,p(5)=Q(5);
Q(5)=1
1)当n=9时,调用方法p返回值是多少?
2)当n=10时,调用方法p返回值是多少?
3)当n=123时,调用方法p返回值是多少?
4)总结P方法的功能是什么?
5)修改方法P,完成同样功能,达到不调用其它函数包括递归调用自己。
评语:
实验08:
数组
1.知道怎么样声明、创建和初始化各种类型的数组
2.理解二维数组的概念,能够声明、创建和初始化各种类型的二维数组
3.掌握对一维或二维数组元素的访问方法
4.掌握不规则二维数组的声明、创建和初始化以及访问的方法了解Arrays类及System类中关于数组操作的方法的使用
1.编写程序,掌握数组的声明和访问数组元素,了解数组对象length的作用
2.编写程序,掌握二维数组的定义和应用
3.编写程序,掌握二维不规则数组的定义和使用
4.编写程序,熟悉命令行参数
1.根据教科书程序5-5,写出外循环每次循环后数组的元素变化。
循环开始前的数组元素依次是:
第一次循环后的数组元素依次是:
第二次循环后的数组元素依次是:
循环后的数组元素依次是:
publicclassArrayTest{
inti,j;
inta[]={2,1,4,8,9,5,3};
for(i=0;
a.length-1;
intk=i;
for(j=i;
j<
a.length;
j++){
if(a[j]<
a[k]){
k=j;
inttemp=a[i];
a[i]=a[k];
a[k]=temp;
i++)
System.out.print(a[i]+"
第一次循环后:
i=j=k=数组元素依次是
第二次循环后:
第三次循环后:
第四次循环后:
第五次循环后:
第六次循环后:
第七次循环后:
最后运行结果:
3.按照要求运行下面的程序,回答问题。
for(inti=0;
args.length;
第"
+i+"
个参数是"
+args[i]);
1)请按照下面的运行命令运行,并写出运行结果。
JavaCommandParameterAliceMikeMary
2)你认为args数组的作用是什么?
3)请写出运行时args数组中每个位置存放的元素值
4.有如下数组
intmyArray[]={1,2,3,4,5,6};
intyourArray[]={10,9,8,7,6,5,4,3,2,1};
请利用System.arraycopy方法编写一个程序,复制myArray数组的所有内容到yourArray数组,放在yourArray数组下标0开始的位置,并输出yourArray数组的每个元素。
11.有整型数组,按顺序包含元素:
10,7,9,2,4,5,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 程序设计 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)