ch02:Java语法基础

第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'等
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值