1、Windows XP 操作系统,JDK6.0。三、实验内容:(原理、操作步骤、程序代码等)任务:1. 编写一个JAVA程序,对不同类型进行变量的定义并输出相应的值。编辑如下程序代码:public class Variable public static void main(String args) int a=20; System.out.println(a=+a); 写出程序运行的结果:按下列顺序修改上述程序:定义一个字符型变量,并定义其初值为a,然后输出该变量的值;定义一个字符型变量,并定义其初值为100,然后输出该变量的值;定义一个字符型变量,并定义其初值为65536,然后输出该变量的值
2、,如果有错误,试说明原因;定义一个单精度类型的变量,并定义其初值为10.0,然后输出该变量的值;定义一个双精度类型的变量,并定义其初值为10.0,然后输出该变量的值。分别写出以上修改后的代码片段,以及运行结果。替换下面的代码段到上述程序,分析现象。 float f=10.0f; double d=100.0d; f=d;f=+f);替换下面的代码段到上述程序,分析结果。 int a=10; char c=; a=c+a; System.out.printf(c=%c,a);声明一个布尔类型的变量,其初值为真。 Variable v=new Variable();v=+v);2、运行下面的程序,
3、写出运行结果public class ArithmaticOppublic static void main(String args )int a=5+4, b=a*2, c=b/4; int d=b-c;int e=-d;int f=e%4;double g=18.4, h=g%4;int i=3;int j=i+;int k=+i;System.out.println(b=+b);c=+c);d=+d);e=+e);g=+g);h=+h);i=+i);j=+j+nk=+k);3、 创建一个类名为GravityCalculator的类,在该类中写上以下代码,public static voi
4、d main(String arguments)double gravity =9.81; / 重力速度,单位 m/s2double initialVelocity = 0.0;double fallingTime = 10.0;double initialPosition = 0.0;double finalPosition = 0.0;The objects position after + fallingTime + seconds is + finalPosition + m.);运行此程序,输出运行结果。4、 有四个整数分别用a、b、c、d表示,请使用条件运算符找出其中最大值。5、
5、运行下面的程序,写出运行结果,解释每种格式的含义。import java.util.Calendar;public class CommandParameter long n = 461012; System.out.printf(%d%n, n); System.out.printf(%08d%nSystem.out.printf(%+8d%n%,8d%n%+,8d%n%n double pi = Math.PI;%f%n, pi);%.3f%n%10.3f%n%-10.3f%n Calendar c = Calendar.getInstance();%tB %te, %tY%n, c, c
6、, c);%tl:%tM %tp%n%tD%n, c);具体操作步骤及程序代码为:1. public class Variable public static void main(String args) int a=20; System.out.println( 程序运行的结果:a=20修改后的部分程序及运行结果:char a=a; System.out.println(“a=”+a);a=achar a=100;程序运行的结果为:a=dchar a=65536;编译不能通过: B.java:3: 可能损失精度找到: int需要: char char a=65536; 1 错误编译出错的原因
7、是:字符型数据的初始值超出了其取值范围(0FFFF)。float a=10.0f;程序运行的结果是:a=10.0double a=10.0;float f=10.0f; double d=100.0d; f=d;E.java:5: double float f=d; 编译出错的原因:不能将一个占8个字节的double变量赋给只占4个字节的变量。 int a=10; char c= a=c+a; 程序运行结果为:c=k 结果分析:a是整型数据,a=a+c是将a值与字符型数据c的ASCII值的和赋给a,而由于程序输出的格式是字符型数据,所以a值有转化成其对应的字符输出。public class B
8、oolean boolean truth=true ;truth=+truth);Variable v=new Variable(); 程序输出的结果为:v=Variablec171642.编译出错: ArithmaticOp.java:22: 非法字符: 65373ArithmaticOp.java: 进行语法解析时已到达文件结尾23:3 错误3.程序运行结果为:s position after 10.0 seconds is 0.0 m.4. public class FindMax public static void main(String args) int a=34; int b=
9、42; int c=14; int d=78; int max=(ab?a:b)c?(ab):c)d?(ac):d;the max is +max);程序运行结果为:the max is785.程序运行结果为:46101200461012 +461012 461,012+461,0123.1415933.142 3.142三月 9, 201232 下午03/09/12%d:十进制整数 %n:换行 %08d:八位十进制整数若不够则左边补0%+8d:八位十进制整数前面加“+”,若位数不够左补空格%,8d:八位十进制整数,每三位间用“,”隔开,若位数不够左补空格%f:十进制数,小数点后有六位%.3f
10、:十进制数,保留三位小数%10.3f:十位十进制数,三位小数,若不够左补空格%-10.3f:十位十进制数,三位小数,若不够右补空格%tB:日期月份 %te日期日 %tY:日期年份时间时 %tM:时间分 %tp:时间上/下午%tD:日期(月/日/年)四、实验体会(实验中碰到的问题及解决方法等) 学会了在dos环境下对java程序进行编译运行,基本上没什么问题,但还存在一些小错误,像java程序的名称与定义的类名不一致导致编译不能通过,刚开始找不到java文件,对那几个基本的命令的使用还不熟悉,但通过这次试验这个问题已经得到解决。另外,第2题看似没问题,但是编译出错,我几经编译都通不过,不知道是什么原因。这次试验没有太难的程序,所以问题不多,在写程序的同时巩固了java程序的书写,它的类、标识符、变量等的命名规则,对多种格式控制符有了大致的了解。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1