面向对象程序设计课程
课堂作业及要求
1-1:JDK 环境配置与源文件编译运行
目的
通过环境配置,熟悉 Java 的基本运行编译环境。
要求
写出下列代码的运行结果,并给出运行结果的截图。
内容
(1)配置本机的 JDK 环境:安装 JDK 包,设置环境变量。
(2)对下列代码进行编译与运行,并察看其运行结果。
代码 1-1
代码 1-2
代码 1-3
1-2:不同类型数据间的运算(一)
目的
通过简单的实例来了解 Java 语言中的类型自动转换。
3
要求
写出下列代码的运行结果,并给出正确运行结果的截图。
实验内容
创建以下 4 个变量:
charx = 'h';
int intx = 65;
float floatx = 3.3333f;
double doublex = 4.444;
编程实现计算 charx + intx、floatx – intx、doublex / floatx 的结果并在屏幕上显示,获
取如图 2-1 所示的运行结果。
图 1-1 实验 2-1 运行结果
1-3:不同类型数据间的运算(二)
目的
通过简单的实例来了解 Java 语言中的类型强制转换。
要求
写出下列代码的运行结果,并给出正确运行结果的截图。
内容
声明 3 个变量:
double dx = 3.5;
double dy = 2.8;
int z;
编程实现计算 z=dx + dy 的结果并在屏幕上显示。运行结果如图 2-2 所示。
图 1-2 实验 2-2 运行结果
1-4:在屏幕上打印出各种基本类型的数值
目的
通过简单的实例来了解 Java 语言中的各种基本类型,并对其不同类型的数值有一个深
刻的印象。
要求
4
写出下列代码的运行结果,并给出正确运行结果的截图。
内容
编程实现输出各种类型的常量数值,包括整型、字节型、短整型、字符型、长整型、单
精度型、双精度型、布尔型,运行结果如图 2-3 所示。
图 1-3 实验 2-3 运行结果
实现思路
定义若干个 Java 语言中各种基本类型的数值,并在屏幕上显示出来。
代码如下所示:
class DataTypeDemo
{
public static void main(String argv[])
{
int a = 1; //声明并初始化整型变量 a
byte b = 127; //声明并初始化字节型变量 b
short d = 200; //声明并初始化短整型变量 d
char c = 'C'; //声明并初始字符型变量 c
long e = 9000000; //声明并初始化长整型变量 e
float f = 0.24f; //声明并初始化单精度型变量 f
double g = 1111.111111; //声明并初始化双精度型变量 g
boolean bool1 = true; //声明并初始化布尔型变量 bool1
boolean bool2 = false;
System.out.println("Int data a="+a); //输出整型变量 a 的值
System.out.println("Byte data b="+b); //输出字节型变量 b 的值
System.out.println("Short data d="+d); //输出短整型变量 d 的值
System.out.println("Char data c="+c); //输出字符型变量 c 的值
System.out.println("long data e="+e); //输出长整型变量 e 的值
System.out.println("float data f="+f); //输出单精度型变量 f 的值
System.out.println("double data g="+g); //输出双精度型变量 g 的值
System.out.println("Boolean data bool1="+bool1); //输出布尔型变量 bool1 的值
System.out.println("Boolean data bool2="+bool2); //输出布尔型变量 bool2 的值
}
}
通过 javac、java 等命令编译并运行程序。
5
课堂作业 2
2-1:多重 for 循环绘制图形
目的
通过这个实例巩固学习 for 语句的使用。
要求
写出下列代码的运行结果,并给出正确运行结果的截图。
内容
编程实现运算一个简单的图形绘制,利用符号“*”的个数,实现不同的图形。实现
结果如图 2-1 所示。
图 2-1 实验 3-1 运行结果
实现思路
根据绘制图形的规律,发现“*”符号的变化规律,从而利用 for 循环对其进行绘制。
关键代码如下所示:
int temp = 0; //声明并初始化变量 temp,
for(int i = 0; i < 2 * n - 1; i++)
{
if(i <= n)
temp = i;
else
temp = 2 * n - 1 - i; //计算 temp 的值
for(int j = 0; j < temp; j++) //内层 for 循环
System.out.print("*"); //打印每行中的"*"字符
System.out.println(); //打印完一行后换行
}
通过 javac、java 等命令编译并运行程序,运行结果如图 3-1 所示。
2-2:使用 switch 语句实现条件分支
目的
通过实例来利用 switch 语句实现条件分支,实现对于不同分数段的成绩,输出不同等级
6
标识。
要求
写出下列代码的运行结果,并给出正确运行结果的截图。
内容
编程实现运算一个简单的程序,程序可以根据学生的成绩判断学生成绩的等级。声明一
个整形数组保存学生成绩,如:int student[] = {95,85,75,65,55}。程序运行结果如图 2-2 所示。
图 2-2 运行结果
实现思路
首先定义 5 个学生,分别对其的成绩进行赋值,并在 for 循环语句中利用 Switch 语句分
别对每个学生的成绩进行判断。
关键代码如下所示:
int student[] = {95,85,75,65,55}; //声明并初始化一个数组,用存放 5 个学生成绩
for(int i=0;i<5;i++) //通过循环分别判判断每个学生成绩
{
switch(student[i]/10) //使用 switch 语句,并将成绩整除 10 后的值作为比较因子
{
case 9:
System.out.println("student"+i+"'s result is A!");
//学生成绩整除 10 后结果为 9 的,输出等级为"A"
break;
case 8:
System.out.println("student"+i+"'s result is B!");
//学生成绩整除 10 后结果为 8 的,输出等级为"B"
break;
case 7:
System.out.println("student"+i+"'s result is C!");
//学生成绩整除 10 后结果为 7 的,输出等级为"C"
break;
case 6:
System.out.println("student"+i+"'s result is D!");
//学生成绩整除 10 后结果为 6 的,输出等级为"D"
break;
default:
System.out.println("student"+i+"'s result is F!");
//学生成绩整除 10 后结果为 1~5 的,输出等级为"F"
}
}
通过 javac、java 等命令编译并运行程序,运行程序结果如图 3-2 所示。
7
2-3:使用 switch 语句实现条件分支测试 break 功能
目的
通过实例来利用 switch 语句实现条件分支,用含有 break 和不含有 break 的 case 语句做
比较,测试 break 的功能。
要求
写出下列代码的运行结果,并给出正确运行结果的截图。
内容
在 2-2 的基础上进行简单修改,在每个 case 语句后不加 break 语句。运行后效果如图 2-3
所示。显然这个运行结果是不符合常规逻辑的。
图 2-3 运行结果
实现思路
结合 2-2 进行比较设计,实现思路与 2-2 基本相同,不同之处在于:每个 case 语句之后
没有 break 语句。通过比较输出结果的区别,进一步了解 break 语句的功能。
关键代码如下所示:
int student[] = {95,85,75,65,55}; //声明并初始化一个数组,用存放 5 个学生成绩
for(int i=0;i<5;i++) //通过循环分别判判断每个学生成绩
{
switch(student[i]/10) //使用 switch 语句,并将成绩整除 10 后的值作为比较因子
{
case 9:
System.out.println("student"+i+"'s result is A!");
//学生成绩整除 10 后结果为 9 的,输出等级为"A"
case 8:
System.out.println("student"+i+"'s result is B!");
//学生成绩整除 10 后结果为 8 的,输出等级为"B"
case 7:
System.out.println("student"+i+"'s result is C!");
//学生成绩整除 10 后结果为 7 的,输出等级为"C"
case 6:
System.out.println("student"+i+"'s result is D!");
//学生成绩整除 10 后结果为 6 的,输出等级为"D"
8
default:
System.out.println("student"+i+"'s result is F!");
//学生成绩整除 10 后结果为 1~5 的,输出等级为"F"
}
}
通过 javac、java 等命令编译并运行程序,运行程序结果如图 2-3 所示。
2-4:学生成绩显示
目的
通过该实验,完成大作业的第一部分内容,即熟悉与掌握 Java 语言的基本语法与表达。
要求
写出主要代码,并给出正确运行结果的截图。
内容
输入 1 门课程的学生姓名、学号、平时分数、期末分数,可按总评成绩进行排序显示,
可按姓名或学号查询。
9
课堂作业 3
3-1:对象引用型成员变量的使用
目的
通过实例来了解对象引用型成员变量的使用,加深对类、对象的理解。
要求
写出下列代码的运行结果,并给出正确运行结果的截图。
内容
编程实现两个同类对象的比较,两个对象的成员变量 intMember 都为默认值 66,并在
屏幕上输出比较的结果。运行后效果如图 3-1 所示。
图 3-1 运行结果
实现思路
首先利用定义类的成员变量 intMember 默认值为 66,两个对象的 intMember 成员变量
初始值都是 66,两个对象是一样的。第一次比较两个引用返回的是 False,因为各自指向不
同的对象。第二次比较两个引用返回的是 True,因为在比较前将 ref2 的值赋给了 ref1,这
样两个引用指向同一个对象了。
关键代码如下所示:
//声明对象引用并创建对象
Sample6_4 ref1=new Sample6_4();
Sample6_4 ref2=new Sample6_4();
//打印对象信息
System.out.println("ref1.intMember="+ref1.intMember+", ref2.intMember="+ref2. intMember);
//对引用变量进行比较
if(ref1==ref2)
{
System.out.println("ref1 与 ref2 指向同一个对象。");
}
else
{
System.out.println("ref1 与 ref2 不是指向同一个对象。");
}
ref1=ref2;
if(ref1==ref2)
{
System.out.println("ref1 与 ref2 指向同一个对象。");
}
else
{
System.out.println("ref1 与 ref2 不是指向同一个对象。");
}
10
版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。