一、实验目的:
1.了解 Java 的数据类型
2.掌握各种变量的声明方式及其使用范围。
3.理解 Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。
二、实验环境:
Eclipse
三、实验内容:
(一)声明不同数据类型的变量。
1.编写声明不同数据类型变量的程序文件 KY2_1.java,源代码如下。
public class KY2_1 {
public static void main(String args[]) {
byte b=0x55;
short s=0x55ff;
int i=1000000;
long l=0xffffL;
char c='a';
float f=0.23F;
double d=0.7E-3;
boolean B=true;
String S="这是字符串类数据类型";
System.out.println("字节型变量 b = "+b);
System.out.println("短整型变量 s = "+s);
System.out.println(" 整型变量 i = "+i);
System.out.println("长整型变量 l = "+l);
System.out.println("字符型变量 c = "+c);
System.out.println("浮点型变量 f = "+f);
System.out.println("双精度变量 d = "+d);
System.out.println("布尔型变量 B = "+B);
System.out.println("字符串类对象 S = "+S);
}
}
2.编译结果
3. 如果不给上面程序中的变量赋初始值,程序不能正确运行;
理由:以上变量均为局部变量,必须初始化。
4. 在以上程序上进行数据类型转换,如下图所示。
编译结果如下图所示。
(二)了解变量的使用范围。
1.建立 KY2_2.java 文件,通过本程序了解变量的使用范围,源代码如下。
public class KY2_2 {
static int i=10;
public static void main(String args[]) {
{
int k=10;
System.out.println("i="+i);
System.out.println("k="+k);
}
System.out.println("i="+i);
System.out.println("k="+k);
}
}
2.编译时出错,程序无法正常运行
错误原因:k作为局部变量,只在方法内有效,故上述程序中k在方法之外的语句 “system.out.println(“i=”+k)”中无效。
3.修改程序使其正确运行,源程序(图2.1)及编译结果(图2.2)如下。
5. 以上程序说明:成员变量在整个类内有效,其有效性与它书写的先后位置无关,
局部变量只在方法内有效,而且与其声明的位置有关。
(三)使用选择语句。
1.程序功能:使用 switch 语句在不同温度时显示不同的解释说明,程序源代码如下。
class KY2_3{
public static void main(String args[]) {
int c=18;
switch (c<10?1:c<25?2:c<35?3:4) {
case 1:
System.out.println(" "+c+"℃ 有点冷。要多穿衣服。");
case 2:
System.out.println(" "+c+"℃ 正合适。出去玩吧。");
case 3:
System.out.println(" "+c+"℃ 有点热。");
default:
System.out.println(" "+c+"℃ 太热了!开空调。");
}
}
}
2...编译结果如下。(编译结果错误)
程序错误原因:在程序运行过程中,switch函数中无break语句,故当温度为18℃时,执行case 2完成后,并未跳出switch函数,会继续执行接下来的语句,故运行结果如上图所示。
3.程序修改(图3.1)及执行结果(图3.2)如下。
(四)使用循环语句。
1. 请编写程序 KY2_4.java,要求程序具有如下功能:求 1+2+…+100 之和,并将求和表达式与所求 的和都显示出来,即程序的输出结果应该为:1+2+…+100=5050。
2. 程序源代码如下。
四、心得体会:
我个人感觉有了C的编程基础,if 和switch这些简单的流程控制语句运用起来比较轻松,实现简单的逻辑运算也跟C非常相近,所以上手比较快。但是在这次程序中,首次涉及到了java程序的数据输入,与C区别很大。但经过老师的讲解和查阅相关资料,基本明白其相关的使用规则和注意事项。