欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

javase阶段考试一(Hello,world~数组)测试题及答案,javasehello

来源: javaer 分享于  点击 11973 次 点评:165

javase阶段考试一(Hello,world~数组)测试题及答案,javasehello


一、 简单题(每题5分,共计40分)

1. 简述Java语言的跨平台特性

由于不同的操作系统中都提供了Java虚拟机进行解释执行,因此对于同一份字节码文件来说,可以实现一次编译,到处运行的美名。

2. 写出以下名词的概念和各自作用

jdk - Java开发工具包,只要做Java语言的开发就必须安装该软件。

jre - Java运行时环境,只要运行Java程序就必须安装该软件。

javac.exe - Java语言编译器,用于将高级源代码文件编译为字节码文件。

java.exe - Java语言解释器,用于启动Java虚拟机对字节码文件进行边解释边执行。

JVM - Java虚拟机,用于作为Java语言和操作系统之间的桥梁。

3. 简述Java中变量的基本概念

当需要在程序中记录单个数据内容时,则声明一个变量来记录即可,而变量的本质就是在内存中申请一块存储单元,并且该区域中的数据内容可以发生改变。

    由于存储的数据内容不同导致所需的内存空间大小不同,在Java语言中使用数据类型的概念加以描述,并指定该区域一个变量名的概念来记录。

4. 标识符的命名规则

1)由字母、数字、下划线以及美元$组成,其中数字不能开头。     

2)不能与Java语言中的关键字同名。

3)区分大小写,长度没有限制但不宜过长。

4)尽量做到见名知意,支持中文但不推荐使用。

5. 简述Java语言中的所有基本数据类型以及每种数据类型占用内存空间的大小

描述整数的数据类型主要有:byte/short/int/long,分别占用1/2/4/8个字节大小。

描述小数的数据类型主要有:float/double,分别占用4/8个字节大小。

描述真假的数据类型有:boolean,占用1个字节大小。

描述字符的数据类型有:char,占用2个字节。

6. 请写出if语句的三种语法格式

1if(条件表达式)  {语句块;}

2if(条件表达式)  {语句块1;}

else  {语句块2;}

3if(条件表达式1)  {语句块1;}

 else if(条件表达式2)  {语句块2; }

... ...

 else  {语句块n;}

7. 请写出声明定义数组的方式

元素类型[] 变量名 = new 元素类型[元素的个数]

元素类型[] 变量名 = {元素1,元素2...}

8. 述单个字节表示的数值范围并写出推导过程。

非负数的表示范围是:0000 0000 ~ 0111 1111  => 0 ~ 127  => 0 ~ 2^7-1

0111 1111 => 64 + 32 + 16 + 8 + 4 + 2 + 1 => 127

负数的表示范围是:1000 0000 ~ 1111 1111    => -128 ~ -1 => -2^7 ~ -2^0

1000 0000 => 0111 1111 => 1000 0000 => 128 => -128

1111 1111 => 0000 0000 => 0000 0001 => 1   => -1   

综上所述:

    1个字节所能表示的十进制整数范围是:-128 ~ 127,也就是-2^7 ~ 2^7-1

二、 编程题(每题12分,共计60分)

1. 提示用户输入一个三位数正整数并逆序输出。

/*

     编程实现三位数的逆序处理并打印

 */

 

import java.util.Scanner;

 

public class TestThreeReverse{

 

    public static void main(String[] args){

 

        //1.提示用户输入一个三位数的正数并使用变量记录

        System.out.println("请输入一个三位数的正数:");

        Scanner sc = new Scanner(System.in);

        int num = sc.nextInt();

 

        //2.将输入的三位数进行逆序处理

        int ia = num / 100;     //拆分百位数

        int ib = num %100 / 10; //拆分十位数

        int ic = num % 10;      //拆分个位数

        int res = ic*100 + ib*10 + ia;

 

        //3.打印逆序之后的结果

        System.out.println(num + "逆序之后的结果是:" + res);

        //System.out.println(num + "逆序之后的结果是:" + ic + ib + ia);

    }

}

2. 使用if-else if-else分支结构根据用户输入的成绩判断所在的等级并打印出来。

   [90 ~ 100]  打印等级A

   [80 ~ 89]   打印等级B

   [70 ~ 79]   打印等级C

   [60 ~ 69]   打印等级D

   [0 ~ 59]    打印等级E

/*

     编程实现用户输入成绩等级的判断并打印出来

 */

import java.util.Scanner;

 

public class TestScore{

 

    public static void main(String[] args){

 

        //1.提示用户输入考试成绩并使用变量记录

        System.out.println("请输入考试成绩:");

        Scanner sc = new Scanner(System.in);

        int score = sc.nextInt();

 

        //2.判断该成绩所在的等级并打印出来

        if(score >= 90 && score <= 100){

            System.out.println("等级A");

        }

        else if(score >= 80){

            System.out.println("等级B");

        }

        else if(score >= 70){

            System.out.println("等级C");

        }

        else if(score >= 60){

            System.out.println("等级D");

        }

        else{

            System.out.println("等级E");

        }  

    }

}

3. 使用for循环实现1 ~ 10000之间的累加和并打印出来。

/*

     编程使用for循环计算1 ~ 10000之间整数的累加和

 */

public class TestForSum{

 

    public static void main(String[] args){

 

        //1.声明一个int类型的变量负责记录累加和

        int sum = 0;

 

        //2.打印1 ~ 10000之间的整数的累加和

        for(int i = 1; i <= 10000; i++){

            sum = sum + i;   

        }

 

        //3.打印最终的结果

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

    }

}

4. 使用双重循环打印2~200之间的所有素数,素数就是只能被1和本身整除的数。

/*

      编程实现使用双重循环打印2~200之间的所有素数

 */

public class TestPrimeNum{

    public static void main(String[] args){

        for(int i=2;i<200;i++){

            boolean flag = true; //默认i是质数

            for(int j=2;j<=Math.sqrt(i);j++){

                if(i%j == 0){//i肯定不是质数

                    flag = false;

                    break;

                }

            }

            if(flag) System.out.println(i);

        }

    }

}

5. 随机生成5个整数记录到一维数组中,求出最大值和最小值以及累加和并打印出来。

/*

     编程实现随机生成5个整数记录到一维数组中,求出最大值和最小值以及累加和

 */

import java.util.Random;

 

public class TestArr{

 

    public static void main(String[] args){

    

       //1.声明一个数组用于记录生成的随机数

       int[] arr = new int[5];

 

       //2.生成5个随机整数

       Random ra = new Random();

       for(int i = 0; i < arr.length; i++){

           arr[i] = ra.nextInt();

           //保证每次生成随机数不重复,让生成的随机数与之前的随机数依次比较

           for(int j = i-1; j >= 0; j--){

               if(arr[i] == arr[j]){

                   i--; //重新生成一个随机数,来覆盖重复的随机数

                   break; //表示跳出内层循环,找到重复随机数之后无需再比较后续

               }

           }

       }

       

    //3.打印数组中的所有元素值

        for(int i = 0; i < arr.length; i++){

            System.out.println("arr[" + i + "] = " + arr[i]);

        }

 

   //4.定义变量记录数组中的最大最小值,以及累加和

   int max = arr[0];

   int min = arr[0];

   int sum =0;

 

   for(int i = 0; i < arr.length; i++){

            if(arr[i] > max){

                 max = arr[i];

            }

if(arr[i] < min){

                 min = arr[i];

            }

sum += arr[i];

        }

 

System.out.println("数组中的最大值为:" + max);

System.out.println("数组中的最小值为:" + min);

System.out.println("数组的累加和为:" + sum);

 

}

}

 

相关文章

    暂无相关文章

用户点评