java学习(11):Java数据类型转换

(自动转换和强制转换)
数据类型的转换,分为自动转换和强制转换。自动转换是程序在执行过程中“悄然”进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换;强制类型转换则必须在代码中声明,转换顺序不受限制。
自动数据类型转换
自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下:
低--------------------------------------------->高
byte,short,char-> int -> long -> float -> double

运算中,不同类型的数据先转化为同一类型,然后进行运算,转换规则如下:
操作数1类型 操作数2类型 转换后的类型
byte、short、char int int
byte、short、char、int long long
byte、short、char、int、long float float
byte、short、char、int、long、float double double
强制数据类型转换
强制转换的格式是在需要转型的数据前加上“( )”,然后在括号内加入需要转化的数据类型。有的数据经过转型运算后,精度会丢失,而有的会更加精确,下面的例子可以说明这个问题。

  1. public class Demo {
  2. public static void main(String[] args){
    
  3.     int x;
    
  4.     double y;
    
  5.     x = (int)34.56 + (int)11.2;  // 丢失精度
    
  6.     y = (double)x + (double)10 + 1;  // 提高精度
    
  7.     System.out.println("x=" + x);
    
  8.     System.out.println("y=" + y);
    
  9. }
    
  10. }
    运行结果:
    x=45
    y=56.0

仔细分析上面程序段:由于在 34.56 前有一个 int 的强制类型转化,所以 34.56 就变成了 34。同样 11.2 就变成了 11 了,所以 x 的结果就是 45。在 x 前有一个 double 类型的强制转换,所以 x 的值变为 45.0,而 10 的前面也被强制成 double 类型,所以也变成 10.0,所以最后 y 的值变为 56。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/426688.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java学习(12):i++和++i的区别

先上代码: public static void main(String args[]) { int A 1; int B 10; int C 100; int D 1000; System.out.println(A);System.out.println(B);System.out.println(C C);System.out.println(C);System.out.println(D D);System.out.println(D); }在来运行…

对于高维数组抽象性质的理解

对于数组的维数理解,应该清楚的认识到,一维数组是“线性的”的,二维数组是“平面”的,而三维数组时“立体”的,其不仅反映了其在计算机中物理储存层面上的描述,同时也表现了其抽象模型的性质,而…

java学习(13):scanner中的方法

//Scanner类中的方法 //优点一: 可以获取键盘输入的字符串 //优点二: 有现成的获取int,float等类型数据,非常强大,也非常方便; public static void ScannerTest(){ Scanner sc new Scanner(System.in); System.out.println(“ScannerTest, P…

php mysql注册登录界面_php实现登录注册界面

