欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第6节、字符类型(下)

程序员文章站 2022-07-15 13:18:26
...

第6节、字符类型(下)

java浮点类型

浮点类型

  1. float型

常量:453.5439f,21379.987F,231.0f(小数表示法),2e40f(2乘10的40次方,指数表示法)。需要特别注意的是:常量后面必须要有后缀“f”或“F”。

变量:使用关键字float来声明float型变量,

例如:float x=22.76f,tom=1234.987f,weight=1e-12F;

精度:float变量在存储float型数据时保留8位有效数字,实际精度取决于具体数值。

对于float型变量,内存分配给4个字节,占32位。float的取值范围为负的2的31次方到正的2的31次方减一。

  1. double 型

常量:2389.539d,2318908.987,0.05(小数表示法),1e-90(1乘10的-90次方,指数表示法)。对于double常量,后面可以有后缀“d”或“D”,但允许省略该后缀。

变量:使用关键字double来声明double型变量,

例如:double height=23.345,width=34.56D,length=1e12;

对于double型变量,内存分配给8个字节,占64位。Double的取值范围为负的2的63次方到正的2的次63次方减一。

精度:double变量在存储double型数据时保留16位有效数字,实际精度取决于具体数值。

示例

import java.util.Scanner;
public class Demo5{
    public static void main(String args[]){
        float weight = 82.5f;   /*声明一个float变量,82.5f中的f不能省略掉
        int height = 176;      /*身高176 整数
        double d = (height-100)/weight;    /*两者之间的差值,d在一定程度上可以显示偏胖还是偏瘦
        System.out.println("体重:"+weight);  /*打印这三个变量
        System.out.println("身高:"+height);
        System.out.println("系数:"+d);
    }
}

第一次打印结果,可以看出精度实际取决于具体数值
第6节、字符类型(下)

数据转换

Java中数据的基本类型(不包括逻辑类型)按精度从“低”到“高”排列:
byte short char int long float double

★当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。例如:

float x=100;

★当把级别高的变量的值赋给级别低的变量时,必须使用显示类型转换运算。显示转换的格式:(类型名)要转换的值;
例如

int x=(int)34.89;   //强制转换

★当把一个int型常量赋值给一个byte和short型变量时,不可以超出这些变量的取值范围,否则必须进行类型转换运算;例如,常量128的属于int型常量,超出byte变量的取值范围,如果赋值给byte型变量,必须进行byte类型转换运算(将导致精度的损失),如下所示:

 byte a=(byte)128;

★另外一个常见的错误就是把一个double型常量赋值给一个float型变量时没有进行强制转换,如下所示:

 float x=12.4;   //12.4隐藏是一个字母d,double型常量

输出和输入数据

1、输入数据

Scanner是JDK1.5新增的一个类,可以使用Scanner类创建一个对象:
Scanner reader=new Scanner(System.in);
reader对象调用下列方法,读取用户在命令行输入的各种基本类型数据:
nextBoolean()、nextByte()、 nextShort()、 nextInt()、 nextLong()、nextFloat()、nextDouble()。

上述方法执行时都会堵塞,程序等待用户在命令行输入数据回车确认。

2、输出数据

用System.out.println()或System.out.print()可输出串值、表达式的值,二者的区别是前者输出数据后换行,后者不换行。

允许使用并置符号:“+”将变量、表达式或一个常数值与一个字符串并置一起输出,如:

System.out.println(m+”个数的和为”+sum);
System.out.println(“:”+123+“大于”+122)
JDK1.5新增了和C语言中printf函数类似的数据输出方法,该方法使用格式如下:
System.out.printf(“格式控制部分”,表达式1,表达式2,…表达式n)

格式控制部分由格式控制符号:%d、%c、%f、%s和普通的字符组成,普通字符原样输出。格式符号用来输出表达式的值。

%d:输出int类型数据值.
%c:输出char型数据.
%f:输出浮点型数据,小数部分最多保留6位.
%s:输出字符串数据。

输出数据时也可以控制数据在命令行的位置,例如:

%md:输出的int型数据占m列 %m.nf:输出的浮点型数据占m列,小数点保留n位。

import java.util.Scanner;     /* 导入这个类库,就可以使用这个类
public class Demo5{
    public static void main(String args[]){
        Scanner reader=new Scanner(System.in);   /*使用这个类Scanner,创建一个对象reader
        System.out.println("please input int");  /*获取用户的输入数据
        int i = reader.nextInt();    /*用int来承接用户输入的数据
        System.out.println("you input:"+i);  /*输出数据
        int i = 12;       /*输出
        System.out.printf("i的值是:%d",i);  /*打印i的值
   }
}

第二次打印 输入
第6节、字符类型(下)
第三次打印 输出
第6节、字符类型(下)

相关标签: Java 浮点类型