java上机实验报告(完整高分打印版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java语言程序设计实验报告
学生所在学院:里仁学院
学生所在班级:08计算机一班
学生姓名:hejinhai
指导教师:崔勇强
教务处
2010年6月
第1篇核心基础篇
实验一
第3章Java语言基础
3.2 表达式与语句
3.2.2 运算符与表达式
9 Java强制类型转换
一,实验目的:
掌握和理解强制类型转换原理格式及使用方法。
二,实验内容:
编写程序定义整形变量x,把他强制类型转换成byte类型,观察输出结果。
三,源程序:
public class Test {
public static void main(String[] args) {
int x=1200;
byte b=(byte)x;
System.out.println("转换结果是:"+b);
}
}
输出结果:-80
四,原理:
根据低级数据和高级数据的相互转换规则,把输入的整形数1200转换成二进制数,转换成补码形式取前八位,输出结果。
实验二
第3章Java语言基础
3.2 表达式与语句
3.2.2 运算符与表达式
4 位运算符
一,实验目的:
理解和掌握移位运算符操作,使用方法,和格式。
二,实验内容:
编写程序,定义两个整型变量,采用左移右移运算符 >> ,<<,和不带符号右移运算符 >>>,对整型变量进行移位运算,输出
结果,观察结果。
三,源程序:
public class Test {
public static void main(String[] args) {
int s1=1357;int s2=-1357;
int s3=s1>>5;int s4=s2>>5;
int s5=s1>>>5;int s6=s2>>>5;
int s7=s1<<5;int s8=s2<<5;
int s9=s1>>37;int s10=s2>>37;
System.out.println("数字一是"+s1);
System.out.println("数字二是"+s2);
System.out.println("数字一的<<左移五位结果是"+s7);
System.out.println("数字一的>>右移五位结果是"+s3);
System.out.println("数字一的>>>右移五位结果是"+s5);
System.out.println("数字二的<<左移五位结果是"+s8);
System.out.println("数字二的>>右移五位结果是"+s4);
System.out.println("数字二的>>>右移五位结果是"+s6);
System.out.println("数字一的>>右移三十七位的结果是"+s9);
System.out.println("数字二的>>右移三十七位的结果是"+s10);
}
}
输出结果:
数字一是1357
数字二是-1357
数字一的<<左移五位结果是43424
数字一的>>右移五位结果是42
数字一的>>>右移五位结果是42
数字二的<<左移五位结果是-43424
数字二的>>右移五位结果是-43
数字二的>>>右移五位结果是134217685
数字一的>>右移三十七位的结果是42
数字二的>>右移三十七位的结果是-43
四,实验原理:
将输入的正型变量1357,-1357转换成补码形式,1357的补码,
就是它他的二进制本身,-1357是二进制数诸位取反加1,按照要求进行移位运算(>> <<),若是左(右移),就按要求移相应的位数,高位补与符号位相同的数若是1就补1,若是0,就补0。若是>>>,右移时不带符号移动,不管符号位是1,还是0,都补0。再转成十进制形式输出。
实验三
第3章 Java 语言基础
3.3 程序流控制
3.3.1-3.3.5语句(while , for ,if/else ,switch ,循环 )
一,实验目的 理解和掌握使用程序流控制语句,以达到让某些程序能够有条件或重复执行的目的以及++的运用。
二,实验内容
对无穷数列⋯⋯-+-7
1513111121)1(+*-n n 求解:1211n
+*-n )( 。
三,源程序
public class qiuhe{
public static void main (String[] args){ double sum=0;
Int sign=1;
for (int i=0;i<100;i++) {
double item=1.0/(2*i+1);
if ( item<0.000001) break;
item=item*sign;
sum=item;
sign=sign*(-1);
}
int i=0
while (true)
{
double item=1.0/(2*i+1);
if(item<0.0001) break;
item=item*sign;
sum=item;