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

复习题

2.1 指出并修改以下代码中的错误:

public class Test {

public void main(string[] args) {

double i = 50.0;

double k = i + 50.0;

double j = k + 1;

System.out.println("j is " + j + " and

k is " + k);

}

}

缺少关键字 static,String首字符应该大写,双引号字符串无法在代码中换行。修正如下:

public class Test {

public static void main(String[] args) {

double i = 50.0;

double k = i + 50.0;

double j = k + 1;

System.out.println("j is " + j + " and k is " + k);

}

}

2.2 如何编写一条语句,让那个用户从键盘输入一个双精度值?在执行下面代码的时候,如果你输入5a,将发生什么?

double radius = input.nextDouble();

Scanner input = new Scanner(System.in)

double d = input.nextDouble()

输入5a将报错,类型有误

2.3 下面两个import语句之间有什么执行的不同吗?

import java.util.Scanner;

import java.util.*;

前者只单独引入了java.util下面的Scanner类。

后者将java.util下的所有类都进行了引入。

2.4 以下标识符哪些是合法的?哪些是Java的关键字?

miles(合法), Test(合法), a++(不合法), --a(不合法), 4#R(不合法), $4(合法), #44(不合法), apps(合法)

class(关键字), public (关键字),int(关键字), x(合法), y(合法), radius(合法)

2.5 请指出并修改下面代码中的错误:

public class Test {

public static void main(String[] args) {

int i = k + 2;

System.out.println(i);

}

}

k没有进行声明,没有初始值,修正如下

public class Test {

public static void main(String[] args) {

int k = 1;

int i = k + 2;

System.out.println(i);

}

}

2.6 请指出并修改下面代码中的错误:

public class Test {

public static void main(String[] args) {

int i = j = k = 2;

System.out.println(i + " " + j + " " + k);

}

}

j和k没有进行声明,修正如下:

public class Test {

public static void main(String[] args) {

int i , j , k;

i = j = k = 2;

System.out.println(i + " " + j + " " + k);

}

}

2.7 使用常量的好处是什么?声明一个int类型的常量SIZE,并且值为20。

好处如下:

不必重复输入同一个值

如果必须修改常量值,只需在源代码中的一个地方做改动

给常量赋一个描述性名字会提高程序易读性

final int SIZE = 20;

2.8 类名、方法名、常量和变量的命名习惯是什么?按照Java的命名习惯,以下哪些项可以作为常量、方法、变量或者一个类?

MAX_VALUE(常量), Test(类), read(变量), readDouble(方法)

2.9 将以下算法翻译成Java代码。

第一步:声明一个双精度型变量miles,初始值为100.

第二步:声明一个双精度型常量KILOMETERS_PER_MILE,初始值为1.609。

第三步:声明一个双精度型变量kilometers,将miles和KILOMETERS_PER_MILE相乘,并且将结果赋值给kilometers。

第四步:在控制台显示kilometers。

在第四步之后,kilometers是多少?

public class ComputeAreaWithConstant {

public static void main(String[] args) {

double miles = 100.0;

final double KILOMETERS_PER_MILE = 1.609;

double kilometers = miles * KILOMETERS_PER_MILE;

System.out.println(kilometers);

}

}

显示160.9

2.10 找到最大和最小的byte, short, int ,long , float 以及double。这些数据类型中,哪个需要的内存最小?

最小的byte: -2^7

最大的byte: 2^7 - 1

最小的short: -2^15

最大的short: 2^15 - 1

最小的int: -2^31

最大的int: 2^31 - 1

最小的long: -2^63

最大的long: 2^63 - 1

最小的float: -3.4028235E+38

最大的float: 3.4028235E+38

最小的double:-1.7976931348623157E+308

最大的double: 1.7976931348623157E+308

byte内存最小。

2.11 给出以下求余计算的结果。

56 % 6 = 2

78 % -4 = 2

-34 % 5 = -4

-34 % -5 = -4

5 % 1 = 1

1 % 5 = 0

假设今天是周二,100天后将是周几?

(2 + 100) % 7 = 4

周四

2.13 25/4的结果是多少? 如果你希望得到浮点数结果,如何重写表达式。

6

25.0 / 4

2.14 给出以下代码的结果:

System.out.println(2 * ( 5 / 2 + 5 / 2));

System.out.println(2 * 5 / 2 + 5 / 2);

System.out.println(2 * ( 5 / 2));

System.out.println(2 * 5 / 2);

8

7

4

5

2.15 下面的语句正确吗?如果正确的话,给出输出。

System.out.println("25 / 4 is " + 25 / 4);

System.out.println("25 / 4.0 is " + 25 / 4.0);

System.out.println(“3 * 2 / 4 is " + 3 * 2 / 4);

System.out.println("3.0 * 2 / 4 is " + 3.0 * 2 / 4);

25 / 4 is 6

25 / 4.0 is 6.25

3 * 2 / 4 is 1

3.0 * 2 / 4 is 1.5

2.16 写一个显示2^3.5的计算结果的语句。

a = Math.pow(2, 3.5)

2.17 假设m和r是整数。编写一个java表达式,使得mr^2可以得到一个浮点数类型的结果。

double result = m * r * r;

2.18 在float和doubel类型的变量中保存了多少个精确位?

float保存了7到8位

double保存了15到17位

2.19 以下哪些是正确的浮点数类型直接量?

12.3(是), 12.3e+2(是), 23.4e-2(是), -334.4(是), 20.5(是), 39F(不是), 40D(不是)

2.20 以下哪些和52.534是等价的?

5.2534e+1, 0.52534e+2, 525.34e-1, 5.2534e+0

前三个等价,最后一个不等价

2.21 以下哪些是正确的直接量?

5_2534e+1, 2534, 5_2, 5_

前三个正确,最后一

  • 11
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值