发表于: 2017-07-24 00:20:08
2 1126
问题:Float类型的浮点数用科学计数法来表示的时候,举个例子,在5.12E2中,指数位是2,尾数位是12;在计算机存储中float类型数值占32位,第一位是符号位,接下来的八位表示指数,再接下来的23位表示尾数,也就是说指数的取值正数范围是1-127,但是如下,怎么会报错了呢?指数才120。
一 今日完成:
《疯狂Java讲义》第三章 本章练习 1,2,3
练习1:定义学生、老师、教室三个类,为三个类编写文档注释,并使用javadoc工具来生成API文档。
作答截图:
2.使用8种基本数据类型声明变量,并使用不同方式为8种基本类型的变量赋值,熟悉每种数据类型的赋值规则和表示方式。
代码:
class EX3_2
{
public static void main(String[] args)
{
byte b1 = 0b0100; //二进制
byte b2 = 04; //八进制
byte b3 = 4; //十进制
byte b4 = 0x4; //十六进制
short s1 = 0b0110; //二进制
short s2 = 057; //八进制
short s3 = 400; //十进制
short s4 = 0x4F; //十六进制
short s5 = b4; //自动类型转换
int i1 = 0b11_0101_0011_0100; //二进制
int i2 = 06743; //八进制
int i3 = 99; //十进制
int i4 = 0x4FA; //十六进制
int i5 = s5; //自动类型转换
long l1 = 0b110L; //二进制
long l2 = 057L; //八进制
long l3 = 400L; //十进制
long l4 = 0xA4FL; //十六进制
long l5 = i5; //自动类型转换
char c1 = 'A'; //单个字母
char c2 = '9'; //单个数字
char c3 = '炸'; //单个汉字
char c4 = '\r'; //转义字符
char c5 = '\u23af'; //Unicode值
char c6 = 97; //ASCII码值
String str1 = "老大最帅";
byte b5 = (byte)s2; //强制转换
short s6 = (short)i2;//强制转换
int i6 = (int)l1; //强制转换
char c7 = (char)i3; //强制转换
float f1 = 3.14f; //小数
float f2 = Float.POSITIVE_INFINITY;//正无穷大
float f3 = Float.NEGATIVE_INFINITY;//负无穷大
float f4 = Float.NaN; //非数
float f5 = (float)7758E3; //科学计数法
double d1 = 3.1415926;//小数
double d2 = 7758.521E4;//科学计数法
boolean boo1 = true;
boolean boo2 = false;
}
}
3.在数值型的变量之间进行强制转换,包括低位向高位的自动转换、高位向低位的强制转换。
a 主要学习了强制转换的原理;
b 负数的转换:
代码:
class EX3_3
{
public static void main(String[] args)
{
//低位向高位的自动转换
byte b1 = 120;
short s1 = 500;
int i1 = 4_0000;
long l1 = 9_5623_4561L;
float f1 = 3.1415926f;
double d1 = 3.14E10;
short s2 = b1;
int i2 = s1;
long l2 = i1;
float f2 = l1;
double d2 = f1;
System.out.println("s2=" + s2 +";");
System.out.println("i2=" + i2 +";");
System.out.println("l2=" + l2 +";");
System.out.println("f2=" + f2 +";");
System.out.println("d2=" + d2 +";");
System.out.print('\n');
//高位向低位的强制转换
byte b3 = (byte)s1;
short s3 = (short)i1;
int i3 = (int)l1;
long l3 = (long)f1;
float f3 = (float)d1;
System.out.println("b3=" + b3 + ";");
System.out.println("s3=" + s3 + ";");
System.out.println("i3=" + i3 + ";");
System.out.println("l3=" + l3 + ";");
System.out.println("f3=" + f3 + ";");
}
}
二 明日完成:
1 第三章的本章练习3
2 学习第四章的内容,不求速度,只求质量。
评论