Java程序设计课后习题(答案版) 期末复习

第一章 Java语言概述

一、选择题

  1. 下面哪种类型的文件可以在Java虚拟机中运行?( A )

    A. class

    B. Java

    C. jre

    D. exe

  2. 如果JDK 的安装路径为“d:\jdk”,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?( B )

    A. d: \jdk

    B. d: \jdk\bin

    C. d: \jre\bin

    D. d:\jre

  3. 在JDK 目录中,Java 程序运行环境的根目录是( C )。

    A. bin

    B. demo

    C. jre

    D. lib

  4. JDK 安装后,在安装路径下有若干子目录,其中包含Java 开发包中开发工具的是( A )目录。

    A. \bin

    B. \demo

    C. \include

    D. \jre

  5. 对于可以独立运行的Java 应用程序,下列( D )说法是正确的。

    A.无须main方法

    B.必须有两个main方法

    C.可以有多个或零个main方法

    D. 必须有一个main方法

  6. Java源文件和编译后的文件扩展名分别是( B )。

    A. class和java

    B. java和class

    C. class和class

    D.java和java

  7. 作为Java应用程序入口的main()方法,其声明格式可以是( C )。

    A. public static int main( String[ ] args)

    B. public void main( String[ ] args)

    C. public static void main( String[ ] args )

    D. public int main( String[ ] args)

  8. 在Eclipse中,( A )视图显示输出的结果。

    A.控制台

    B.导航器

    C.包资源管理器

    D. 大纲

  9. 下面说法正确的是( D )。
    A. Java程序的main( )方法写在类的外部
    B.一个Java程序里可以有一到多个 main( )方法
    C.如果Java程序中的main( )方法中只有一条语句,则不需要用{ }括起来
    D. Java程序中,如果类名由public修饰,则类名必须与文件名保持一致

  10. 在控制台运行一个名为Test的Java程序,使用的正确命令是( B )。

    A. java Test. Java

    B. java Test

    C. javac Test. Java

    D. javac Test

二、填空题

  1. 建立Java开发环境,安装JDK, 一般需要设置环境变量 pathclasspath
  2. 开发和运行Java程序需要经过的三个主要步骤为 编辑编译运行
  3. 编写一个Java 源程序,编译该源程序的命令为 javac ,运行该程序的命令为 java
  4. Java应用程序中有一个main( )方法,它前面有三个修饰符是 publicstaticvoid
  5. 缩写的JDK代表 Java开发工具 ,JRE 代表 Java运行环境

第二章 数据类型

