77范文网 - 专业文章范例文档资料分享平台

java入门学习1(5)

来源:网络收集 时间:2019-03-22 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

1) 强制转换时的精度丧失和溢出。 2) 数值运算时的自动转换。

3) byte、char、short转换为int的问题。 5.3 步骤

实现此案例需要按照如下步骤进行。 步骤一:强制转换时的精度丧失和溢出

基本类型之间的相互转换,需要注意的是,强制转换时可能会造成精度的丧失和溢出,请看如下代码:

long l = 1024L * 1024 * 1024 * 4;

int j = (int) l; // 会产生溢出

System.out.println(j); // 结果为:0

上述代码输出的结果为0,是因为在将long类型变量l转换为int类型变量j的时候产生了溢出。

另外,请看如下精度丧失的例子: double pi = 3.141592653589793;

float f = (float) pi; // 会造出精度的损失 System.out.println(f); // 结果为:3.1415927

上述代码的输出结果为3.1415927,值保留了7位小数,这是因为将double类型的变量pi转换为float类型的变量f时造成了精度的损失。 步骤二:数值运算时的自动转换 多种基本类型参与的表达式运算中,运算结果会自动的向较大的类型进行转化。请看如下示例:

long distance = 10000 * 365 * 24 * 60 * 60 * 299792458L;

上述代码中,有int类型数据和long类型数据,由于有long型的直接量299792458L参与,整个表达式的结果为long。 double change = 800 - 599.0;

上述代码中,由于有double型的直接量599.0参与,整个表达式的结果为 double。 double persent1 = 80 / 100;

上述代码中,结果为0.0。右边都是int型数据,语法运算后的结果也为int类型,结果为0,再赋值给double型,将0转化为 0.0。请对比下面的代码: double persent2 = 80.0 / 100;

上述代码中,结果为0.8,右边表达式有double型直接量参与,运算结果为double型。 步骤三:byte、char、short转换为int的问题

byte、char、short 三种类型实际存储的数据都是整数,在实际使用中遵循如下规则: 1) int直接量可以直接赋值给byte、char和short,只要不超过其表示范围。

2) byte、char、short三种类型参与运算时,先一律转换成int类型再进行运算。请看如下示例代码: byte b1=28; byte b2=20; byte b3=b1+b2;

上述代码在第三行会出现编译错误,原因是b1+b2的结果为int类型。改变上述代码如下: byte b1=28; byte b2=20; int b3=b1+b2;

查看上述代码,会发现不会再出现编译错误。char类型、short类型和byte类型是相似的。 5.4 完整代码

本案例是总结性的知识,没有完整的代码。 6 年龄判断程序 6.1 问题

本案例需要使用交互的方式判断年龄的范围:用户从控制台输入一个年龄,由程序判断该年龄是否在18~50之间。程序交互过程如图-1所示:

图- 1 6.2 步骤

实现此案例需要按照如下步骤进行。 步骤一:定义类及 main方法

首先定义一个名为 Age的类,并在类中添加Java应用程序的主方法main,代码如下所示: public class Age { public static void main(String[] args) { } }

步骤二:读取控制台输入

在main方法中,实例化Scanner类,并调用Scanner类的nextInt() 方法接收用户从控制台输入的年龄,使用完毕后将scanner对象关闭,以释放资源。代码如下所示: #cold_boldimport java.util.Scanner;

public class Age { public static void main(String[] args) { #cold_bold Scanner scanner = new Scanner(System.in); #cold_bold #cold_bold #cold_bold } }

System.out.println(\请输入年龄:\int age = scanner.nextInt(); scanner.close();

在此需要注意导入Scanner类所在的包。 步骤三:判断年龄所在的范围

接收到年龄后,判断年龄是否在18~50之间。如果输出结果为true,则说明年龄在18~50之间,否则,年龄不在18~50之间,代码如下所示: import java.util.Scanner;

public class Age { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);

System.out.println(\请输入年龄:\ int age = scanner.nextInt(); #cold_bold System.out.println(age >= 18 && age <= 50); } }

在上述代码中,使用了“&&”逻辑运算符来连接两个条件。年龄在18~50之间,即,年龄大于等于18且年龄小于等于50,因此需要使用“&&”运算符。 6.3 完整代码

本案例的完整代码如下所示: import java.util.Scanner;

public class Age { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); }

}

System.out.println(\请输入年龄:\int age = scanner.nextInt(); scanner.close();

System.out.println(age >= 18 && age <= 50);

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库java入门学习1(5)在线全文阅读。

java入门学习1(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/536605.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: