在java中,不可以直接声明超出int数据类型规定大小范围的数。例如int x=999999999999999999,这个是无法声明的,需要将其设置为long长整型,即long x=999999999999999l,尾缀为l表示为long型。同理,float类型声明也不可以直接声明为12.56,需要在末尾数字后面尾缀f,即 float c=21.34f,只有这样才可以声明。
判断输入流中是否有双精度浮点数Scanner cin=new Scanner(System.in);
while(cin.hasNextDouble())//判断输入流中是否有双精度浮点数
{
double x=cin.nextDouble();
sum=sum+x;
n++;
}
while的作用是循环输入数,判断条件是当输入的数据类型非数字时退出循环。
结果
"C:Program FilesJavajdk1.8.0_144binjava.exe" "-javaagent:C:Program FilesJetBrainsIntelliJ IDEA 2018.2.4libidea_rt.jar=55154:C:Program FilesJetBrainsIntelliJ IDEA 2018.2.4bin" -Dfile.encoding=UTF-8 -classpath "C:Program FilesJavajdk1.8.0_144jrelibcharsets.jar;C:Program FilesJavajdk1.8.0_144jrelibdeploy.jar;C:Program FilesJavajdk1.8.0_144jrelibextaccess-bridge-64.jar;C:Program FilesJavajdk1.8.0_144jrelibextcldrdata.jar;C:Program FilesJavajdk1.8.0_144jrelibextdnsns.jar;C:Program FilesJavajdk1.8.0_144jrelibextjaccess.jar;C:Program FilesJavajdk1.8.0_144jrelibextjfxrt.jar;C:Program FilesJavajdk1.8.0_144jrelibextlocaledata.jar;C:Program FilesJavajdk1.8.0_144jrelibextnashorn.jar;C:Program FilesJavajdk1.8.0_144jrelibextsunec.jar;C:Program FilesJavajdk1.8.0_144jrelibextsunjce_provider.jar;C:Program FilesJavajdk1.8.0_144jrelibextsunmscapi.jar;C:Program FilesJavajdk1.8.0_144jrelibextsunpkcs11.jar;C:Program FilesJavajdk1.8.0_144jrelibextzipfs.jar;C:Program FilesJavajdk1.8.0_144jrelibjavaws.jar;C:Program FilesJavajdk1.8.0_144jrelibjce.jar;C:Program FilesJavajdk1.8.0_144jrelibjfr.jar;C:Program FilesJavajdk1.8.0_144jrelibjfxswt.jar;C:Program FilesJavajdk1.8.0_144jrelibjsse.jar;C:Program FilesJavajdk1.8.0_144jrelibmanagement-agent.jar;C:Program FilesJavajdk1.8.0_144jrelibplugin.jar;C:Program FilesJavajdk1.8.0_144jrelibresources.jar;C:Program FilesJavajdk1.8.0_144jrelibrt.jar;G:ee程序L1outproductionL1" com.company.Main 请输多个数,最后输入enter建或者空格键结束 最后输入一个非数字结束符 1 2 3 2.3 4.56 f 共输入了5个数,其和为:12.86 进程完成,退出码 0
**
说明:当要求输入的数据是较长的数据类型(如double型)时,但实际输入的数据是较短的数据类型(如int或float)时,则系统会自动的强制转换成较长的数据类型的数据(如double型)**



