实验二 面向对象程序设计语言基础.docx
实验二 面向对象程序设计语言基础 实验二面向对象程序设计语言基础 一、实验目的 1.掌握Java语言的基本数据类型、变量和常量;运算符和表达式; 2.熟练掌握顺序结构,处理简单问题; 3.熟练掌握if语句与switch语句,学习分支结构程序设计方法; 4.熟练掌握for语句、while语句、do-while语句实现循环的方法; 5.熟练掌握break语句与continue语句的使用,掌握利用循环结构解决问题的技巧; 6.掌握数组的使用。 二、实验要求 1编写一个声明Java 不同数据类型变量的程序。 2编写一个使用运算符、表达式、变量的程序。 3编写表达式语句、复合语句的程序。 4编写使用不同选择结构的程序。 5编写使用不同循环结构结构的程序。 6编写一个使用Java 数组的程序。 三、实验内容(本部分内容只需标明题号,给出思考题的答案) (一)声明不同数据类型的变量 1编写声明不同数据类型变量的程序文件Demo2_1.java,源代码如下: public class Demo2_1 public static void main(String args) byte b=0x55; short s=0x55ff; int i=1000000; long l=0xffffL; char c=a; float f=0.23F; double d=0.7E-3; boolean B=true; String S="这是字符串类数据类型" System.out.println("字节型变量b = "+b); System.out.println("短整型变量s = "+s); System.out.println(" 整型变量i = "+i); System.out.println("长整型变量l = "+l); System.out.println("字符型变量c = "+c); System.out.println("浮点型变量f = "+f); System.out.println("双精度变量d = "+d); System.out.println("布尔型变量B = "+B); System.out.println("字符串类对象S = "+S); 2编译并运行该程序。 (二)使用关系运算符和逻辑运算符 1建立使用关系运算符和逻辑运算符的程序文件,源代码如下: public class Demo2_2 public static void main(String args) int a=25, b=20, e=3, f=0; boolean d=a5) System.out.println("因为e 非0 且a/e 为8 大于5,所以输出a/e"+a/e); if (f!=0 && a/f>5) System.out.println("a/f = "+a/f); else System.out.println("因为f 值为0,所以输出f = "+f); 2编译并运行该程序。 (三)使用表达式语句与复合语句 1建立包含表达式语句程序,源代码如下: public class Demo2_3 public static void main(String args) int k, i=3, j=4; k=20*8/4+i+j*i; System.out.println("表达式(20*8/4+i+j*i)"+k); 2建立包含复合语句程序,源代码如下: class Demo2_4 public static void main(String args) int k, i=3, j=4; k=i+j; System.out.println("在复合块外的输出k="+k); float f; f=j+4.5F; i+; System.out.println("在复合块内的输出f="+f); System.out.println("在复合块内的输出k="+k); System.out.println("在复合块外的输出i="+i); 3分别编译并运行上述两个源程序。 1.将变量i 在块内定义会怎样?改变其他变量的位置看看会发生什么变化。 2.指出程序的复合结构以及变量的使用范围。 (四)使用选择结构 1使用if.else 语句 程序功能:使用if.else 语句,比较两个数的大小并按升序输出 public class Demo2_5 public static void main (String args) double d1=23.4; double d2=35.1; if (d2>=d1) System.out.println(d2+">="+d1); else System.out.println(d1+">="+d2); 如果将本题增加一个变量double d3=20.5,d1、d2、d3按升序重新存放数据,排序完成后再输出数据,请编制程序验证。 2使用switch 语句 程序功能:在不同温度时显示不同的解释说明。程序源代码如下: class Demo2_6 public static void main(String args) int c=38; switch (c<10?1:c<25?2:c<35?3:4) case 1: System.out.println(" "+c+"有点冷。要多穿衣服。"); case 2: System.out.println(" "+c+"正合适。出去玩吧。"); case 3: System.out.println(" "+c+"有点热。"); default: System.out.println(" "+c+"太热了!开空调。"); 3.编译运行上面两个程序 (五)使用循环结构 1for 循环语句 程序功能:输出1到100之间,所有可以被3整除又可以被7整除的数。 public class Demo2_7 public static void main (String args) int n,num,num1; System.out.println("在1100可被3与7整除的为"); for (n=1;n<=1000;n+) num =n%3; num1=n%7; if (num=0) if (num1=0) System.out.print(n+" "); System.out.println(" "); 判断条件不用if嵌套而只用一个if应如何修改判断条件,试试看; 分别使用while和do_while循环语句改写本程序,并上机运行。 2dowhile 循环语句练习 程序功能:求12+100 之和,并将求和表达式与所求的和显示出来。class Demo2_8 public static void main(String args) int n=1, sum=0; do sum+=n+; while (n<=100); System.out.println("1+2.+100 ="+sum); 编译并运行程序。 while和do.while结构的区别? 3多重循环练习 程序功能:输出九九乘法表的程序,源代码如下: public class Demo2_9 public static void main(String args) int i,j,n=9; System.out.print(" * |"); for (i=1;i<=n;i+) System.out.print(" "+i); System.out.print("n-|"); for (i=1;i<=n;i+) System.out.print("-"); System.out.println(); for (i=1;i<=n;i+) System.out.print(" "+i+" |"); for (j=1;j<=i;j+) System.out.print(" "+i*j); System.out.println(); 编译并运行程序。 四、实验练习题(标明题号,给出程序代码和运行结果) 1.完成下面Java应用程序,文件名GuessNumber.java ,该程序实现下列功能: 1)程序随机分配给客户一个1100之间的整数(int realNumber=(int)(Math.random()*100)+1; ) 2)用户在输入对话框中输入自己的猜测 3)程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”和“猜对了”。 4)用户可根据提示信息再次输入猜测,直到提示信息是“猜对了”。 2. 打印输出所有和为1000的连续整数(eg。298,299,300,301,302)的程序