目录
- **第2章 习题**
- 1.上机运行下列程序,输出的结果是什么?
- 2.编写程序计算圆柱的体积。读入半径和高,用下列公式计算体积:
- 3. 编写程序,读入一个整数(整数大小在10到1000之间),并将其各位数字之和赋给一个变量,并输出该变量。如,整数932,各位数字之和为14。
- 4. 编写程序,读入double型数,并检验该数是否在1到100之间。如果输入5,则输出如下:
- 5.解释关键字的概念。关键字与标识符有什么区别?
- 6.下列哪些是Java的关键字?
- 7. 分别找出byte、short、int、long、float和double的最大值和最小值,其中哪个数据类型要求的存储空间最小?
- 7. 表达式27/4的结果是什么?想得到浮点数的结果,应该怎样重写表达式?
- 9.如何用Java书写下述算术表达式?
- 10. 如何将十进制数字字符串转换成为folat值?如何将整型字符串转换为int值?
- 10. 字符型字面常量有哪两种表示方式?举例说明。
第2章 习题
1.上机运行下列程序,输出的结果是什么?
public class Test{
public static void main(String args[]){
for (int I=1;I<20;I++) System.out.println((char)I);
System.out.println(I/5);
}
}
答:由于变量I的生命周期在for循环内,因此在执行System.out.println(I/5)时,I没有被声明,编译器报错
2.编写程序计算圆柱的体积。读入半径和高,用下列公式计算体积:
面积=半径*半径*3.14,
体积=面积*高。
import java.util.*;
public class u2{
public static void main(String arg[]){
//(题目2)体积
//volume();
//(题目3)输出各位数字之和
//u2p3();
//(题目4)判断数字在哪个范围
u2p4();
}
//(题目2)体积
private static void volume(){
final double PI = 3.14;
double h, r, s, v; //高、半径、面积、体积
Scanner sc = new Scanner(System.in);
System.out.println("请输入圆柱体的高:");
h = sc.nextDouble();
System.out.println("请输入圆柱体的半径:");
r = sc.nextDouble();
//校验数据
if(h <= 0 || r <= 0){
System.out.println("圆柱体的高、半径必须大于0");
return;
}
s = r * r * PI;
v = s * h;
System.out.println("圆柱体的低面积:" + s + "\n圆柱体的体积:" + v);
}
//题目(3)输出各位数字之和
private static void u2p3(){
int num, sum = 0, i;
Scanner sc = new Scanner(System.in);
System.out.println("请输入数字:");
num = sc.nextInt();
/*
//方法一:
if(num < 1000){
while (num > 0){
i = num % 10; //取最后一位
num = num / 10; //移位
sum += i;
}
}
*/
//方法二:
if(num >= 0 && num <= 1000){
int a = num % 10; //个位
int b = num / 10 % 10; //十位
int c = num / 100 % 10; //百位
int d = num / 1000 % 10; //千位
sum = a + b + c + d;
}else{
System.out.println("数值范围不正确");
}
System.out.println("各位数字之和为:" + sum);
}
//(题目4)判断数字在哪个范围
private static void u2p4(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入数值后进行判断:");
double num = sc.nextDouble();
if(num >= 1){
if (num <= 100){
System.out.println("Ten number " + num + "betwwwn 1 and 100");
}
else if (num < 1000){
System.out.println("Ten number " + num + "betwwwn 1 and 1000");
}
}
}
}
3. 编写程序,读入一个整数(整数大小在10到1000之间),并将其各位数字之和赋给一个变量,并输出该变量。如,整数932,各位数字之和为14。
(提示:利用%运算符分解数字,并用/运算符去除分解出来的数字。如932%10=2,932/10=93.
代码见:Unit_2 u2p3
4. 编写程序,读入double型数,并检验该数是否在1到100之间。如果输入5,则输出如下:
The number 5 between 1 and 100 is true.
若输入120,则输出如下:
The number 120 between 1 and 1000 is false.
代码见:Unit_2 u2p4
5.解释关键字的概念。关键字与标识符有什么区别?
(1)关键字是被Java语言赋予特殊含义,具有专门用途的单词,比如class,public,static,void均为Java已经预设好的。
(2)标识符就是一个名字,所有的名字都统称为标识符。Java中经常要定义类、方法、 变量,在定义他们时总要给它们起名字,这些名字就是标识符。
6.下列哪些是Java的关键字?
class,public,int,x,y,radius,import ,final
class,public,int,import ,final
7. 分别找出byte、short、int、long、float和double的最大值和最小值,其中哪个数据类型要求的存储空间最小?
byte 占1个字节8位, 取值范围为**-2^7 ~~ 2^7-1**;
short 占2个字节16位,取值范围为**-2^15 ~~ 2^15-1**;
int 占4个字节32位,取值范围为**-2^31 ~~ 2^31-1**;
long 占8个字节64位,取值范围为**-2^63 ~~ 2^63-1**;
float 占4个字节32位,取值范围为3.402823e+38 **~~** 1.401298e-45;
double 占8个字节64位,取值范围为1.797693e+308 **~~** 4.9000000e-324;
数据类型byte要求的空间最小;
7. 表达式27/4的结果是什么?想得到浮点数的结果,应该怎样重写表达式?
(1)结果是6
(2)(double)27/4
9.如何用Java书写下述算术表达式?
4.0/(3\*(r+34))-9\*(a+b\*c)+(3+d\*(2+a))/(a+b\*d)
10. 如何将十进制数字字符串转换成为folat值?如何将整型字符串转换为int值?
1) 数字字符串转换为float
Float.parseFloat(String); //String待转换的字符串
(2)字符串转换为int
Integer.parseInt(String); //String待转换的字符串
10. 字符型字面常量有哪两种表示方式?举例说明。
1) 用单引号括起来的一个字符
如'哎'、 'A'、'x'、 '='、'5'、'Y' 等都字符常量
1) 用十六进制的Unicode编码表示
例如 '\u0042','\u0047'等