当前位置:文档之家› (完整版)实验2基本数据类型与数组

(完整版)实验2基本数据类型与数组

民族学院实验报告
计算机科学系级班指导教师
报告人20 年月日成绩
课程
名称JAVA语言程序设计
实验名称实验二基本数据类型与数组
实验目的1.掌握基本数据类型及其相互之间的转换2.掌握JAVA中数组的使用
实验仪器
和器材
具有JDK环境的计算机一台
实验内容和要求一、输出希腊字母表
1.请按模板要求,将【代码】替换为Java程序代码,运行该程序时在命令窗口中输出希腊字母表。

其运行效果如图
2.1所示。

图2.1 输出希腊字母表
GreekAlphabet.java
public class GreekAlphabet {
public static void main(String[] args) {
int startPosition=0,endPosition=0;
char cStart='α',cEnd='ω';
startPosition=(int)cStart; //cStart做int型数据转换,并将结果赋值给startPosition endPosition=(int)cEnd; //cEnd做int型数据转换,并将结果赋值给EndPosition
System.out.println("希腊字母\'α\'在Unicode表中的顺序位置:"+(int)cStart);
System.out.println("希腊字母表:");
for (int i=startPosition;i<=endPosition;i++){
char c='\0';
cStart=(char)i; //i做char型转换运算,并将结果赋值给c System.out.print(" "+c);
if ((i-startPosition+1)%10==0)
System.out.println();
}
}
}
2.实验后练习
(1)将一个double型数据直接赋值给float型变量,程序编译时提示怎样的错误?
答:程序提示的内容为:“可能损失精度”。

(2)在应用程序的main方法中增加语句:
float x=0.618;
程序能编译通过吗?
答:不能。

因为可能损失精度。

(3)在应用程序的main方法中增加语句:
byte y=128;
程序能编译通过吗?
答:不能。

如下图,可能会损失精度
(4)在应用程序的main方法中增加语句:
int z=(byte)128;
程序输出的z值是多少?
答:输出的是-128;
二、从键盘输入数据
1.编写一个Java程序,用户从键盘输入一个浮点数据,程序将输出这个数的平方和三次方。

import java.util.*;
public class A{
public static void main(String args[]){
Scanner reader=new Scanner(System.in);
double a=reader.nextDouble();
double b,c;
b=a*a;
c=b*a;
System.out.printf("%f\n",b);
System.out.printf("%f\n",c);
}
}
2.实验后练习
(1)程序运行时,用户从键盘输入2332,程序提示怎样的信息?
答提示信息如图
(2)程序运行时,用户从键盘输入abc,程序提示怎样的信息?
答 :提示信息如图
三、数组的快速复制
1.请查询Java API中System类中的静态方法arraycopy()的使用方法,并编写一个程序。

要求:
➢建立一个一维整型数组,用于存放本班学生的Java成绩。

该数组的元素值为60-100的随机值,每行显示10个元素值;
➢调用arraycopy()方法进行复制,并显示其值;
➢修改复制前的数组,并显示其值;
➢再显示复制的数组,并显示其值
实验结果一、
三程序如下:
public class Arraycopy{
public static void main(String atgs[]){ int[] a=new int[24];
int[] b=new int[24];
int i;
int grest=0;
System.out.printf(" a数组:\n");
for( i=0;i<24;i++){
grest=60+(int)(Math.random()*41);
a[i]=grest;
System.out.printf("%5d",a[i]);
if((i+1)%10==0){
System.out.printf("\n");
}
}
System.out.printf("\n");
System.arraycopy(a,0,b,0,24);
System.out.printf(" b数组:\n");
for(int j=0;j<24;j++){
System.out.printf("%5d",b[j]);
if((j+1)%10==0){
System.out.printf("\n");
}
}
a=b;
System.out.printf(" b2数组:\n");
for(int j=0;j<24;j++){。

相关主题