第三章
1.java语言定义了哪几种基本数据类型?
四种整型:byte,short,int,long。
两种浮点型:float,double。
布尔型:boolean
字符型:char
2.表示整数类型数据的关键字有哪几个?它们各占用几个字节?
byte 1字节
shout char 两字节
int float 四字节
long double 八字节
3.单精度浮点型(float)和双精度浮点型(double)的区别是什么?
*字节数不同
float占4个字节,也就是32位。
double占8个字节,也就是64位。
*指数域位数不同
float的指数域是8位,可表达的范围为0~255。
double的指数域是11位,可表达的范围为0~2047。
*指数域位数不不同
float的小数域是23位。
double的小数域是52位。
*指数偏移量不同
float的指数偏移量是127,故实际可表达的指数值的范围为-127~128。
double的指数指数偏移量是,故实际可表达的指数值的范围为-1023~1024。
*可表示数的范围不同
float可表示数的范围是-2^128~2^128,即-3.40E+38~ .40E+38。
double可表示数的范围是-2^1024~2^1024,即-1.79E^308~1.79E^308。
4.字符型常量与字符串常量的主要区别是什么?
*形式不同:字符常量是单引号引起的一个字符;字符串常量是双引号引起的若干个字符;
*占内存不同:字符常量只占一个字节;字符串常量占若干个字节,(至少一个字符结束标志)。不占据任何存储空间属于指令的一部分,编译后不再更改。字符串常量是一对双引号括起来的字符序列。
*含义不同:字符常量相当于一个整型值,可以参加表达式的运算;字符串常量代表一个地址值(该字符串在内存中存放的位置)。字符常量可以赋值给字符变量,但不能把一个字符串常量赋给一个字符变量,同时也不能对字符串常量赋值。
5.简述java语言对定义标识符的规定有哪些?
标识符可以由字母,数字,下划线(),美元符号($)等组合而成。
标识符必须以字母,下划线或美元符号开头·,不能以数字开头。
6.java语言采用何种编码方案?有何特点?
Java语言采用Unicode编码标准,
Unicode(标准码)它为每个字符制订了一个唯一的数值,因此在任何的语言,平台,程序都可以放心的使用。
7.什么是强制类型转换?在什么情况下要用到强制类型转换?
当进行数据的大小从大转换到小的时候,我们就需要使用到强制类型转换。
使用强制类型转换的关键点在于从数据类型的大范围转换到数据类型的小范围,例如我们要从
int类型转换为
byte类型,这时我们就需要使用到强制类型转换。
补充:
强制类型转换的细节
1、强制符号只针对最近的操作数有效,往往会使用小括号提升优先级;
2、char类型可以保存int的常量值,但是不能保存int的变量值,需要强转;
8.自动类型转换的前提是什么?转换时从“短”到“长”的优先级顺序是怎样的?
自动类型转换要满足以下2个条件:
*两种数据类型彼此兼容。如:double型兼容int型,但是char型不能兼容int型
*目标类型的取值范围大于源数据类型(低级类型数据转换成高级类型数据)。如:double类型长度为8字节,int 类型为4字节,因此double类型的变量里直接可以存放int类型的数据,但反过来就不可以了
自动转换的规则是从低级类型数据转换成高级类型数据。转换规则如下:
- 数值型数据的转换:byte→short→int→long→float→double。
- 字符型转换为整型:char→int。
注意:char类型比较特殊,char自动转换成int、long、float和 double,但byte和short不能自动转换为 char,char也不能自动转换为byte或short。
9.数字字符串转换为数值型数据时,所使用的方法有哪些?
10.写出由键盘输入数据的两种基本方式
这个是引用键盘输出一个数字的例子
11.编写程序,从键盘上输入一个浮点数,然后将该浮点数的整数部分输出
方法一:
方法二:
12.编写程序,从键盘上输入两个整数,然后计算他们相除后得到的结果并输出
13.编写程序,从键盘上输入圆柱体的底半径r和高h,然后计算其体积并输出
14.Java语言有哪些算术运算符,关系运算符,逻辑运算符,位运算符和赋值运算符?
算数运算符:
关系运算符:
要注意
逻辑运算符:
位运算符:
赋值运算符:
15.逻辑运算符中的“逻辑与,逻辑或“和”简洁与,简洁或“的区别是什么?
16.逻辑运算符与位运算符的区别是什么?
17.什么是运算符的优先级和结合性?
优先级:
结合性: