实验2 Java编程基础.doc
如有侵权,请联系网站删除,仅供学习与交流实验2 Java编程基础【精品文档】第 5 页实验2 Java编程基础一、实验目的1熟悉基本数据类型,包括其所占字节数、数值范围及常数的后缀形式;2掌握变量的声明、初始化方法,能够正确区分全局变量(即成员变量)和局部变量(即本地变量);3掌握关系运算符()、>=、<、<=、=、!=)和逻辑运算符(!、&&、|)的使用; 4熟悉Java程序的常用输入输出格式。二、实验内容与步骤说明:实验报告必须完成的是基础题,提交课外完成题及提高题的可以加分; 本实验的操作环境是:文本编辑器(如写字板等)、javac和java命令; 可先建立F:myjava目录,再在其中建立java源程序,并编译、运行。1(基础题)应用程序若要输出如图2-1所示结果,请将程序所缺代码填充完整,并加以运行,然后完成实验报告相关内容:图2-1程序运行结果程序代码:_ Diamond _ main(_ args) System.out.println(" *");System.out.println(" * *");System.out.println(" * *");System.out.println("* *");_;_;_;2(基础题)请按下列要求,将程序代码填充完整,并加以运行:public class Test / 初始值为0的整型变量 b1/ 初始值为10000的长整型变量b2/ 初始值为3.4的浮点型变量b3/ 初始值为34.45的双精度型变量b4/ 初始值为4的字符型变量b5/ 初始值为true的布尔型变量b6public static void main(String _) / 输出变量b1b6的值3(基础题)输入下列程序内容,运行程序,并回答相关问题:public class DataType public static void main(String args) byte a1 = 126, a2 = (byte) 256, a3 = 'A'System.out.println("a1=" + a1 + "ta2=" + a2 + "ta3=" + a3);int b1 = 12345, b2 = (int) 123456789000L, b3 = '0', b4 = 0xff;System.out.println("b1=" + b1 + "tb2=" + b2 + "tb3=" + b3 + "tb4="+ b4);char c1 = 'a', c2 = 98, c3 = 'u0043', c4 = 'n'System.out.println("c1=" + c1 + "tc2=" + c2 + c4 + "c3=" + c3);问题:(1)变量a2、a3的输出内容是什么?为何出现这种变化?(2)变量b2、b3的输出内容是什么?为何出现这种变化?(3) 't'、'n'各有什么特殊用途?(4)System.out的println()方法与print()方法有什么不同?(5)如何声明、初始化一个变量?(6)b4初始化时,被赋予什么进制的数?(7)写出声明ch为字符型变量、并初始化为'c'的三种不同写法。4. (基础题)写出下列程序的运行结果,并解释其原因:public class Pass static int j = 20;public static void main(String args) int i = 10;Pass p = new Pass();p.aMethod(i);System.out.println("i=" + i);System.out.println("j=" + j);public void aMethod(int x) x = x * 2;j = j * 2;5(基础题)下列程序定义了一个学生类Student,它包含两个变量:strName(姓名)、intAge(年龄),除了main()方法外还有两个方法:Student(String name, int age)(构造方法)、display()(显示学生信息,其内部还一个利用随机方法生成的幸运指数)。分析、运行下列程序,并回答问题:public class Student String strName = "" / 学生姓名int intAge = 0; / 学生年龄public Student(String name, int age) / 构造方法,生成对象自动调用strName = name;intAge = age;void display() / 显示学生信息int intLuck; / 幸运指数/ 用数学类随机函数生成(1,100)的整数,并赋给intLuckintLuck = (int) (Math.random() * 100 + 1);System.out.println("姓名: " + strName);System.out.println("年龄: " + intAge);System.out.println("幸运指数: " + intLuck);public static void main(String args) Student zhang = new Student("张一山", 10); / 创建对象zhangzhang.display();System.out.print('n');Student yang = new Student("杨紫", 12); / 创建对象yangyang.display();问题:(1) 变量strName、intAge是什么类型的变量?是否已初始化?(2) 变量intLuck是什么类型的变量?是否已初始化?(3) 能否不创建对象zhang、yang而直接使用变量strName、intAge(4) 语句System.out.print(n); 的功能是什么?6(基础题)本程序用到关系运算符、逻辑运算符。请填充程序所缺代码,使之输出如下结果:public class RelationLogical public static void main(String args) boolean a = (35 >= 62);boolean b = ('C' < 'z');System.out.println("a=" + a);System.out.println("b=" + b);System.out.println(_);System.out.println(_);System.out.println(_);System.out.println(_);程序运行结果如图2-2所示:图2-2 程序运行结果7(提高题)请参照课件例题,使用输入对话框输入任意三个double型数据a、b、c,在消息输出框中输出逻辑表达式:a+b>c && a+c>b && b+c>a 值(这是构成三角形的条件)。图2-3 输入第一条边的值图2-4 输入第二条边的值图2-5 输入第三条边的值图 2-6 输出结果8(提高题)请使用scanner类,从键盘输入两个整数n1、n2(范围在20003000之间),输出n1 n2之间的闰年。9(课外操作题)请输入教材p7175之间的实践任务2-1、2-2、2-3,并分析、运行。(注:本项要求列入实验考核内容,将根据学生操作情况打分)