Java语言基础实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浙江大学城市学院实验报告
课程名称 ______________ 面向对象程序设讣
实验工程名称 ________________ Java语言基础实验__________________________________ 学生姓名专业班级学号
实验目的和要求
1.掌握Java语言的基本数据类型、字符串、数组
2.掌握Java语言的运算符、表达式、语句
3.能够编写Java应用程序
二. 实验内容
1.局部变量与final变量实验
2.基本数据类型与转换实验
3.算术运算的精度问题实验
4.移位运算实验
5.运算赋值实验
6.短路逻辑运算实验
7.编程实验:输出Unicode特泄区间的字符。
&编程实验:分析输入的数字
三. 实验结果与分析(可将程序运行结果截屏,也可分析运行结果)
1.局部变量与final变量实验。编写以下程序,并回答问题。
public class LocalVariablcInitExample {
public static void main(String[] args) {
int a o
System.out.print(a)o
final int b = 100。
b++o
System.out.print(b)c
}
}
(1)程序的错误
1、S ystem.out.print(a)o出错,局部变量a没有进行过初始化或赋值
2、b++。岀错,不能对终态局部变量b赋值。它必须为空白,并且不使用复合赋值
(2)改正方式
public class LocalVariablelnitExample {
public static void main(String[] args) {
int a=10 o
System.out.print(a)o
final int b= 100°
Systeni.out.print(b)o
}
}
2.基本数据类型与转换实验。编写以下程序,分析代码的输出结果,并回答问题。class
Test2{
public static void main(String[] args){
System.out.println(M第1段测试代码输出”)。
System.out.println((byle)255)o
System.out.println((short)65535)0
System.out.println((byte)-129)。
System.out.println((byte)129)o
System.out.println((byte) 128)。
System.out.printing第2段测试代码输出”)。
int i= 123456789 c
float f =仁
System.out.println(f)0
longj=123456789123456789L, double d = j。
System.out.println(d)o
System.out.println(H第3段测试代码输出
System.out.println(077) <>
System.out.println(0x77)o
System.out.println(77)o
}
}
请分析并回答以下问题:
(1)分析第1段代码,说明在什么情况下,int类型的数字转换为byte或者short类型,会岀
现符号变化,即正数变负数,负数变正数?为何输出会不同?
答:在强制类型转换时,如果数值超过目标类型的取值范用,那么某些数据位会被强行截断(即数据截断),从而导致数据丢失,甚至符号丢失。
例如:byte的取值范围是-27~2U, int类型的255不在这个范围内,强制转换的结果是-lo
(2)分析第2段代码,说明整数类型向浮点型转型是否可能岀现精度损失,是否需要强制
转换。
答:整数类型向浮点型转型可能会出现精度损失•不需要强制转换,可以自动类型转换。
(3)分析第3段代码,说明整数的八进制、十六机制、十进制的书写格式(即字而值格式)
都是什么?
答:八进制:首字母为0 ,包括0到7之间的字符所组成的字符序列;
十六进制:以0x(或者0X)开始,包括0到9、以及A到F十六个符号组成的字符序列;
十进制:由0到9十个字符组成的字符序列,一般首字符不可为0。
3.算术运算的精度问题实验。编写以下程序,并回答问题。
class Test3{
public static void main(String[] args){
short a = 10a
a = a + 2o
byte b= lo
b = b + 1 o
short a = 10=
byte b = 5o
a = a + bo
char c = 'a 寫
C = C+lo
}
}
(1)程序的错误
1、类型不匹配:不能从int转换为short ,不能从int转换为byte,不能从int转换为char
2、局部变虽a、b重复
(2)改正方式
class Test3 {
public static void main(String[] args){
short a = 10o
a = (short)(a + 2)o
byte b = 1 o
b = (byte)(b + 1)。
short d = 10o
byte e = 5o
d = (short)(d + e)o
c = (char)(c+l)o
}
}
4.移位运算实验。编写以下程序,分析代码的输出结果,并回答问题。class Test4{
public static void main(String[) args){
System, out. printing第1段测试代码输出”)。