湖南师大 Java实验Word下载.docx

上传人:b****5 文档编号:8471411 上传时间:2023-05-11 格式:DOCX 页数:75 大小:377.17KB
下载 相关 举报
湖南师大 Java实验Word下载.docx_第1页
第1页 / 共75页
湖南师大 Java实验Word下载.docx_第2页
第2页 / 共75页
湖南师大 Java实验Word下载.docx_第3页
第3页 / 共75页
湖南师大 Java实验Word下载.docx_第4页
第4页 / 共75页
湖南师大 Java实验Word下载.docx_第5页
第5页 / 共75页
湖南师大 Java实验Word下载.docx_第6页
第6页 / 共75页
湖南师大 Java实验Word下载.docx_第7页
第7页 / 共75页
湖南师大 Java实验Word下载.docx_第8页
第8页 / 共75页
湖南师大 Java实验Word下载.docx_第9页
第9页 / 共75页
湖南师大 Java实验Word下载.docx_第10页
第10页 / 共75页
湖南师大 Java实验Word下载.docx_第11页
第11页 / 共75页
湖南师大 Java实验Word下载.docx_第12页
第12页 / 共75页
湖南师大 Java实验Word下载.docx_第13页
第13页 / 共75页
湖南师大 Java实验Word下载.docx_第14页
第14页 / 共75页
湖南师大 Java实验Word下载.docx_第15页
第15页 / 共75页
湖南师大 Java实验Word下载.docx_第16页
第16页 / 共75页
湖南师大 Java实验Word下载.docx_第17页
第17页 / 共75页
湖南师大 Java实验Word下载.docx_第18页
第18页 / 共75页
湖南师大 Java实验Word下载.docx_第19页
第19页 / 共75页
湖南师大 Java实验Word下载.docx_第20页
第20页 / 共75页
亲,该文档总共75页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

湖南师大 Java实验Word下载.docx

《湖南师大 Java实验Word下载.docx》由会员分享,可在线阅读,更多相关《湖南师大 Java实验Word下载.docx(75页珍藏版)》请在冰点文库上搜索。

湖南师大 Java实验Word下载.docx

4.学会使用if和if-else和switch分支语句。

5.学会使用while,do-while和for循环语句。

6.学会使用break和continue程序控制语句。

7.进一步熟悉java语言开发环境,掌握Java程序的编辑,编译和运行过程;

能够设计具有一定算法的输出程序。

1.2实验预习:

1.Java语言源程序是由Java语言的基本语句构成的,Java语言的语句基本上同C/C++语言的语句一样。

有些在C/C++语言程序中容易产生错误的语句已被Java语言所抛弃。

通过下面的实验步骤,读者可以编写简单的Java程序。

例1-1在横线上填出下列变量的定义类型。

publicclassexample1{

publicstaticvoidmain(stringargs[]){

intx=45;

floaty=3.14f;

doublez=3.1415;

booleantruth=true;

charc=’6’;

//……..更多

}

}

2.利用输出语句来实现数据的格式化显示

Java语言中的输出语句,可以通过调用System.out中的println方法(或print方法),在练习数据格式化显示之前,我们在通过下面两个简单的例子对比一下println方法和print方法的区别。

例1-2观察下面应用程序的打印结果。

打开文本编辑器,输入下列代码:

