Java实验1 java语言程序设计基础训练

一、实验目的

熟悉Java程序结构,掌握基本数据类型的使用方法,熟练运用分支、循环等语句控制程序流程,掌握方法、重载方法的定义和使用,掌握数组的使用方法。掌握在JDK环境中编译和运行Java程序的操作。

二、实验内容

  1. 本小题考察如何把内容输出到控制台,循环语句,break,continue:写一个程序,打印出1到50间的整数,每输出5个换一行(注:System.out.print()不换行,System.out.println()换行);修改此程序,在值为47时用一个break退出程序;修改此程序把break换成continue试试。
 package cn.edu.dgut.exp1.Exam01;

public class Exam01 {
    public static void main(String[] args) {
        int i;
        for (i=1;i<=50;i++)
        {
            //if (i==47)
            //break;
            //continue;
            System.out.print(i+" ");
            if (i%5==0)
                System.out.println();
        }
    }
}
  1. 本小题考察switch中连续匹配处理,和缺省匹配处理:熟悉switch条件语句的语法格式,了解switch条件语句的特点
    1)编写一个类Exam02
    2)定义一个变量answer用于存储答案选项
    3)用switch条件语句判断如果变量answer为B则正确,其它则错误
    4)如果变量answer不等于ABCD四个选择则打印“不存在此选项”
 package cn.edu.dgut.exp1.Exam02;

import java.util.Scanner;

public class Exam02 {
    public static void main(String[] args) {
        System.out.println("请输入答案:");
        Scanner scanner=new Scanner(System.in);
        char answer=scanner.next().charAt(0);
        switch(answer)
        {
            case 'B':System.out.println("正确");break;
            case 'A':
            case 'C':
            case 'D':System.out.println("错误");break;
            default:System.out.println("不存在此选项");
        }
    }
}
  1. 本小题考察重载的实现:了解重载的定义,掌握方法重载的用法
    1)编写一个类Exam03
    2)在Example1中定义两个重载方法,一个用来计算矩形的面积(参数为长和宽,整形),一个用来计算圆形的面积(参数为半径r,实型,面积计算3.14rr),在main方法里面分别调用,输出面积计算的结果。
 package cn.edu.dgut.exp1.Exam03;

import java.util.Scanner;

public class Exam03 {
    public static int area(int a,int b)
    {
        return a*b;
    }
    public static double area(double r)
    {
        return 3.14*r*r;
    }
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.print("请分别输入矩形的长和宽:");
        int a=scanner.nextInt();
        int b=scanner.nextInt();
        int area1=area(a,b);
        System.out.println("矩形面积为"+area1);
        System.out.print("请输入圆形的半径:");
        double r= scanner.nextDouble();
        double area2=area(r);
        System.out.println("圆形面积为"+area2);
    }
}
  1. 本小题考察数组的定义,初始化,输入,输出,遍历,排序等:掌握一维数组中元素的排序
    请编写程序,使用冒泡排序算法实现对数组 {25,24,12,76,101,96,28} 的排序。
    1) 编写一个类Exam04
    2) 定义排序方法,在方法中,用for循环嵌套实现排序。
    3) 为了方便观察排序结果,将案例2-21中的printArr()方法复制到类中,输出排序前和排序后的数组元素。
package cn.edu.dgut.exp1.Exam04;

public class Exam04 {
    public static void main(String[] args) {
        int[] arr = {23,87,45,36,56,17};
        System.out.println("排序前");
        printArray(arr);
        bubbleSort(arr);
        System.out.println("排序后");
        printArray(arr);
    }
    public static void bubbleSort(int[] arr)
    {
        int i,j,temp;
        for (i=0;i< arr.length-1;i++)
            for (j=0;j< arr.length-1-i;j++)
                if (arr[j]>arr[j+1]) {
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
    }
    public static  void printArray(int[] arr)
    {
        for(int i=0;i< arr.length;i++)
        {
            System.out.print(arr[i]);
            System.out.print(',');
        }
        System.out.println();
    }
}


  1. 本小题考察二维数组定义,初始化,遍历,应用: 使用一个二维数组存放如下图形的字符,并打印出来。
    在这里插入图片描述
package cn.edu.dgut.exp1.Exam05;

public class Exam05 {
    public static void main(String[] args) {
        int i,j;
        char[][] a=new char[4][7];
        for(i=0;i<4;i++) {
            for (j = 0; j <= i*2;j++) {
                a[i][j]='*';
                System.out.print(a[i][j]);
            }
            System.out.println();
        }
    }
}

三、总结

  1. break语句是跳出当前循环;continue语句是跳出本次循环(只跳过一次)
  2. 使用switch语句时要搭配break语句使用,否则会一直执行下去而达不到选择的作用
  3. 重载方法是函数同名,实现功能类似(本实验中都是计算面积),而参数列表不同
  4. 数组的定义,初始化要通过引用类来实现(与C语言不同);冒泡排序法是通过循环的嵌套,两个数间比较大小互换实现
  5. 打印图形要找到图形的规律,用循环的嵌套实现
  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值