Java语言基础练习

一、实验目的:

1. 了解 Java 的数据类型

  2. 掌握各种变量的声明方式及其使用范围。

  3. 理解 Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 

 

二、实验环境:

  一台配置有java环境,装有eclipse的电脑。

 

三、实验内容:

(一 实验要求

1. 编写一个声明 Java 不同数据类型变量的程序。

2. 编写一个关于变量的使用范围的程序。

  3. 编写使用选择结构的程序。

  4. 编写使用循环结构的程序。

  (二 声明不同数据类型的变量 

   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. 试编写数据类型转换程序。讨论自动类型转换和强制类型转换的实例。

 

package ch1;

public class KY2_1 {

public static void main(String[] args) {

  byte b=0x55;

      short s=0x55ff;

      long l=0xffffL;

      char c='a';

      float f=0.23F;

      int i=(int)f;

      double d=l;

      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);  

}

 

}

(三 了解变量的使用范围 

  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.编译 KY2_2.java

     看看这个程序是否会出错?为什么会出现编译错误,请在试验报告中给出理由!

 

答:会出错。因为主函数是static的成员方法,在此之前不会产生任何对象,不能访问非static变量。

  3.修改上面的程序,让它能正确运行。

 

  4.把修改后的源程序以及程序的输出结果写在实验报告中。

 public class KY2_2 {

static int i=10, k=10;

public static void main(String[] args) {

{

System.out.println("i="+i);

System.out.println("k="+k);

}

System.out.println("i="+i);

System.out.println("k="+k);

}

 

}

  5. 试着自己编写程序体会局部变量和成员变量初始化的问题。

  思考:KY2_2.java 程序说明了什么问题?

答:成员变量有初值,局部变量在定义之后是没有初始值的。

(四 使用选择语句 

1. 程序功能:使用 switch 语句在不同温度时显示不同的解释说明。

2. 程序源代码如下。

   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+"℃ 太热了!开空调。");

           }

        }

   }

3.编译 KY2_3.java

 

     看看这个程序是否会出错?如果出错,请在试验报告中解释为什么?

答:出错了。因为swith语句中没有遇到break则继续执行接下来的case语句,导致出来的结果不符合要求。

 

  4.修改上面的程序,让它能正确运行。把修改后的源程序以及程序的输出结果写在实验报告中。

 

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+"℃  有点冷。要多穿衣服。");

break;

case 2:

System.out.println(""+c+"℃  正合适。出去玩吧。");

break;

case 3:

System.out.println(""+c+"℃  有点热。");

break;

case 4:

System.out.println(""+c+"℃  太热了!开空调。");

break;

}

}

 

}

 

(五 使用循环语句 

1.请编写程序 KY2_4.java,要求程序具有如下功能:求 12+…+100 之和,并将求和表达式与所求的和都显示出来,即程序的输出结果应该为:12+…+100=5050

2.编译 KY2_4.java      

3.运行KY2_4.class

    4.把源程序写在实验报告中。

 

 

 

public class KY2_4 {

public static void main(String[] args) {

int i=1,sum=1;

System.out.print(""+i);

for(i=2;i<=100;i++)

{

sum=sum+i;

System.out.print("+"+i);

}

System.out.print("="+sum);

}

 

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值