publicclassasterisk{

publicstaticvoidmain(stringargs[])

{

System.out.print(“*”);

System.out.print(“***”);

System.out.print(“*****”);

在没有编译运行之前,读者能否得出上面程序的运行结果:

在没有运行前,可得出的运行结果为:

*********

例1-3修改例1-2。

publicclassasterisk{

publicstaticvoidmain(Stringargs[]){

System.out.println(“*”);

System.out.println(“***”);

System.out.println(“*****”);

*

***

*****

例1-4写出下面程序的运行结果。

打开文本编辑器,输入下列代码:

publicclassTypeconversion{

publicstaticvoidmain(stringargs[]){

chara=1;

intb=4;

doublec=24.6f;

byted;

d=(byte)(a+b+c);

shorte;

e=(short)(a+b+c);

intf;

f=(int)(a+b+c);

doubleg;

g=a+b+c;

System.out.println(“d=”+d);

System.out.println(“e=”+e);

System.out.println(“f=”+f);

System.out.println(“g=”+g);

在没有运行前,可得出的运行结果为:

d=29

e=29

f=29

g=29.6

例1-5求3个数中的最大值。

publicclassMax{

inta=1;

intb=3;

intc=7;

if(a>

b)

c){

System.out.println(“三个数中最大的是:

“+a);

else{

“+c);

elseif(b>

c){

“+b);

三个数中最大的是:

7

else子句不能单独做为语句使用,它必须和if配对使用。

Else总是与离它最近的if配对。

例1-6根据颜色数输出颜色。

publicclassswitchcolor1{

intcolornum=1;

switch(colornum){

case0:

System.out.println(“colorisred”);

case1:

System.out.println(“colorisgreen”);

default:

System.out.println(“colorisblack”);

}}

colorisgreen

colorisblack

把例1-8中每个case后面都加上break语句,程序修改如下:

publicclassswitchcolor2{

switch(colornum){

break;

在没有编译运行之前,读者能否得出上面程序的运行结果:

在没有运行前,可得出的运行结果为:

case子句中的值必须是不同的。

break语句的作用使程序跳出switch语句后,即终止switch语句的执行。

例1-8用while循环水仙花数(所谓水仙花数,是指一个3位数,其各位数字的立方和等于该数本身。

例如:

153是一个水仙花数。

因为153=1^3+5^3+3^3

classwhileexample{

inta,b,c,num=100,count=1;

while(num<

1000){

a=num/100;

b=(num-a*100)/10;

c=num%10;

if((Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3))==num)

System.out.println(“第”+count+++“个水仙花数为:

”+num):

num++;

程序的运行结果为:

第1个水仙花数为:

153

第2个水仙花数为:

370

第3个水仙花数为:

371

第4个水仙花数为:

407

例1-9百元买百鸡。

publicclassContinueOp{

intn;

for(n=1;

n<

=10;

n++){

if(n%2==0)continue;

System.out.println(“n=”+n);

程序的结果为:

n=1

n=3

n=5

n=7

n=9

例1-10break语句的使用。

publicclassBreakOp{

if(n%2==0)break;

}

输出结果:

1.3实验内容及要求:

(1)设计简单的java程序。

代码:

importjava.util.Scanner;

/*

*猜数游戏

*/

publicclasssimple{

publicstaticvoidmain(String[]args){

inti=(int)(Math.random()*100+1);

//产生一个随机数,以当要猜的数

inta=0;

intb=100;

Scannerscanner=newScanner(System.in);

//得到键盘输入参数

while(true){

System.out.println("

请输入一个"

+a+"

到"

+b+"

的数:

"

);

intn=scanner.nextInt();

//得到一个从键盘输入的整数

if(n==i){

System.out.println("

恭喜您,猜对了!

break;

}else{

if(i<

n){

b=n;

}else{

a=n;

}

}

}

结果:

(2)设计一个99表打印的Application程序,要求程序简单,行列对齐美观。

程序截图:

代码:

publicclassChengFaBiao{

for(inti=1;

i<

10;

i++){

for(intj=1;

j<

=i;

j++){

System.out.print(j+"

*"

+i+"

="

+i*j+"

\t"

System.out.println();

(3)输出100000之内的所有素数(即非1和自身不能被其他数除尽的数)要求程序简单,程序运行速度较快,行列对齐美观。

publicclassSuShu{

inti,j,count=0;

for(i=2;

i<

100000;

i++){

if(i==2){

count++;

System.out.print(i+"

continue;

inttemp=(int)(Math.sqrt(i))+1;

for(j=2;

j<

=temp;

j++){

if(i%j==0)

break;

if(j==temp){

count++;

System.out.print(i+"

if(count%10==0)

System.out.println();

1.4实验思考与总结

在这一小节的实验中,我对于Java语言有了一定的认识。

在上述的例子中,我基本上理解了Java语言的语法规则,真正意义上了解到了语法规则的魅力所在,了解到了Java和C语言没有什么较大的区别,学习起来更加容易。

和C语言相比,真正不同的是两者在数据定义上的区别,以及JAVA和C语言在键盘输入方面的不同,JAVA是通过Scanner类实现的,访问它的元素也是调用它里面的方法,最开始用这个的时候,在我看来,C语言的输入要简单得多,但是实验中用了几次之后,熟悉了之后,感觉又有了不同。

而且JAVA封装了很多工具类。

这些类自带非常强大的功能,用起来十分的方便。

对于有语言基础的人来说可以说是相对简单的。

老师的所列的实验题目都会要求运行速度和代码的简洁性,在这个实践过程中,我的编程水平得到了一定的提高精练,在真正开发项目中代码的精炼和运行速度的优化是很有必要的。

以前我编写程序问题停留在只要完成基本功能就好的基础上,但是现在编写程序我会在几种不同的实现方法中进行选择,选择时间空间复杂度最低的加以实现。

我觉得这是很大的一个进步,也是计算机专业人员应该具备的。

这次实验只是JAVA实验一个小小的开头,题目也非常简单,有了以前的基础做起来也比较快。

希望在以后的实验中,能够学习到更多新的知识,掌握新的方法与技能。

虽然题目比较简单,但是收获是巨大的。

在今后的学习用一定要更加努力。

实验二:

面向对象设计基础——复数类的实现

类是面向对象程序设计的基础,是java的核心和本质所在。

在java中,所有的语言元素都必须封装在类中。

编写java程序的过程就是从现实世界中抽象出java可实现的类,并用合适的语句定义它们的过程。

本节实验将学习类的应用,及如何创建类的实例。

通过类的继承更有效地组织程序结构,明确类之间的关系。

掌握了本节实验所讲诉的内容之后,读者就可以使用面向对象技术编写java程序了。

2.1实验目的:

1.掌握java面向对象程序设计的基本思想。

2.掌握类的定义和使用。

3.掌握对象的声明和使用。

4.了解构造函数的概念和使用。

5.掌握类的继承关系和派生方法。

6.掌握多态的概念与使用。

2.2实验预习:

1)阅读下面的程序,在main()方法里添加语句完成如下功能:

①创建一个MyValue类的对象myValue。

②为myValue对象中的value赋值10。

③使用getVaule()方法获得myValue对象中的数据并将它打印在屏幕上

例2-1:

li2_1.java

classMyValue{

privateintvalue;

publicvoidsetValue(intx){

value=x;

publicintgetValue(){

returnvalue;

publicclassli2_1{

publicstaticvoidmain(String[]args)

{MyValuemyValue=newMyValue();

myValue.setValue(10);

System.outprintln(myValue.getValue());

2)试编写Java代码实现一个计数器类Computer其中包括:

①用counterValue来保存计数器的当前值。

②方法increment()计数器加一。

⑧方法decrement()计数器减一。

④方法reset()计数器清零。

publicclassComputer{

privateintcounterValue;

publicvoidsetCounterValue(intcounterValue){

this.counterValue=counterValue;

publicvoidincrement(){

counterValue++;

publicvoiddecrement(){

counterValue--;

publicvoidreset(){

counterValue=0;

publicintgetCounterValue(){

returncounterValue;

classli2_2{

classDog{

privateStringname;

privateintage;

publicintstep;

Dog(Strings,inta){

name=s;

age=a;

step=0;

publicvoidrun(Dogfast){

fast.step++;

publicstaticvoidmain(String[]args){

li2_2a=newli2_2();

Dogd=a.newDog("

Tom"

3);

d.step=25;

d.run(d);

System.out.println(d.step);

能,26

2.3实验内容及要求:

定义一个复数类,并实现以下复数类的方法:

构造方法、得到实部、得到虚部、设置实部、设置虚部、复数的加法,减法,乘法,最后,创建对象进行运算。

复数类Complex必须满足如下要求:

(1)复数类Complex的属性有:

RealPart:

double型,代表复数的实数部分

ImaginPart:

double型,代表复数的虚数部分

(2)复数类Complex的方法有:

Complex():

构造函数,将复数的实部和虚部都置0。

Complex(doubler,doublei):

构造函数,形参r为实部的初值,i为虚部的初值。

doublegetReal():

获得复数对象的实部;

doublegetImagin():

获得复数对象的虚部;

ComplexcomplexAdd(Complexa):

将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。

ComplexcomplexSub(Complexa):

将当前复数对象与形参复数对象相减,所得的结果仍是一个复数值,返回给此方法的调用者。

ComplexcomplexMulti(Complexa):

将当前复数对象与形参复数对象相乘,所得的结果仍是一个复数值,返回给此方法的调用者。

StringToString():

把当前复数对象的实部、虚部组合成a+bi的字符串形式,其中a和b分别为实部和虚部的数据。

packagecom.example.test.unit1;

publicclassComplex{

privatedoubleRealPart;

//代表复数的实数部分

privatedoubleImaginPart;

//代表复数的虚数部分

publicComplex(){

RealPart=0;

ImaginPart=0;

publicComplex(doubler,doublei){

RealPart=r;

ImaginPart=i;

publicdoublegetReal(){

returnRealPart;

publicdoublegetImagin(){

returnImaginPart;

publicvoidsetReal(doubler){

publicvoidsetImagin(doublei){

publicComplexcomplexAdd(Complexa){

Complexc=newComplex();

c.RealPart=this.RealPart+a.RealPart;

c.ImaginPart=this.ImaginPart+a.ImaginPart;

returnc;

publicComplexcomplexSub(Complexa){

c.RealPart=this.RealPart-a.RealPart;

c.ImaginPart=this.ImaginPart-a.ImaginPart;

publicComplexcomplexMulti(Complexa){

c.RealPart=this.RealPart*a.RealPart;

c.ImaginPart=this.ImaginPart*a.ImaginPart;

publicStringtoString(){

if(ImaginPart>

=0)

return(RealPart+

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2