ImageVerifierCode 换一换
格式:DOC , 页数:10 ,大小:253.50KB ,
资源ID:3129560      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-3129560.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java语言基础实验报告.doc)为本站会员(tangtianxu1)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

Java语言基础实验报告.doc

1、浙江大学城市学院实验报告课程名称 面向对象程序设计 实验项目名称 Java 语言基础实验 学生姓名 专业班级 学号 一. 实验目的和要求 1. 掌握 Java 语言的基本数据类型、字符串、数组2. 掌握 Java 语言的运算符、表达式、语句3能够编写 Java 应用程序二. 实验内容 1. 局部变量与 final 变量实验2. 基本数据类型与转换实验3. 算术运算的精度问题实验4. 移位运算实验5. 运算赋值实验6. 短路逻辑运算实验7. 编程实验:输出 Unicode 特定区间的字符。8. 编程实验:分析输入的数字三. 实验结果与分析(可将程序运行结果截屏,也可分析运行结果)1. 局部变量与

2、 final 变量实验。编写以下程序,并回答问题。public class LocalVariableInitExample public static void main(String args) int a ; System.out.print(a); final int b = 100;b+;System.out.print(b); (1)程序的错误1、System.out.print(a);出错,局部变量 a 没有进行过初始化或赋值2、b+; 出错,不能对终态局部变量 b 赋值。它必须为空白,并且不使用复合赋值(2)改正方式public class LocalVariableInitE

3、xample public static void main(String args) int a=10 ; System.out.print(a); final int b = 100;System.out.print(b); 2. 基本数据类型与转换实验。编写以下程序,分析代码的输出结果,并回答问题。class Test2public static void main(String args)System.out.println(“第 1 段测试代码输出“); System.out.println(byte)255);System.out.println(short)65535);Syst

4、em.out.println(byte)-129);System.out.println(byte)129);System.out.println(byte)128);System.out.println(“第 2 段测试代码输出“); int i = 123456789;float f = i;System.out.println(f);long j = 123456789123456789L;double d = j;System.out.println(d);System.out.println(“第 3 段测试代码输出“); System.out.println(077);System

5、.out.println(0x77);System.out.println(77); 请分析并回答以下问题:(1) 分析第 1 段代码,说明在什么情况下,int 类型的数字转换为 byte 或者 short 类型,会出现符号变化,即正数变负数,负数变正数?为何输出会不同?答:在强制类型转换时,如果数值超过目标类型的取值范围,那么某些数据位会被强行截断(即数据截断) ,从而导致数据丢失,甚至符号丢失。例如:byte 的取值范围是-2 727-1,int 类型的 255 不在这个范围内,强制转换的结果是-1。(2) 分析第 2 段代码,说明整数类型向浮点型转型是否可能出现精度损失,是否需要强制转换

6、。答:整数类型向浮点型转型可能会出现精度损失,不需要强制转换,可以自动类型转换。(3) 分析第 3 段代码,说明整数的八进制、十六机制、十进制的书写格式(即字面值格式)都是什么?答:八进制:首字母为 0 ,包括 0 到 7 之间的字符所组成的字符序列;十六进制:以 0x(或者 0X)开始,包括 0 到 9、以及 A 到 F 十六个符号组成的字符序列;十进制:由 0 到 9 十个字符组成的字符序列,一般首字符不可为 0。3. 算术运算的精度问题实验。编写以下程序,并回答问题。class Test3public static void main(String args)short a = 10;a

7、 = a + 2; byte b = 1;b = b + 1; short a = 10;byte b = 5;a = a + b; char c = a;c = c+1; (1)程序的错误1、类型不匹配:不能从 int 转换为 short ,不能从 int 转换为 byte ,不能从 int 转换为 char2、局部变量 a 、b 重复(2)改正方式class Test3 public static void main(String args)short a = 10;a = (short)(a + 2); byte b = 1;b = (byte)(b + 1); short d = 10

8、;byte e = 5;d = (short)(d + e); char c = a;c = (char)(c+1); 4. 移位运算实验。编写以下程序,分析代码的输出结果,并回答问题。class Test4public static void main(String args)System.out.println(“第 1 段测试代码输出“);System.out.println(132);System.out.println(1L32);System.out.println(“第 2 段测试代码输出“);System.out.println(105);System.out.println(

9、-105);System.out.println(“第 3 段测试代码输出“); System.out.println(11);System.out.println(-21);请分析并回答以下问题:(1) 分析第 1 段代码,为何输出会不同?答:int 类型为 32 为,所以右移 32 位还是其本身,long 类型为 64 为,所以右移 32 位,低位被舍弃,高位补 0,最终结果为 0。(1) 分析第 2 段代码,正整数右移的最小值是什么?负整数右移的最大值是什么?答:正整数右移的最小值是 0,负整数右移的最大值是-1。(2) 分析第 3 段代码,三个语句输出为何不同?答:int 类型右移 3

