99网
您的当前位置:首页java上机实验报告(完整高分打印版)

java上机实验报告(完整高分打印版)

来源:99网
少年易学老难成,一寸光阴不可轻 -

Java语言程序设计实验报告 学生所在学院:里仁学院 学生所在班级:08计算机一班 学生姓名:hejinhai 指导教师:崔勇强 教 务 处 0 少年易学老难成,一寸光阴不可轻 -

2010年6月

第1篇 核心基础篇

实验一

第3章 Java语言基础 3.2 表达式与语句

3.2.2 运算符与表达式 9 Java强制类型转换

一, 实验目的:

掌握和理解强制类型转换原理格式及使用方法。 二, 实验内容:

编写程序定义整形变量x,把他强制类型转换成byte类型,观察输出结果。 三, 源程序: public class Test {

1

public static void main(String[] args) {

int x=1200; byte b=(byte)x;

少年易学老难成,一寸光阴不可轻 -

}

System.out.println(\"转换结果是:\"+b);

}

输出结果:-80 四, 原理:

根据低级数据和高级数据的相互转换规则,把输入的整形数1200转换成二进制数,转换成补码形式取前八位,输出结果。

实验二

第3章 Java语言基础 3.2 表达式与语句

3.2.2 运算符与表达式 4 位运算符

一, 实验目的:

理解和掌握移位运算符操作,使用方法,和格式。 二, 实验内容:

编写程序,定义两个整型变量,采用左移右移运算符 >> ,<<,和不带符号右移运算符 >>>,对整型变量进行移位运算,输出

2

少年易学老难成,一寸光阴不可轻 -

结果,观察结果。 三, 源程序: public class Test {

public static void main(String[] args) {

int s1=1357;int s2=-1357; int s3=s1>>5;int s4=s2>>5; int s5=s1>>>5;int s6=s2>>>5; int s7=s1<<5;int s8=s2<<5; int s9=s1>>37;int s10=s2>>37; System.out.println(\"数字一是\"+s1); System.out.println(\"数字二是\"+s2);

System.out.println(\"数字一的<<左移五位结果是\"+s7); System.out.println(\"数字一的>>右移五位结果是\"+s3); System.out.println(\"数字一的>>>右移五位结果是

\"+s5);

System.out.println(\"数字二的<<左移五位结果是\"+s8); System.out.println(\"数字二的>>右移五位结果是\"+s4); System.out.println(\"数字二的>>>右移五位结果是

\"+s6);

3

少年易学老难成,一寸光阴不可轻 -

System.out.println(\"数字一的>>右移三十七位的结果

是\"+s9);

System.out.println(\"数字二的>>右移三十七位的结果

是\"+s10); }

输出结果: 数字一是1357 数字二是-1357

数字一的<<左移五位结果是43424 数字一的>>右移五位结果是42 数字一的>>>右移五位结果是42 数字二的<<左移五位结果是-43424 数字二的>>右移五位结果是-43 数字二的>>>右移五位结果是134217685 数字一的>>右移三十七位的结果是42 数字二的>>右移三十七位的结果是-43 四, 实验原理:

将输入的正型变量1357,-1357转换成补码形式,1357的补码,

4

}

少年易学老难成,一寸光阴不可轻 -

就是它他的二进制本身,-1357是二进制数诸位取反加1,按照要求进行移位运算(>> <<),若是左(右移),就按要求移相应的位数,高位补与符号位相同的数若是1就补1,若是0,就补0。若是>>>,右移时不带符号移动,不管符号位是1,还是0,都补0。再转成十进制形式输出。

实验三

第3章 Java语言基础 3.3 程序流控制

3.3.1-3.3.5语句(while, for ,if/else ,switch ,循环 ) 一,实验目的

理解和掌握使用程序流控制语句,以达到让某些程序能够有条件或重复执行的目的以及++的运用。 二,实验内容

11111n对无穷数列(1)2n1 13571(1)求解:

2n1 。

n5

少年易学老难成,一寸光阴不可轻 -

三,源程序

public class qiuhe{

public static void main (String[] args){ double sum=0; Int sign=1;

for (int i=0;i<100;i++) { } int i=0 while (true) {

double item=1.0/(2*i+1); if(item<0.0001) break; item=item*sign; sum=item;

6

double item=1.0/(2*i+1); if ( item<0.000001) break; item=item*sign; sum=item; sign=sign*(-1);

少年易学老难成,一寸光阴不可轻 -

sign=sign*(-1); i++; }

System.out.println(sum); } }

输出结果:0.004975124 五, 原理 该程序取

n=100,使用

for

循环语句实现

11111n(1)2n1,而条件语句if判断13571n(1)2n1前面的符号是+还是-,最后计算出结果。

实验四

第3章 Java语言基础 3.3 程序流控制

3.3.1-3.3.5语句(while, for ,if/else ,

7

少年易学老难成,一寸光阴不可轻 -

switch ,循环 )以及一元运算符的使用

一,实验目的

理解和掌握使用程序流控制语句,以达到让某些程序能够有条件或重复执行的目的以及++的运用。

二,实验内容

以乒乓球从高度为n处自由下落,求t时间该球的高度。 三,源程序 //

① t%T T2S g② if(t/t1)t=T-t ③ s=at2

④ h'hs //条件列举 class A { {

8

12public static void mian ( string[] args)

少年易学老难成,一寸光阴不可轻 -

double h=10.0; double t=5.0; double g=9.8;

double downTime=Math.sqrt(2.0*h/g); double T=2.0*downTime; t=t%T;

if (t>dowmTime)

t=T-t;//第一个t为下落时间

double s=0.5*g*t*t; double CurrentH=h-s; Syestem.out.println(CurrentH) }

}

运行结果:输入,t=1,输出H=5.4

四,原理

该物理远动涉及往复运动,显然h=10,H=h-s=5.4

实验五

第3章 Java语言基础

9

t=1s3.3 程序流控制

3.3.1-3.3.5语句(while, for ,if/else ,switch ,循环 )以及一元运算符的使用

一,实验目的

理解和掌握使用程序流控制语句,以达到让某些程序能够有条件或重复执行的目的以及++的运用 二, 实验内容:

画出下列图形: MMMMMMMMM

MMMMMMM MMMMM

三,源程序 public class char Test

public static void mian(string[] args) {

for(int i=0;i<=9;i++) for(int j=0;j10

MMM M

少年易学老难成,一寸光阴不可轻 -

System.out.print(“ ”); for(int k=0;k<(2*(9-i)+1);k++) }

}

输出结果: MMMMMMMMM

MMMMMMM MMMMM

MMM M

}

System.out.print(“M”); System.out.println();

四,原理

图形是第一行输出9个M,然后空一行输出(9-2)个M,然后到空n行时输出(9-n)个M,直到只输出一个M为止,输出完毕。

实验六

第4章 面向对象特性 4.2 类的定义

11

少年易学老难成,一寸光阴不可轻 -

4.2.5 this

一,实验目的

明确this是Java使用的一个特有意义的引用,它指向当前对象本身,掌握它的使用。 二,实验内容

创建同名成员变量两个,用上this,使输出为对象 本身。 三, 源程序 public class Text1{ public int x=2; public int y=2;

public Text1(int x,int y){ this.x=x; this.y=y; }

Public static void main (String[] args){ Text1 .a=new Text1(1,2);

System.out.println(“a.x=”+a.x+ “a.y=”+a.y); }

12

少年易学老难成,一寸光阴不可轻 -

}

输出结果:a.x=1 a.y=2 四, 原理

从程序来看,this.x指的是x本身,this.y指的是y本身,而x,y是通过构造方法Text1()创建出来的,当成员变量Text1.a被赋值为1,2时,通过this,那么a.x=1,a.y=2.

第2篇 应用基础篇

实验七

第10章 线程 10.2 线程的创建

10.2.2 通过实现Runnable接口创建线程

一,实验目的

熟悉和掌握通过实现Runnable接口创建线程的定义和步骤。 二,实验内容

通过实现Runnable接口创建线程的举例 三,源程序

public class ThreadTest{

public static void main(String args[]){ Thread t1 =new Thread(new Hello());

13

少年易学老难成,一寸光阴不可轻 -

Thread t2 =new Thread(new Hello()); t1.start(); t2.start(); } }

class Hello implements Runnable{ int I;

public void run(){ while(true){

System.out.prinln(“Hello”+i++); If(i==5) break; } } }

某次运行结果;Hello0 Hello1

Hello2 Hello3 Hello4

14

少年易学老难成,一寸光阴不可轻 -

Hello0 Hello1 Hello2 Hello3 Hello4

四,原理

Hello类实现了Runnable接口。在ThreadTest类的main()方法中,以Hello类的两个实例对象分别创建了t1,t2两个线程,并将线程启动。在创建的线程中,Hello类的run()方法就是线程体,其中int i是线程的数据,当t1,t2启动时,是从Hello类对象的run()开始执行的,每个线程分别打印输出5个字符串。

实验八

第12章 基于Swing的GUI开发 12.2 基于Swing的应用程序

12.2.1-12.2.5(一般结构,L&F,顶层容器,布局管理,事件处理)

一,实验目的

理解和掌握基于Swing的应用程序的一般结构,L&F,顶层容

15

少年易学老难成,一寸光阴不可轻 -

器,布局管理,事件处理等的使用。 二,实验内容

设计一个用户点击按钮,每次用户点击时,标签就会更新。 三,源程序

1.import java.awt.*; 2.import java.awt.event.*; 3.import com.sun.java.swing.*; 4.import java.awt.accessibility.*; 5. 6.public ActionListener {

7.private JFrame jFrame; 8.private JLabel jLabel; 9.private JPanel jPanel; 10.private JButton jButton;

11.private AccessibleContext accContext; 12.

16

class HelloSwing implements

少年易学老难成,一寸光阴不可轻 -

13.private String labelPrefix = 14.\"Number of button clicks: \"; 15.private int numClicks = 0; 16.

17.public void go() { 18.

19.// Here is how you can set up a particular 20.// lookAndFeel. Not necessary for default. 21.// 22.// try {

23.// UIManager.setLookAndFeel( 24.// UIManager.getLookAndFeel());

25.// } catch (UnsupportedLookAndFeelException e) {

26.// System.err.println(\"Couldn't use the \" + 27.// \"default look and feel \" + e); 28.// } 29.

30.jFrame = new JFrame(\"HelloSwing\");

17

少年易学老难成,一寸光阴不可轻 -

31.jLabel = new JLabel(labelPrefix + \"0\"); 32.

33.jButton = new JButton(\"I am a Swing button!\"); 34.

35.// Create a shortcut: make ALT-A be equivalent 36.// to pressing mouse over button. 37.jButton.setMnemonic('i'); 38.

39.jButton.addActionListener(this); 40.

1.// Add support for accessibility.

2.accContext = jButton.getAccessibleContext(); 3.accContext.setAccessibleDescription( 4.\"Pressing this button increments \" + 5.\"the number of button clicks\"); 6.

7.// Set up pane.

18

少年易学老难成,一寸光阴不可轻 -

8.// Give it a border around the edges. 9.jPanel = new JPanel(); 10.jPanel.setBorder(

11.BorderFactory.createEmptyBorder( 12.30,30,10,30)); 13.

14.// Arrange for compts to be in a single column. 15.jPanel.setLayout(new GridLayout(0, 1)); 16.

17.// Put compts in pane, not in JFrame directly. 18.jPanel.add(jButton); 19.jPanel.add(jLabel);

20.jFrame.setContentPane(jPanel); 21.

22.// Set up a WindowListener inner class to handle 23.// window's quit button.

24.WindowListener wl = new WindowAdapter() { 25.public void windowClosing(WindowEvent e) { 26.System.exit(0);

19

少年易学老难成,一寸光阴不可轻 -

27.} 28.};

29.jFrame.addWindowListener(wl); 30.

31.jFrame.pack(); 32.jFrame.setVisible(true); 33.} 34.

1.// Button handling.

2.public void actionPerformed(ActionEvent e) { 3.numClicks++;

4.jLabel.setText(labelPrefix + numClicks); 5.} 6.

7.public static void main(String[] args) { 8.

9.HelloSwing helloSwing = new HelloSwing();

20

少年易学老难成,一寸光阴不可轻 -

10.helloSwing.go(); 11.} 12.} 输出结果

四,原理

引入Swing包及其他程序包——选择GUI的外观风格L&F——创建并设计窗口容器——创建与添加Swing组件——显示顶层容器,将整个GUI显示出来。

21

因篇幅问题不能全部显示,请点此查看更多更全内容