一、 选择题

  1. 下面哪一项在Java中是非法的标识符?( C )

    A. $ user

    B. point

    C. You&me

    D. _endline

  2. 下列不属于Java保留字的是( A ) 。

    A. sizeof

    B. super

    C. abstract

    D. break

  3. 下列整型数据类型中,需要内存空间最少的是( D ) 。

    A. short

    B. long

    C. int

    D. byte

  4. 哪个是将一个十六进制值赋值给一个long型变量? ( D )

    A. long number = 345L;

    B. long number = 0345;

    C. long number = 0345L;

    D. long number = 0x345L;

  5. char类型的取值范围是( B )。

    A.2-7~27

    B.0~216-1

    C.-215~215

    D.0~28-1

  6. 在Java中, 表示换页符的转义字符是( B )

    A. \ n

    B. \ f

    C. ‘f’

    D. \ dd

  7. 若定义有变量float a, b=6.5F,则下列说法正确的是( B )。

    A.变量a, b均被初始化为6.5

    B.变量a没有被初始化,b被初始化为6.5

    C.变量a, b均未被初始化

    D.变量b没有被初始化,a被初始化为6.5

  8. 下列关于boolean类型的叙述中,正确的是( D )

    A.可以将boolean类型的数值转换为int 类型的数值

    B.可以将boolean类型的数值转换为字符串

    C.可以将boolean类型的数值转换为char类型的数值

    D.不能将boolean类型的数值转换为其他基本数据类型

  9. 下列选项中属于字符串常量的是( B )。

    A. ‘abc’

    B. “abc”

    C. abc

    D. (abc)

  10. 创建了Scanner对象scan, 以下能正确获取输人数据的是( C )。

    A. int s= scan. nextFloat( ) ;

    B. float s= scan. nextDouble( ) ;

    C. float s= scan. nextInt( ) ;

    D. String s=scan. nextInt( );

  11. 以下( A )是合法的变量名。

    A. de2 $_

    B. df-5

    C. long

    D.3x

  12. 以下能够实现正确输出的是( C )。

    A. System. out. println( Hello world!);

    B. System. Out. println(“Hello world!");

    C. System. out. println(“Hello world!");

    D. system. out. println( “Hello world!");

二、填空题

  1. Java中的分隔符有 注释符空白符普通分隔符 三种。

  2. 布尔型常量只有两个值: truefalse ,表示“真”和“假”。

  3. 单行注释以 // 开始,表示注释一行。多行注释以 / 开始,到 / 结束,中间可写一到多行。

  4. Java中的数据类型分为两种,分别是 基本数据类型引用数据类型

  5. 在Java中,byte类型数据占 1 字节,short 类型数据占 2 字节,int类型数据

4 字节,long 类型数据占 8 字节。

  1. 要输出" \ “,输出语句为 System. out. println(“\”);

三、操作题

  1. 输出会员管理菜单。菜单项有: 1. 显示会员信息; 2. 添加会员信息; 3. 修改会员信息; 4. 查询会员信息。
public class P41_1 {
     
  
    public static void main(String[] args) {
     
        Menu();  
    }  
  
    public static void Menu() {
     
        System.out.println("会员管理菜单:");  
        System.out.println("1. 显示会员信息");  
        System.out.println("2. 添加会员信息");  
        System.out.println("3. 修改会员信息");  
        System.out.println("4. 查询会员信息");  
        System.out.print("请选择操作(输入数字1-4):");  
    }  
}
  1. 编写一个Java程序,要求从键盘输入个人信息,并显示出来。个人信息包括:姓名、年龄、性别、身高、体重、住址、电话。
import java.util.Scanner;  
  
public class P41_2 {
     
  
    public static void main(String[] args) {
     
        Scanner scanner = new Scanner(System.in);  
  
        System.out.print("请输入您的姓名:");  
        String name = scanner.nextLine();  
  
        System.out.print("请输入您的年龄:");  
        int age = scanner.nextInt();  
        scanner.nextLine(); // 消耗掉输入年龄后的换行符  
  
        System.out.print("请输入您的性别(男/女):");  
        String gender = scanner.nextLine();  
  
        System.out.print("请输入您的身高(厘米):");  
        double height = scanner.nextDouble();  
        scanner.nextLine(); // 消耗掉输入身高后的换行符  
  
        System.out.print("请输入您的体重(千克):");  
        double weight = scanner.nextDouble();  
        scanner.nextLine(); // 消耗掉输入体重后的换行符  
  
        System.out.print("请输入您的住址:");  
        String address = scanner.nextLine();  
  
        System.out.print("请输入您的电话:");  
        String phone = scanner.nextLine();  
  
        System.out.println("您输入的信息如下:");  
        System.out.println("姓名:" + name + "  年龄:" + age + "  性别:" + gender + "  身高:" + height + "厘米" + "   体重:" + weight + "千克" + "  住址:" + address + "   电话:" + phone);  
    }  
}

第三章 运算符

一、选择

  1. 若有定义int a=1, b=2;那么表达式(a++)+(++b)的值是( B )。

    A.3

    B.4

    C.5

    D.6

  2. 假定有变量定义: int k=7, x=12;那么能使值为3的表达式是( D )。

    A. x%=(k%=5)

    B. x%=(k-k%5)

    C. x%=k-k%5

    D. (x%=k)-(k%=5)

  3. 设x=1,y=2,z= 3,则表达式y+=z–/++x的值是( A )。

    A. 3

    B. 3.5

    C. 4

    D. 5

  4. 下列哪个赋值语句是正确的? ( D )

    A. char a= ‘12’;

    B. int a= 12.0;

    C. int a=12. 0f;

    D. int a=(int)12.0;

  5. 下列选项中,Java 语句错误的是( A )。

    A. float a=3. 0;

    B. double a=3.5;

    C. char a= 20;

    D. byte= 15;

  6. 下列代码的执行结果是( D )。

Public class Test{
    
   Public static void main (String args[ ]){
   
       System. out. println(5/2);
   }
}

​ A.2.5

​ B.2.0

​ C.2.50

D.2

  1. 执行下列程序段后,b,x,y的值正确的是( A )。

    int x=6,y=8;
    boolean b;
    b=x<y ||++x==--y;
    

    A. true,6,8;

    B. false,7,7

    C. true,7, 7

    D. false,6,8

  2. 下面表达式的值分别是( C )

    (1)8/3 (2)8%3 (3)8.0/3

    A. 2.666667 2 2.666667

    B. 2 2 2

    C. 2 2 2.666667

    D. 2.6666672 2 2

  3. 定义整型变量int n=456,表达式的值为5的是( B )。

    A. n/10/10

    B. (n-n/100 * 100)/10

    C. n%10

    D. n/10

  4. 下列语句中,( D )正确完成了整型变量的声明和赋值。

    A.int a, a=0

    B. a=0;

    C. int a=5. 6

    D. int a1=0, a2=1

  5. 以下为boolean类型变量赋值的正确方式是( B )

    A. boolean a=”true”

    B. boolean a=(9>10)

    C. boolean a=1

    D. boolean a="真”

  6. 分析下面代码,正确的选项是( A )

    double a=9;
    a++;
    int b=a/2;
    

    A. 编译错误

    B. 4.5

    C. 4

    D. 5

二、填空题

  1. 设x=2,则表达式(x++)/3的值是 0

  2. 如果要得到表达式20/3的浮点结果,表达式应改为 20.0/3.0

  3. Java中的显式类型转换是 强制类型转换 ,隐式类型转换是 低类型转换向高类型

  4. 设a为double 类型变量,b为char类型变量,c为long类型变量,则表达式b+a/c的值为 double 类型。

  5. 设int x=16, y=5,则x/y的值为 3 ,x%y的值为 1

  6. 表达式(10+2*6)/4%3的值是 2

三、操作题

  1. 将给定小写字母转换成大写字母。

    public class P53_1 {
           
        public static void main(String[] args) {
           
            String str = "hello, world!";  
            String changStr = chang(str);  
            System.out.println(changStr); // 输出: HELLO, WORLD!  
        }  
      
        public static String chang(String input) {
           
            char[] chars = input.toCharArray();  
            for (int i = 0; i < chars.length; i++) {
           
                char c = chars[i];  
                // 如果字符是小写字母(ASCII码在97-122之间)  
                if (c >= 'a' && c <= 'z') {
           
                    // 转换为大写字母(ASCII码减去32)  
                    chars[i] = (char) (c - ('a' - 'A'));  
                }  
            }        return new String(chars);  
        }  
    }
    
  2. 将给定的华氏温度转换成摄氏温度。转换公式为:摄氏度=5*(华氏度-32)/9。

    public class P53_2 {
           
        public static void main(String[] args) {
           
            double fahrenheit = 98.6; // 给定的华氏温度  
            double celsius = fahrenheitToCelsius(fahrenheit); // 转换为摄氏温度  
      
            // 打印结果  
            System.out.println(fahrenheit + "°F 对应的摄氏温度是 " + celsius + "°C");  
        }  
      
        // 转换函数:将华氏温度转换为摄氏温度  
        public static double fahrenheitToCelsius(double fahrenheit) {
           
            return 5 * (fahrenheit - 32) / 9;  
        }  
    }
    
  3. 任意给定一个三位数,请输出该数的个位、十位和百位数。

    public class P53_3 {
           
        public static void main(String[] args) {
           
            int number = 123;  
            int hundreds = number / 100;  
            int tens = (number % 100) / 10;  
            int ones = number % 10;  
            System.out.println("百位数: " + hundreds);  
            System.out.println("十位数: " + tens);  
            System.out.println("个位数: " + ones);  
        }  
    }
    

第四章 控制语句

一、 选择题

  1. Java中关于if选择结构描述错误的是( C )。

A. if选择结构是根据条件判断之后再做处理的一种语法结构

B.关键字if后小括号里必须是一个条件表达式,表达式的值必须为布尔类型

C. if后小括号里表达式的值为false时,程序需要执行大括号里的语句

D. if语句可以和else 一起使用

  1. 下面哪些Java语句会导致无限循环? ( B )

(1)while (true) i = 0;

(2)while (false) i = 1;

(3)while (! false) i = 0;

​ A.仅仅(3)

B. (1)和(3)

​ C.仅仅(1)

​ D.(1)、(2)和(3)

  1. 下列关于多重if选择结构的说法正确的是( B )。

    A.多个else if块之间的顺序可以改变,改变之后对程序的执行结果没有影响

    B.多个else if块之间的顺序可以改变,改变之后可能对程序的执行结果有影响

    C.多个else if块之间的顺序不可以改变,改变后程序编译不通过

    D.多个else if块之间的顺序不可以改变,改变后程序编译可以通过

  2. 下列语句序列执行后,k的值是( D)。

    int x=3,y=5,k=0;
    switch(x%y+3) {
         
     case 0 : k=x*y; break;
     case 6 : k=x/y; break;
     case 12 : k=x-y; break;
     default : k=x*y-x; break;
    }
    

    A.12

    B.-2

    C.15

    D.0

  3. 下列语句序列执行后,i的值是( A )

    int i=0;
    
    do {
         i+=3;}
    
    while(i<10);
    

    A.12

    B.9

    C.6

    D.3

  4. 一个循环一般应包括哪几部分内容(A)?

    A.以下答案都包括

    B.循环体部分

    C.初始化部分

    D.迭代部分和终止部分

  5. 若a的值为3,下列程序段被执行后,c的值是©。

    int c=1;
    if (a>0)
     if(a>3)
      c=2;
     else c=3;
    else c=4;
    

    A.1

    B.2

    C.3

    D.4

  6. 以下程序段的输出结果为©

    int j=2;
    switch(j){
         
     case 2 : System. out. print ("two. ");
     case 2+1 : System. out. println ("three. "); break;
    default : System. out. println ("value is "+j); 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值