《Java编程基础》上机实验指导及代码.docx
- 文档编号:28375206
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:86
- 大小:298.05KB
《Java编程基础》上机实验指导及代码.docx
《《Java编程基础》上机实验指导及代码.docx》由会员分享,可在线阅读,更多相关《《Java编程基础》上机实验指导及代码.docx(86页珍藏版)》请在冰豆网上搜索。
《Java编程基础》上机实验指导及代码
《Java编程基础》上机实验指导及代码
实验一Java快速入门
一、实验目的
1.掌握如何下载JDK软件包;
2.掌握如何设置Java程序的运行环境JRE;
3.掌握如何编写简单的Java程序并调试;
4.了解Java的概貌。
二、实验内容
1.JDK1.6的下载与安装
网址:
2.设置JDK1.6的环境变量
3.使用记事本编写一个JavaApplication源程序,输出“Helloworld!
”。
4.编译上述编写好的源程序,产生字节码文件。
5.使用Java解释器将上述编译后的字节码文件解释为本地计算机代码。
以上3~5参考步骤:
(1)用记事本编写如下代码并保存为Hello_1.java。
publicclassHello_1{
publicstaticvoidmain(String[]args){
System.out.println("Helloworld!
");
}
}
(2)编译源程序。
在命令状态下执行如下命令行:
javacHello_1.java
(3)运行Java程序。
在命令状态下执行如下命令行:
javaHello_1
三、思考题
1.上机编译编写的源程序,使用什么命令进行编译?
Java编译器产生的文件扩展名是什么?
2.上机解释编译过的程序,使用什么命令进行解释?
Java解释器解释的文件扩展名是什么?
实验二Java基本语法
一、实验目的
1.进一步熟悉Java的数据类型;
2.进一步熟悉Java变量的声明方式、各种常量的表示形式;
3.熟练掌握Java的赋值运算符、算术运算符及表达式。
4.熟练掌握Java的关系运算符、逻辑运算符及表达式。
二、实验内容
请按下列要求编写程序,并上机调试各程序。
1.编写Java应用程序Expe2_1.java,将一个3位整数的个位、十位、百位数分离出来并显示,各位数之间以“,”分隔。
//Expe2_1.java
importjava.util.Scanner;
publicclassExpe2_1{
publicstaticvoidmain(Stringargs[]){
Scannerscan=newScanner(System.in);
System.out.println("请输入一个3位数:
");
intshu=scan.nextInt();
inta=shu/1%10;//个位
intb=shu/10%10;//十位
intc=shu/100%10;//百位
scan.close();
System.out.println(a+","+b+","+c);
}
}
2.编写Java应用程序Expe2_2.java,计算下列表达式的值:
x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7。
publicclassExpe2_2{
publicstaticvoidmain(Stringargs[]){
doublex=2.5;
inta=7;
doubley=4.7;
System.out.println(x+a%3*(int)(x+y)%2/4);
}
}
运行结果:
2.5
3.设x的值为10,编写Java应用程序Expe2_3.java,输出经过下列表达式运算后的x的值。
x+=xx-=3x*=1+2x%=5
publicclassExpe2_3{
publicstaticvoidmain(Stringargs[]){
intx=10;
System.out.println(x+=x);
System.out.println(x-=3);
System.out.println(x*=1+2);
System.out.println(x%=5);
}
}
运行结果:
20
17
51
1
4.已知a和b均是整型变量,编写Java应用程序Expe2_4.java,实现将a、b两个变量中的值互换。
publicclassExpe2_1{
publicstaticvoidmain(Stringargs[]){
inta=1;
intb=9;
inttemp;
System.out.println("交换前:
"+"a="+a+","+"b="+b);
temp=a;
a=b;
b=temp;
System.out.println("交换后:
"+"a="+a+","+"b="+b);
}
}
5.给定一个0~1000的整数,编写Java应用程序Expe2_5.java求各位数的和,例如345的结果是3+4+5=12。
注:
分解数字既可以先除后模也可以先模后除。
importjava.util.Scanner;
publicclassExpe2_5{
publicstaticvoidmain(Stringargs[]){
//接收输入整数
Scannerscan=newScanner(System.in);
System.out.println("请输入一个整数:
");
intshu=scan.nextInt();
inta=shu/1%10;//个位
intb=shu/10%10;//十位
intc=shu/100%10;//百位
scan.close();
System.out.println(a+b+c);
}
}
6.要将“China”译成密码,密码规律是:
用原来的字母后面第4个字母代替原来的字母。
请编写Java应用程序Expe2_2_6.java,用赋初值的方法使c1、c2、c3、c4、c5这5个变量的值分别为‘C’‘h’‘i’‘n’‘a’,经过运算,使c1、c2、c3、c4、c5分别变为符合上述规律的密码,并输出。
编写Java应用程序Expe2_6.java实现上述功能。
publicclassExpe2_6{
publicstaticvoidmain(Stringargs[]){
charc1='C';
charc2='h';
charc3='i';
charc4='n';
charc5='a';
System.out.println("原文:
"+c1+c2+c3+c4+c5);
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
System.out.println("秘文:
"+c1+c2+c3+c4+c5);
}
}
7.已知三角形三边长度分别为x、y、z,其半周长为q,根据海伦公式计算三角形面积S(小数点保留两位)。
三角形半周长和三角形面积公式分别如下所示:
三角形半周长:
q=(x+y+z)/2
三角形面积:
S=(q*(q-x)*(q-y)*(q-z))*0.5
编写程序,实现接收用户输入的三角形边长,计算三角形面积的功能。
packagecom.hnbemc.answer;
importjava.util.Scanner;
publicclassExpe2_7{
publicstaticvoidmain(String[]args){
System.out.println("输入三角形的三条边长:
");
Scannersc=newScanner(System.in);//实例化扫描器(Scanner)对象sc
/*接收输入*/
doublex=sc.nextDouble();
doubley=sc.nextDouble();
doublez=sc.nextDouble();
sc.close();//关闭sc对象,释放资源
doubleq=(x+y+z)/2;//计算三角形半周长
doubles=(q*(q-x)*(q-y)*(q-z))*0.5;//计算三角形面积
System.out.println("三角形的面积是:
"+String.format("%.2f",s));
}
}
8.张三的购物清单如表2-1所示。
表2-1 购物清单
商品
单价(元)
个数
T恤
245
2
网球鞋
570
1
网球拍
320
1
假设该用户可以享受购物八折的优惠,完成以下任务:
❑计算实际消费金额
❑结算时用户支付1500元,打印购物小票
❑计算此次购物获得的会员积分(每消费100元可获得3分)
程序运行结果如下所示。
提示:
❑创建Java类Pay
❑声明变量,存储信息
❑计算总金额
消费总额=各商品的消费金额之和*折扣
❑使用“\t”和“\n”控制购物小票的输出格式。
❑计算本次消费所获得的积分:
所获积分=(int)消费总额*3/100。
❑在微软拼音输入法下,“$”键代表“¥”。
参考代码
/**
*Pay.java
*2021-03-023
*购物结算
*/
publicclassPay{
publicstaticvoidmain(String[]args){
intshirtPrice=245;//T恤价格
intshoePrice=570;//网球鞋价格
intpadPrice=320;//网球拍价格
intshirtNum=2;//T恤数量
intshoeNum=1;//网球鞋数量
intpadNum=1;//网球拍数量
doublediscount=0.8;//折扣
doublepaid=1500;//已支付金额
/*计算消费总金额*/
doublefinalPay=(shirtPrice*shirtNum+
shoePrice*shoeNum+padPrice*padNum)*discount;
doublechange=paid-finalPay;//找零
/*打印购物小票*/
System.out.println("***********消费单***********");
System.out.println("购买物品\t单价\t个数\t金额");
System.out.println("T恤\t"+"¥"+shirtPrice+"\t"
+shirtNum+"\t"+shirtPrice*shirtNum);
System.out.println("网球鞋\t"+"¥"+shoePrice+"\t"
+shoeNum+"\t"+shoePrice*shoeNum);
System.out.println("网球拍\t"+"¥"+padPrice+"\t"
+padNum+"\t"+padPrice*padNum);
System.out.print("\n");
System.out.println("折扣:
\t\t"+discount);
System.out.println("消费总金额:
\t"+finalPay);
System.out.println("已支付金额:
\t"+paid);
System.out.println("找钱:
\t\t"+change);
System.out.println("本次购物所获积分是:
\t"+(int)finalPay*3/100);
}
}
9.编写程序Expe2_9.java输出希腊字母表
提示:
希腊字母从α到ω共24个
/*
*输出希腊字母表
*此题后可引出循环控制
*/
packagecom.hnbemc.answer;
//importjava.util.Scanner;
publicclassExpe2_9{
publicstaticvoidmain(String[]args){
charcStart='α';
//输出希腊字母表(24个)
System.out.print((char)(cStart++)+"");//思考:
换成++cStart呢?
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.println();
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.println();
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
System.out.print((char)(cStart++)+"");
}
}
三、思考题
1.float和double型数据在赋值时有哪些注意事项?
2.前置自增(++i)与后置自增(i++)有何区别?
3.&&与&有何区别?
并举例说明。
实验三选择语句
(一)
一、实验目的
1.熟悉Java程序结构,熟悉Java的基本语句类型;
2.学会使用实现选择结构的if语句、if-else语句。
二、实验内容
请按下列要求编写程序,并上机调试各程序。
1.输入两个整数,按由小到大的顺序输出。
importjava.util.Scanner;
publicclassExpe3_1{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("输入第一个整数:
");
intx=sc.nextInt();
System.out.println("输入第二个整数:
");
inty=sc.nextInt();
if(x>y)
System.out.print(y+""+x);
else
System.out.println(x+""+y);
//System.out.println(x>y?
y:
x);
//System.out.println(x>y?
x:
y);
sc.close();
}
2.输入三个整数,按由大到小的顺序输出。
importjava.util.Scanner;
publicclassOrderingMgr{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("请输入第1个数");
inta=sc.nextInt();
System.out.println("请输入第2个数");
intb=sc.nextInt();
System.out.println("请输入第3个数");
intc=sc.nextInt();
sc.close();
if(a>b){if(b>c){System.out.println(a+","+b+","+c);}
else{if(a>c){System.out.println(a+","+c+","+b);}
else{System.out.println(c+","+a+","+b);}
}
}
else{if(b else{if(a>c){System.out.println(b+","+a+","+c);} else{System.out.println(c+","+b+","+a);} } } } } 3.输入月份,输出对应的季节: importjava.util.Scanner; publicclassDemo1{ publicstaticvoidmain(String[]args){ Scannerscan=newScanner(System.in); System.out.println("输入月份: "); inta=scan.nextInt(); if(a>=1&&a<=3){ System.out.println("春季"); } elseif(a>=4&&a<=6){ System.out.println("夏季"); } elseif(a>=7&&a<=9){ System.out.println("秋季"); } elseif(a>=10&&a<=12){ System.out.println("冬季"); }else{ System.out.println("你疯了! ! "); } scan.close(); } } 4.输入年份,判断该年是否为闰年(4年一闰,百年不闰,400再闰)。 importjava.util.Scanner; publicclassExpe3_3{ publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); System.out.print("请输入年份: "); intyear=sc.nextInt(); if((year%4==0&&year%100! =0)||year%400==0){ System.out.println(year+"是闰年"); }else{ System.out.println(year+"不是闰年"); } sc.close(); } } 5.输入四位整数的会员号,若其百位上的数字与商场的幸运号(随机产生0-9的整数)相同,则该会员为幸运会员。 提示: 实现思路 (1)产生随机数 (2)从控制台接收一个4位会员号 (3)分解获得百位数 (4)判断是否是幸运会员 importjava.util.Scanner; publicclassExpe2_1{ publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); System.out.println("------幸运抽奖----------"); System.out.println("请输入四位整数的会员号"); intnum=sc.nextInt(); System.out.println("你的会员号为: "+num); sc.close(); if(num>=1000&&num<=9999){ intsuijishu=(int)(Math.random()*10); System.out.println("产生的随机数为: "+suijishu); intbaiwei=num/100%10; if(baiwei==suijishu){System.out.println(num+"号会员,你是幸运会员! "); }else{System.out.println(num+"号会员,谢谢你的支持! ");} } else{System.out.println("你的会员号输入不正确! ");} } } 6.输入小明的考试成绩(100分制),显示所获奖励 (1)成绩==100分,爸爸给他买辆车 (2)成绩>=90分,妈妈给他买MP4 (3)90分>成绩>=60分,妈妈给他买本参考书 (4)成绩<60分,什么都不买 importjava.util.Scanner; publicclassExpe2_1{ publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); System.out.println("请输入小明的成绩: "); dou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java编程基础 Java 编程 基础 上机 实验 指导 代码