10、1 位,符号位就是 1。符号位 1 代表为负数, long 类型右移 31 位,只能说明扩大了 2 的 31 次方, long 类型右移 63 位,符号位就是 1,符号位 1 代表为负数(3) 分析第 4 段代码,两个语句输出为何不同?答:int 类型左移 100 位,和右移 4 位一样,100 除以 32 的余数。 long 类型左移 100 位,和右移 36 位一样,100 除以 64 的余数。(4) 分析第 5 段代码,两个移位运算是否等价?答:等价。(5) 分析第 6 段代码, q1”和“-11”有何差别?答:“-11”结果是-1 ,“-11”结果是2147483647 。5. 运算赋

11、值实验。编写以下程序,并回答问题。class Test5public static void main(String args) byte a = 10;a = a 1; / 是否出错?a = 1; / 是否出错?char c = a; c = c + 1;/ 是否出错?c += 1; / 是否出错? (1)程序的错误类型不匹配:不能从 int 转换为 byte ,不能从 int 转换为 char。(2)改正方式public class Test5 public static void main(String args) byte a = 10;a =(byte)( a 1); / 是否出错?

12、a = 1; / 是否出错?char c = a; c =(char)( c + 1);/ 是否出错?c += 1; / 是否出错? (3)运算赋值的特点。运算赋值时无需强制转换。6. 短路逻辑运算实验。编写以下程序,并回答问题。class test6public static void main(String args) int x = 1, z = 2; System.out.println(“第 1 段测试代码输出“); if(falseelseSystem.out.println(z);z = 2; x =1;System.out.println(“第 2 段测试代码输出“); if(

13、trueelseSystem.out.println(z); x=0; z = 2; System.out.println(“第 3 段测试代码输出“); if(true|(x = (z = 1) System.out.println(z);x=0; z = 2; System.out.println(“第 4 段测试代码输出“); if(false|(x = (z =1)|true)System.out.println(z);请分析并回答以下问题:(1) 第 1 段代码的输出结果是什么,为何?答:结果是 2。没有计算(x = (z = 1),z 仍等于 2,输出 z 的值,即输出 2。(2)

14、 第 2 段代码的输出结果是什么,为何?答:结果是 1。计算了(x = (z = 1),z 被赋值为 1,输出 z 的值,即输出 1。(3) 第 3 段代码的输出结果是什么,为何?答:结果是 2。没有计算(x = (z = 1),z 仍等于 2,输出 z 的值,即输出 2。(4) 第 4 段代码的输出结果是什么,为何?答:结果是 1。计算了(x = (z = 1),z 被赋值为 1,输出 z 的值,即输出 2。7. 编程实验:输出 Unicode 特定区间的字符。功能要求:屏幕输出所有大写英文字母、小写字母) 、某两个汉字字符之间的所有 Unicode 字符。程序:public class t

15、est7 public static void main(String args) char i;for(i=a;i=z;i+)System.out.println(i);for(i=A;i=Z;i+)System.out.println(i);for(i=啊;i=阿;i+)System.out.println(i);程序运行截图是:8. 编程实验:分析输入的数字。功能要求:输入若干个数字,依次判断这些数字是否是奇数、平方数、素数,并输出判断信息。设计要求:需要设计静态方法 isOdd(int n)来判断参数 n 是否是奇数;相似地,还需要设计静态方法 isSquareNumber(int n

16、)和 isPrime(int n),来分别用于判断参数 n 是否是平方数、素数。程序:import java.util.*;public class test8 public static void main(String args) Scanner scanner=new Scanner(System.in);System.out.println(“请输入若干数字(以英文字符结束) :“);while(scanner.hasNextInt()int n=scanner.nextInt();if(isOdd(n)System.out.println(n+“为奇数“);elseSystem.ou

17、t.println(n+“不是奇数“);if(isSquareNumber(n)System.out.println(n+“为平方数“);elseSystem.out.println(n+“不是平方数“);if(isPrime(n)System.out.println(n+“为素数“);elseSystem.out.println(n+“不是素数“);static boolean isOdd(int n)if(n%2=0)return false;elsereturn true;static boolean isSquareNumber(int n)int j;for(j=1;jn/2;j+)if(j*j=n)return true;return false;static boolean isPrime(int n)int j;for(j=2;jn/2;j+)if(n%j=0)return false;return true;程序运行截图是:四. 讨论、心得(可写遇到的问题及解决方法,或者对技术的理解等)本次实验我了解到 java 与 c+有许多相同之处,如 if else 的用法,但也有很多的不同之处,如输入与输出的方法,还有不同类型的运算等。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报