php实现登录注册界面首先你要搭建一个自己的数据库我用wamp64创了一个people的数据库具体操作可以参考该搭建链接:这里就讲下我实现的功能代码:创建sql.func.php实现一些基本函数功能/***弹框*/function_alert($_info){echo"";exit;}/*** _loc…

Python全栈开发——面向对象的三大特性(继承 多态 封装)

1.继承 1.两层意思 改变和扩展(详细看随笔继承和组合) 2.多态(体现在运行时的状态) 1.不同的类可以调用相同的方法,得到不同的结果 2.实际上是继承的一种体现机制 class H2o:def __init__(self,name,temperature):se…

exp/imp和expdp/impdp在功能上的区别:

exp/imp和expdp/impdp在功能上的区别:   1、把用户usera的对象导入到userb   emp/imp用法:   formuserusera touseruserb;   empdp/impdp用法:   remap_schema‘usera’:‘userb’   例如:   imp system/password f…

Java_枚举

枚举 JDK1.5引入枚举类型, 枚举类型的定义包括枚举的声明和枚举体 enum Season {SPRING, SUMMER, AUTUMN, WINDER } 所有的枚举类型隐性的继承来自java.langEnum, 枚举实质上还是类, 而每个被枚举的成员实质就是一个枚举类型的实例, 它们默认都以public static final修饰, 可以…

oracle数据库实例,数据库的理解

数据库就是一个相片底片 实例就是相纸 一个底片可以冲多个相纸,但一张相纸最多冲一个底片。 tom的一个解释 数据库(database):物理操作系统文件或磁盘( disk)的集合。使用Oracle 10g 的自动存储管理&#…

keepalive日志_12.日志收集项目-数据流图以及nginx安装

数据流图nginx安装中文文档http://tengine.taobao.org/nginx_docs/cn/docs/基础依赖与安装yum -y install gcc gcc-c autoconf pcre pcre-devel make automakeyum -y install wget vim httpd-toolsyum源在官网拷贝vi /etc/yum.repos.d/nginx.repo[nginx-stable]namenginx stabl…

【算法】禁忌搜索算法(Tabu Search,TS)超详细通俗解析附C++代码实例

01 什么是禁忌搜索算法? 1.1 先从爬山算法说起 爬山算法从当前的节点开始,和周围的邻居节点的值进行比较。 如果当前节点是最大的,那么返回当前节点,作为最大值 (既山峰最高点);反之就用最高的邻居节点来,替…

java学习(14):java命名规范

//任务 4 在控制台打印输出java标识符定义规则。具体包括: //1)类名定义规则 //2)方法名定义规则 //3)变量定义规则 //4)常量定义规则 一、命名规范 1、 项目名全部小写 2、 包名全部小写 3、 类名首字母大写&…

jdbc获取clob图片_jdbc方式读取oracle的clob字段实例

可能大家也都习惯了spring和hibernate对CLOB字段的处理,在spring中配置clob的oracle处理句柄,在hibernate中配置映射类型,然后就可以很轻松的以String 的形式处理大字段。今天我做了个需求,需要以jdbc的方式从mysql导一些备份数据…

14. Java基础之泛型

一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest {2 3 public static void main(String[] args) {4 List list new ArrayList();5 list.add("qqyum…

java学习(15):巩固练习

//任务 1 //编写控制台java程序,使用Scanner 对象相关方法从 //控制台接收用户输入如下数据并使用相关的局部变量接收,在控制台打印输出。 //老师的姓名;老师的性别;老师的工资;老师的年龄;工作时长 import…

java学习(16):巩固练习

/任务 2 编写控制台java程序,将以下数据使用合理类型变量进行接收赋值 3.5;185.59;8500.50 要求在控制台打印这些数据并只显示整数部分。/ import java.util.Scanner; public class test02{ public static void main(String[] args){ Scanner…

mac电脑投屏到小米盒子_苹果手机搜不到小米盒子怎么办?

刚买的小米电视盒子迫不及待想投屏,但是手机是苹果系统,都是连得同一wifi,可是手机就是搜索不到小米家的客厅电视,这种情况该怎么办呢?以下小编给大家详细介绍了苹果手机搜不到小米盒子该怎么办。苹果设备中搜不到小米…

Redis实现之对象(三)

集合对象 集合对象的编码可以是intset或者hashtable,intset编码的集合对象使用整数集合作为底层实现,集合对象包含的所有元素都被保存在整数集合里面。举个栗子,以下代码将创建一个图1-12所示的intset编码集合对象: 127.0.0.1:637…

java学习(17):巩固练习

//#任务 3 //#已知有三个人,张无忌,任盈盈,任我行。当前只知道任盈盈的年龄 //#可以被用户从控制台输入,并且用户可以告知任盈盈的年龄比张无忌的年龄小几岁, //#任我行年龄是张无忌和任盈盈年龄和还要大几岁&#xff…

mysql innodb redolog_MySQL · 引擎特性 · InnoDB redo log漫游(转)

前言InnoDB 有两块非常重要的日志,一个是undo log,另外一个是redo log,前者用来保证事务的原子性以及InnoDB的MVCC,后者用来保证事务的持久性。和大多数关系型数据库一样,InnoDB记录了对数据文件的物理更改&#xff0c…

Jenkins配置:添加用户和管理权限

Jenkins配置:添加用户和管理权限 参考文章:http://www.cnblogs.com/zz0412/p/jenkins_jj_14.html 今天给大家说说使用Jenkins专有用户数据库的配置,和一些常用的权限配置。 配置用户注册 在新安装好的jenkins中,默认是没有设置用户…