CodeGym /Java 博客 /随机的 /Java 双关键字
John Squirrels
第 41 级
San Francisco

Java 双关键字

已在 随机的 群组中发布
Java 的double关键字与其他任何语言一样,表示一种用于表示浮点数的计算机格式,在内存中占用64 位或8 个字节。在本文中,我们将讨论 double 并查看一些示例。

浮点数和计算:简短的数学描述

小数是定点数或浮点数。第一个选项可以表示为常规分数,其中分子(数字本身)和分母(其比例因子)将是整数。例如,数字 2.7 是 27,比例因子是 10,3.14 - 314,比例因子是 100。但是,从计算的角度来看,这种方法不是很准确,因此,他们经常使用浮点表示。在计算中,浮点运算是实数的一种特殊算术表示,作为支持范围和精度之间权衡的近似值。在 Java 中表示浮点数的主要格式称为 float。它的名字来自浮点数。浮点数为 32 位,其中 1 位为符号位,8 位指数,23 位尾数。它的范围是±3。40282347E + 38F 即 6-7 位有效数字。double 这个名字来自 double float。这double类型的大小是float的两倍:8 个字节对 4 个字节。它也称为双精度实数。在为双精度数保留的 64 位中,1 位是符号位,11 位是指数,52 位是尾数。Java分数存储范围为 ±1.79769313486231570E + 308 的数字,即 15-16 位有效数字。 Double是一种更精确的格式。因此,如果您需要存储非常大的数字,最好选择double而不是float。顺便说一下,sqrt、sin 或 cos 等数学方法以及许多其他方法会返回双精度值。但是,您应该为内存的双精度付出代价。

创建双变量

精度类型用于存储实数。要在代码中创建一个能够存储实数的变量,您需要使用以下命令:

double name;
其中name是变量的名称。

double myPrice;  //here we create a variable called myPrice
double action; //and here -- action. 
您还可以使用速记来创建多个double类型的变量:

double name1, name2, name3;

Java 双关键字示例

让我们给出一些使用 Java double关键字创建变量的示例。

double myPrice = 5.0;
double height = 180;
double x = 7.1, y = 3.0;
在变量myPrice中,我们的值为 5.0,在变量height 中为 180,在x中,我们将值 7.1 和 3.0 放入y中。

双倍为整数

在 Java 中,double变量既可以赋实数也可以赋整数。分配整数时,只需将它们转换为实数。尽管有时可能会出现轻微的精度损失。

double height = 180;
int k = 2; 
int i = 5; 
double myDouble = k*i;
实际上,height变量存储的是数字 180.0,而myDouble变量存储的是数字 10.0。

双整数交互

另外,如果某个表达式中涉及整数和实数,则先将整数转换为实数,然后再与另一个实数进行交互。

public class DoubleDemo {
   public static void main(String[] args) {
       int k = 2;
       double myDouble1 = 5;
       double myDouble = k*7.0;
       System.out.println(myDouble1);
       System.out.println(k*myDouble1);
       System.out.println(myDouble);
   }
}
在此示例中,输出将是:
5.0 10.0 14.0
尽管数字myDouble1表示为 5 而不是 5.0,但 Java 将此数字视为double,因此它实际上看起来像 5.0。如果我们将 int 和 double 相乘,我们总是得到一个double,即使实际上这个数字是一个整数。我们可以将double类型的变量分配给int类型的变量。为此,您需要进行显式类型转换。当然,小数部分会被舍弃,数字会被截断为更小的整数。

public class DoubleDemo {
   public static void main(String[] args) {
       double x = 57.789;
       int almostX;
       almostX = (int)x;
       System.out.println(almostX);
   }
}
输出是:
57
最后,我们来谈谈分裂。这是最有趣的事情。你可能已经遇到这样一个事实,如果你除以两个整数,那么作为除法的结果,我们得到一个整数,即使它们不能被彼此整除:

public class DoubleDemo {
   public static void main(String[] args) {
       double myDouble = 7/2;
       System.out.println(myDouble);
   }
}
结果是:
3.0
这是因为 Java 机器首先将两个整数相除(得到 3),然后将这个值存储在一个 double 类型的变量中,结果得到 3.0。要得到的不是整数,而是通常的除法,你需要作弊。例如,将其中一个数字写成实数(然后整个表达式自动转换为实数)。如果我们使用整数类型的变量,那么它们可以乘以 1.0。这不会更改值,但会将变量的类型从int更改为double

public class DoubleDemo {
   public static void main(String[] args) {
       double myDouble = 7.0/2;
       int x = 5;
       int y = 2;
       System.out.println(myDouble);
       System.out.println(x*1.0/y);
   }
}
输出是:
3.5 2.5
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION