美文网首页
《Java语言程序设计(基础篇)》第一章复习题和编程练习题

《Java语言程序设计(基础篇)》第一章复习题和编程练习题

作者: 夜夜月 | 来源:发表于2018-08-24 14:21 被阅读1608次

    复习题

    1.1 什么是硬件和软件?

    硬件包括计算机中可以看得见的物理部分,软件是看不见的指令,这些指令可以控制硬件并且使得硬件完成特定的任务。

    1.2 列举计算机的5个主要硬件组件。

    cpu,内存,硬盘,显示器,键盘,鼠标等等。

    1.3 缩写“CPU”代表什么含义?

    中央处理器,计算机的大脑。

    1.4 衡量CPU速度的单位是什么?

    赫兹。

    1.5 什么是比特?什么是字节?

    • 比特(bit)是二进制数,0和1。
    • 字节(byte)是计算机中最小的存储单元,每个字节由8个比特构成。

    1.6 内存是用来做什么的?RAM代表什么?为什么内存称为RAM?

    • 内存由一个有序的字节序列组成,用于存储程序及程序需要的数据。
    • RAM是随机访问存储器的缩写(Random-Access Memory)。
    • 因为内存可以按任意顺序存取字节,所以被称为RAM。

    1.7 用于衡量内存大小的单位是什么?

    千字节。

    1.8 用户衡量磁盘大小的单位是什么?

    兆字节。

    1.9 内存和永久存储设备的主要不同是什么?

    断电后是否能继续保存数据。内存不能,永久存储设备能。

    1.10 CPU能理解什么语言。

    机器语言。

    1.11 什么是汇编语言?

    汇编语言能用短的描述性单词来表示每一条机器语言指令,是一种低级语言。

    1.12 什么是汇编器?

    汇编器可以将汇编语言转换成机器语言。

    1.13 什么是高级编程语言?

    很像英语,易于学习和使用的编程语言称为高级编程语言。

    1.14 什么是源程序?

    使用高级编程语言编写的程序称为源程序。

    1.15 什么是解释器?

    解释器会逐条读取源代码中的语言,并立刻翻译成机器代码或者虚拟机器代码,然后立刻运行。

    1.16 什么是编译器?

    编译器是先将整个源代码翻译为机器代码文件,然后再执行该机器代码文件。

    1.17 解释语言和编译语言之间的区别是什么?

    • 解释语言是在运行的时候将程序翻译成机器语言,效率比较低,但是夸平台性好,比如java和python。
    • 编译语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言就不再进行翻译了,效率高,比如C和C++。

    1.18 什么是操作系统?列出一些流行的操作系统。

    • 操作系统(Operating System, OS)是运行在计算机上最重要的程序,它可以管理和控制计算机的活动。
    • 比较流行的有windows,linux,macos

    1.19 操作系统的主要任务是什么?

    • 控制和监控系统的活动
    • 分配和调配系统资源
    • 调度操作

    1.20 什么是多道程序设计、多线程以及多处理。

    • 多道程序设计允许多个程序通过共享CPU同时运行
    • 多线程运行单个程序同时执行多个任务
    • 多处理(多进程)也成为并行处理(parallel processing),是指使用两个或多个处理器共同并行执行子任务,然后将子任务的结果合并以得到整个任务的结果。

    1.21 Java是由谁发明的?哪个公司现在拥有Java?

    • Java是由James Grosling在Sun公司领导的小组开发的。
    • Oracle拥有Java。

    1.22 什么是Java applet?

    能在Web浏览器中运行的Java程序称为Java applet。

    1.23 安卓使用的是什么编程语言?

    java,kotlin

    1.24 什么是Java语言规范?

    Java语言规范(Java language specification)是对语言的技术定义,包括Java程序设计语言的语法和语义。

    1.25 JDK代表什么?

    Java开发工具包(Java Development Toolkit),是由一套独立程序构成的集合,每个程序都是从命令行调用的,用于开发和测试java程序。

    1.26 IDE代表什么?

    集成开发环境(Integrated Development Environment)。

    1.27 类似NetBeans和Eclipse的工具是和Java是不同的语言吗?或者它们是Java的方言或者扩充?

    • 不是
    • 这些是方便进行java开发的开发工具,IDE。

    1.28 什么是关键字?列举一些java关键字。

    • java本身有特殊含义的单词,不能再程序中用于其他目的。
    • class, static, void

    1.29 java是大小写敏感的吗?java关键字是大写还是小写?

    • 大小写敏感
    • 小写

    1.30 什么是注释? 编译器会忽略注释吗?如何标识一行注释以及一段注释?

    • 主要用于说明程序是干什么的
    • 会忽略
    • // 以及 /* */

    1.31 在控制台显示一个字符串的语句是什么?

    System.out.println()

    1.32 给出以下代码的输出

    public class Test {
        public static void main(String[] args) {
            System.out.println("3.5 * 4 / 2 - 2.5 is ");
            System.out.println(3.5 * 4 / 2 - 2.5);
        }
    }
    

    输出:
    3.5 * 4 / 2 - 2.5 is
    4.5

    1.33 什么是java源程序的文件后缀名,什么是java字节码文件后缀?

    • .java
    • .class

    1.34 java编译器的输入和输出是什么?

    • 源代码
    • 字节码

    1.35 编译java程序的命令是什么?

    javac ****.java

    1.36 运行java程序的命令是什么?

    java ****

    1.37 什么是JVM?

    java虚拟机,可以解释java字节码的程序

    1.38 java可以运行在任何机器上吗?在一台计算机上运行java需要什么?

    • 可以,只要装有java虚拟机
    • 需要java虚拟机

    1.39 如果运行程序的时候出现NoClassDefFoundError错误,是什么原因导致了这个错误?

    需要执行的类名不存在

    1.40 如果运行程序的时候出现NoSuchMethodError错误,是什么原因导致了这个错误?

    没有main方法或者敲错了main方法

    1.41 使用行尾括号风格,将下面的程序根据程序设计风格和文档指南进行重新格式化。

    public class Test
    {
        // Main method
        public static void main(String[] args) {
        /** Display output */
        System.out.println("Welcome to Java");
        }
    }
    
    /** Display output */
    public class Test {
        // Main method
        public static void main(String[] args) {
            System.out.println("Welcome to Java");
        }
    }
    

    1.42 什么是语法错误(编译错误)、运行时错误以及逻辑错误?

    • 在编译过程中出现的错误称为语法错误(syntax error)或编译错误(compile error)。
    • 引起程序非正常中断的错误叫运行时错误(runtime error)。
    • 当程序没有按预期的方式执行时就会产生逻辑错误(logic error)。

    1.43 给出语法错误、运行时错误以及逻辑错误的示例。

    • 少关键字
    • 1除以0的场景
    • 小数点计算中给的都是整形数字导致计算结果不正确

    1.44 如果忘记为字符串加引号了,将产生哪类错误?

    语法错误

    1.45 如果程序需要读取整数,而用户输入了字符串,运行该程序的时候将产生什么错误?这是哪类错误?

    • 类型不符错误。
    • 运行时错误。

    1.46 假设编写一个计算矩形周长的程序,但是错误地携程了计算矩形面积的程序。这属于哪类错误?

    逻辑错误。

    1.47 指出和修改下面代码中的错误:

    public class Welcome {
        public void Main(String[] args) {
            System.out.println("Welcome to Java!);
        }
    }
    

    错误有缺少关键字static,main首字母不应该大写,缺少双引号。
    修改后:

    public class Welcome {
        public static void main(String[] args) {
            System.out.println("Welcome to Java!");
        }
    }
    

    编程练习题

    分为容易(没有星号)、适中(一颗星)、难(两颗星)以及具有挑战性(三颗星)

    1.1 (显示三条消息)编写程序,显示Welcome to Java、Welcome to Computer Science 和 Programming is fun。

    package com.levelksk.chapter_1.training;
    public class Training1_1 {
        public static void main(String[] args) {
            System.out.println("Welcome to Java");
            System.out.println("Welcome to Computer Science");
            System.out.println("Programming is fun");
        }
    }
    

    1.2 (显示五条信息)编写程序,显示Welcome to Java 五次。

    package com.levelksk.chapter_1.training;
    public class Training1_2 {
        public static void main(String[] args) {
            System.out.println("Welcome to Java");
            System.out.println("Welcome to Java");
            System.out.println("Welcome to Java");
            System.out.println("Welcome to Java");
            System.out.println("Welcome to Java");
        }
    }
    

    *1.3 (显示图案)编写一个程序,显示下面的图案:

         J     A     V     V     A
         J    A A     V   V     A A
    J    J   AAAAA     V V     AAAAA
     J  J   A     A     V     A     A
    
    package com.levelksk.chapter_1.training;
    public class Training1_3 {
        public static void main(String[] args) {
            System.out.println("    J    A    V     V    A");
            System.out.println("    J   A A    V   V    A A");
            System.out.println("J   J  AAAAA    V V    AAAAA");
            System.out.println(" J J  A     A    V    A     A");
        }
    }
    

    1.4 (打印表格)编写程序,显示以下表格:

    a     a^2    a^3
    1     1      1
    2     4      4
    3     9      27
    4     16     64
    
    package com.levelksk.chapter_1.training;
    public class Training1_4 {
        public static void main(String[] args) {
            System.out.println("a     a^2   a^3");
            System.out.println(1 + "     " + (1 * 1) + "     " + (1 * 1 * 1));
            System.out.println(2 + "     " + (2 * 2) + "     " + (2 * 2 * 2));
            System.out.println(3 + "     " + (3 * 3) + "     " + (3 * 3 * 3));
            System.out.println(4 + "     " + (4 * 4) + "     " + (4 * 4 * 4));
        }
    }
    

    1.5 (计算表达式)编写程序,显示以下公式的结果。

    (9.5 x 4.5 - 2.5 x 3)÷(45.5 - 3.5)

    package com.levelksk.chapter_1.training;
    
    public class Training1_5 {
        public static void main(String[] args) {
            System.out.println((9.5 * 4.5 - 2.5 * 3) / (45.5 - 3.5));
        }
    }
    
    0.8392857142857143
    

    1.6 (数列求和)编写程序,显示1+2+3+4+5+6+7+8+9的结果。

    package com.levelksk.chapter_1.training;
    
    public class Training1_6 {
        public static void main(String[] args) {
            System.out.println(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9);
        }
    }
    
    45
    

    1.7 (近似求p)可以使用以下公式计算p:π=4(1-1/3+1/5-1/7+1/9-1/11+...),编写程序,显示4(1-1/3+1/5-1/7+1/9-1/11)和4x(1-1/3+1/5-1/7+1/9-1/11+1/13)的结果。在程序中用1.0代替1。

    package com.levelksk.chapter_1.training;
    
    public class Training1_7 {
        public static void main(String[] args) {
            System.out.println(4 * (1.0 - 1.0 / 3 + 1.0 / 5 - 1.0 / 7 + 1.0 / 9 - 1.0 / 11));
            System.out.println(4 * (1.0 - 1.0 / 3 + 1.0 / 5 - 1.0 / 7 + 1.0 / 9 - 1.0 / 11 + 1.0 / 13));
        }
    }
    
    2.9760461760461765
    3.2837384837384844
    

    1.8 (圆的面积和周长)编写程序,使用以下公式计算并显示半径为5.5的圆的面积和周长。

    • 周长 = 2 x 半径 x π
    • 面积 = 半径 x 半径 x π
    package com.levelksk.chapter_1.training;
    
    public class Training1_8 {
        public static void main(String[] args) {
            System.out.println("周长 = " + (2 * 5.5 * 3.14));
            System.out.println("面积 = " + (5.5 * 5.5 * 3.14));
        }
    }
    
    周长 = 34.54
    面积 = 94.985
    

    1.9 (矩形的面积和周长)编写程序,使用以下公式计算并显示宽度为4.5,高度为7.9的矩形的面积和周长。

    • 面积 = 宽 x 高
    package com.levelksk.chapter_1.training;
    
    public class Training1_9 {
        public static void main(String[] args) {
            System.out.println("面积 = " + (4.5 * 7.9));
            System.out.println("周长 = " + (4.5 * 2 + 7.9 * 2));
        }
    }
    
    面积 = 35.550000000000004
    周长 = 24.8
    

    1.10 (以英里计的平均速度)假设一个跑步者45分钟30秒内跑了14公里。便携仪个程序显示以每小时多少英里为单位的平均速度值。(注意,1英里等于1.6公里)。

    package com.levelksk.chapter_1.training;
    
    public class Training1_10 {
        public static void main(String[] args) {
            System.out.println("平均速度值为" + (14.0 / 1.6) / ((45.0 * 60 + 30) / (60 * 60)) + "英里每小时");
        }
    }
    
    平均速度值为11.538461538461538英里每小时
    

    *1.11 (人口估算)美国人口调查局基于以下假设进行人口估算:

    • 每7秒有一个人诞生
    • 每13秒有一个人死亡
    • 每45秒有一个移民迁入

    编写一个程序,显示未来5年的每年的人口数。假设当前的人口是312032486,每年有365天。提示:java中,两个证书相除,结果还是整数,小树部分被去掉。例如,5/4等于1(而不是1.25),10/4等于2(而不是2.5)。如果想得到有小树部分的精确结果,进行处罚运算的两个值之一必须是一个具有小数点的数值。例如,5.0/4等于1.25,10/4.0等于2.5。

    package com.levelksk.chapter_1.training;
    
    public class Training1_11 {
        public static void main(String[] args) {
            System.out.println(312032486 + (5 * 365 * 24 * 60 * 60 / 7) - (5 * 365 * 24 * 60 * 60 / 13) + (5 * 365 * 24 * 60 * 60 / 45));
        }
    }
    
    325932970
    

    1.12 (以公里计的平均速度)假设一个跑步者1小时40分钟35秒内跑了24英里。编写一个程序显示以每小时多少公里为单位的平均速度值。(注意,1英里等于1.6公里)。

    package com.levelksk.chapter_1.training;
    
    public class Training1_12 {
        public static void main(String[] args) {
            System.out.println("平均速度值为" + (24 * 1.6) * (60 * 60) / (60 * 60 + 40 * 60 + 35) + "公里每小时");
        }
    }
    
    平均速度值为22.906379453189732公里每小时
    

    *1.13 (代数:求解2 x 2线性方程)可以使用Cramer规则解下面的2 x 2线性方程组:

    • ax + by =e
    • cx + dy = f
    • x = (ed-bf)/(ad-bc)
    • y = (af-ef)/(ad-bc)

    编写程序,求解以下方程组并显示x和y的值。

    • 3.4x + 50.2y = 44.5
    • 21.x + 0.55y = 5.9
    package com.levelksk.chapter_1.training;
    
    public class Training1_13 {
        public static void main(String[] args) {
            double a = 3.4;
            double b = 50.2;
            double e = 44.5;
            double c = 2.1;
            double d = 0.55;
            double f = 5.9;
            System.out.println("x = " + (e * d - b * f) / (a * d - b * c));
            System.out.println("y = " + (a * f - e * c) / (a * d - b * c));
        }
    }
    
    x = 2.623901496861419
    y = 0.7087397392563978
    

    相关文章

      网友评论

          本文标题:《Java语言程序设计(基础篇)》第一章复习题和编程练习题

          本文链接:https://www.haomeiwen.com/subject/mfkmiftx.html