JAVA程序设计基础(第六版)第三章课后习题

1.java语言定义了哪几种基本数据类型?

Java语言的数据类型分为两大类:(1)基本数据类型

整型:byte,short,int,long

浮点型:float,double

布尔型:Boolean

字符型:char

(2)引用数据类型

2.表示整数类型数据的关键字有哪几个?他们各占用几个字节?

8个;

数据类型

关键字

占用字节数

布尔型

Boolean

1

字节型

byte

1

短整型

short

2

整型

int

4

长整型

long

8

单精度浮点型

float

4

双精度浮点型

double

8

字符型

char

2

3.单精度浮点型(float)和双精度浮点型(double)的区别是什么?

数据类型

关键字

占用字节数

默认数值

取值范围

单精度浮点型

float

4

0.0F

负数范围:—3.4028235E+38~—1.4E-45

正数范围:

—1.4E-45~3.4028235E+38

双精度浮点型

double

8

0.0D

负数范围:—1.7976931348623157E+308~—4.9E-324

正数范围:4.9E-324~1.7976931348623157E+308

如上表所示

即他们在内存中占有的字节数不同,有效数字位不同,所表示数的范围不同,同时他们在程序中处理速度不同。

4.字符型常量与字符串常量的主要区别?

(1)形式上: 字符常量是单引号引起的一个字符,字符串常量是双引号引起的若干个字符;

(2)含义上: 字符常量相当于一个整型值( ASCII 值),可以参加表达式运算;字符串常量代表一个地址值(该字符串在内存中存放位置,相当于对象;

(3)占内存大小:字符常量只占2个字节;字符串常量占若干个字节(至少一个字符结束标志) (注意: char 在Java中占两个字节)。

5.简述java语言对定义标识符的规定?

类和接口名的定义规则:每个字的首字母大写,含有大小写。例如,驼峰法:MyClass,HelloWorld,Time等。

方法名62616964757a686964616fe59b9ee7ad9431333366306433定义规则:首字符小写,其余的首字母大写,含大小写。尽量少用下划线。例如,myName,setTime等。这种命名方法叫做驼峰式命名。

常量名定义规则:基本数据类型的常量名使用全部大写字母,字与字之间用下划线分隔。对象常量可大小混写。例如,SIZE_NAME。

变量名定义规则:支持大小写混写,首字符小写,空间分隔符用字的首字母大写。尽量不用下划线,少用美元符号。给变量命名是尽量做到见名知义。

java标识符定义时,不能以数字开头,也不能是关键字,更不能有空格。

6.java语言采用何种编码方案?有何特点?

采用的是 Unicode 编码方案,Unicode(标准码)为每个字符指定了唯一的一个数值,因此在任何的语言,平台,程序中都可以放心使用

什么是强制类型转换,在什么情况下需要使用强制类型转换?

要将较长的数据转换成较短的数据,向下类型转换(子类转父类)。当子类有的方法,父类中没有的时候,这时候就需要将父类转换为子类,这样就可以使用子类里有父类里没有的方法了。

8自动类型转换的前提是什么,转换是从“短”到“长”的优先级顺序是怎样的?

转换前的数据类型与转换后的数据类型兼容;

转换后的数据类型的表示范围比转换后的数据类型的表示范围大;

优先级顺序:从低到高byte,short,char,int,long,float,double

9.数字字符串转换为数值型数据时,所使用的方法有哪些?

Byte.parseByte();
Short.parseShort();
Integer.parseInteger();
Long.parseLong();
Float.parseFloat();
Double.parseDouble();

10.写出由键盘输入数据的俩种基本格式。

BufferedRader和Scanner

11编写程序,从键盘输入一个浮点数,然后将该浮点数的整数部分输出?

import java.util.Scanner;
public class Test1 {
    public static void main(String[] args) {
        double num;
        System.out.println("请输入浮点数");
        Scanner sc=new Scanner(System.in);
        num=sc.nextDouble();
        System.out.println((int)num);
    }
}

12编写程序,从键盘上输入两个整数,然后计算它们相除后得到的结果并输出?

import java.util.Scanner;
public class Test1 {
    public static void main(String[] args) {
           int num1,num2;
        Scanner reader=new Scanner(System.in);
        System.out.println("请输入第一个数:");
        num1= reader.nextInt();//将输入的类容作为int类型赋值给变量num1
        System.out.println("请输入第二个数:");
        num2= reader.nextInt();//将输入的类容作为double类型赋值给变量num1
        System.out.println("相除后的结果:"+(num1/num2));
    }
}

13.编写程序,从键盘上输入圆柱体的低半径r和高h,然后计算其体积并输出?

import java.util.Scanner;
public class Test1 {
    public static void main(String[] args) {
        double r,h;
        final float PI=3.14f;
        Scanner reader=new Scanner(System.in);
        System.out.println("请输入低半径r:");
        r= reader.nextDouble();//将输入的类容作为double类型赋值给变量r
        System.out.println("请输入高h:");
        h= reader.nextDouble();//将输入的类容作为double类型赋值给变量h
        System.out.println("圆柱体的体积:"+(PI*Math.pow(r,2)*h));
    }
}

14.Java语言有哪些算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符?

算术运算符:+ - * / % ++ --;

关系运算符:> < >= <= == !=;

逻辑运算符:! && || & |;

位运算符: >> << >>> & | ^ ~;

赋值运算符:=及其扩展赋值运算符,如+=、/=等。

15逻辑运算符中的“逻辑与、逻辑或”和“简介与、简洁或” 的区别是什么?

非简洁运算在必须计算完左右两个表达式之后,才取结果值;而简洁运算可能只计算左边的表达式而不计算右边的表达式,即对于&&,只要左边表达式为false,就不计算右边表达式,整个表达式为false;对于||,只要左边表达式为true,就不计算右边表达式,整个表达式为true。

16运算符与位运算符的区别是什么?

针对数据类型不同:逻辑运算符只能针对boolean类型进行逻辑运算 ,位运算符还可以对数值进行逻辑运算。

逻辑运算符存在短路的现象,即前边的表达式可以得到最终结果是,后面的表达式将不被执行。而位运算符不存在短路现象,位运算是把两边的数据全部变成二进制补码的形式,然后进行计算的。

17什么是运算符的优先级和结合性?

优先级决定了表达式中不同运算执行的先后顺序;

结合性决定了并列的多个同级运算符的先后执行顺序。

18.写出下列表达式的值,设:x=3,y=17,yn=true。

(1)x + y * x-- = 54

(2)-x * y + y = -34

(3)x < y && yn = true

(4)x > y || !yn = false

(5)y != ++x ? x : y = 3

(6)y++ / --x = 9

注:若有错误欢迎大家指出讨论。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程小白,繁星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值