public class kkk {

/**
 * 先看看eclipse对于数值型转换会有哪些报错,但是有一点必须明确,eclipse不报错的,不一定就是说这种思维逻辑是对的

* 可以直接将代码复制过去在编译器里显示的明明白白

* 红色代码表示编译会报错
 */
    public static void main(String[] args) {
//         byte 2个
         byte b1=(short)1;                //不准确的书写方式,如果超出byte范围就会报错
         byte b2=(int)3;                //不准确的书写方式,如果超出byte范围就会报错
         byte b3=(long)3;
         byte b4=(float)3;
         byte b5=(double)3;
//         short 2个
         short b6=(byte)300;
         short b7=(int)3;                //不准确的书写方式,如果超出byte范围就会报错
         short b8=(long)3;
         short b9=(float)3;
         short b10=(double)3;
//         int 2个
         int b11=(short)1;
         int b12=(byte)3;
         int b13=(long)3;
         int b14=(float)3;
         int b15=(double)3;
//         long 3个
         long b16=(byte)3;
         long b17=(int)3;
         long b18=(short)3;
         long b19=(float)3;
         long b20=(double)3;
//         float 4个
         float b21=(short)1;
         float b22=(byte)3;
         float b23=(long)3;
         float b24=(int)3;
         float b25=(double)3;
//         double 5个
         double b26=(byte)3;
         double b27=(int)3;
         double b28=(short)3;
         double b29=(float)3;
         double b30=(long)3;
//                  取值范围从小到大<精度由低到高>:byte->short->int->long->float->double
//                  赋值时,始终遵循大范围可以传递给小范围<高精度可以传递给低精度>,
//                  倘若大范围的将一个在小范围之内的数传递小范围的,直接赋值的方式不会出错,但是传递赋值就会出错
//                  例如byte b2=(int)3;不会报错,但是这种思维逻辑是错的;验证:int a=3;byte b2=a;此时出错
         
         
//-------在进行数字运算时,运算完后会取精度最高的作为结果的数据类型,但是int以下的都会转换为int类型---------------
         byte c1=1;
         byte c2=c1+1;            //byte+1之后的数据类型为int  
         
         short s=1;
         byte cc=c1+s;            //byte+short之后的数据类型为int
         
         float s1=1;
         byte cc1=c1+s1;        //byte+float之后的数据类型为float
         
         short c3=1;
         short c4=c3+1;            //short+1之后的数据类型为int
         
         float c5=1;
         float c6=c5+1;            //float+1之后的数据类型为float
         
         byte a1=1;                    //a1为byte型
         byte a2=2;                    //a2为byte型
         byte a3=a1+a2;                //错误提示为不可以将int型赋值给byte
         
         byte a21=(short)1;                //a21为byte型
         byte a22=(short)2;                //a22为byte型
         byte a23=a1+a2;                //错误提示为不可以将int型赋值给byte
         
         byte a11=1;                    //a11为byte型
         byte a12=2;                    //a12为byte型
         short a13=a11+a12;                //错误提示为不可以将int型赋值给short
         
         double a4=(byte)3;
         double a5=(short)3;
         double a6=a4+a5;
         int    a7=a4+a5;                //错误提示为不可以将double型赋值给int
         
//-------<a+=1;与a=a+1;的数据类型转换方式是不一样的---------->
         float a31=3;
         float a32=3;
         a31+=1;            //a31+=1;等价于a31=(float)(a31+1)
         a32=a32+1;            //而a32+1会自动转换为float型
         
         byte a41=3;
         byte a42=3;
         a41+=1;            //a41+=1;等价于a41=(byte)(a41+1)
         a42=a42+1;            //而a42+1会自动转换为int型
         
         byte a51=3;
         byte a52=3;
         a51+=1;            
         a52=a52%1;            //同样的,对于+-*/%同样遵循以上数据类型转换规则

//----------数字和字符串之间转换------------------
         
            //1.字符串转换为数字
            String str="123";
            String str2="123.11";
            int w3;
            float e3;
            w3=Integer.parseInt(str);
            e3=Float.parseFloat(str2);
            System.out.println("字符串转换为int类型 的w3="+w3);
            System.out.println("字符串转换为float类型 的e3="+e3);
            
            //2.数字转换为字符串
            int w4=100;
            float e4=123.11f;
            String str3,str4;
            str3=String.valueOf(w4);
            str4=String.valueOf(e4);
            System.out.println("int类型转换为字符串 的str3="+str3);
            System.out.println("float类型转换为字符串 的str4="+str4);

}

}

//以上内容仅供个人参考学习,如有错误请联系本人。thanks!

java数据类型转换那点事的更多相关文章

  1. Java数据类型转换浅析

    Java数据类型转换分为两种:自动类型转换和强制类型转换. 数据类型转换的关键是数据类型相应的表数范围大小 1.自动类型转换: 概念:小范围数据类型会自动转化成大范围数据类型 实例: int a=10 ...

  2. Java数据类型转换1

    1 如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([ ...

  3. Java数据类型转换(自动转换和强制转换)

    数据类型的转换,分为自动转换和强制转换.自动转换是程序在执行过程中“悄然”进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换;强制类型转换则必须在代码中声明,转换顺序不受限制. 自 ...

  4. 2、java数据类型转换

    当数据类型不一样时,将会发生数据类型转换. 1.自动类型转换(隐式) 1. 特点:代码不需要进行特殊处理,自动完成. 2. 规则:数据范围从小到大. System.out.println(1024); ...

  5. 第24章 Java 数据类型转换

    每日一句 井底点灯深烛伊,共郎长行莫围棋. 每日一句 What we call "failure" is not falling down, but the staying dow ...

  6. Java数据类型转换问题

    基本数据类型 整数型 byte --- 字节型 --- 1个字节 --- -27~27-1 -> -128~127 byte b1 = 25; byte b2 = 127; short --- ...

  7. Java 数据类型转换(转换成字节型)

    package com.mystudypro.byteutil; import java.io.UnsupportedEncodingException; public class ConToByte ...

  8. java数据类型转换的常见方法

    public class Testfun { public static void main(String[] args) { // (一)跨Number父类的类型转换 // 1.str转int =& ...

  9. Java 数据类型转换的骚操作和神奇现象

    问:银行用什么数据类型来表示余额?float还是double? 都不是!!下面说明为什么都不可以呢? public static void main(String[] args) { //浮点数他都是 ...

随机推荐

  1. 从源码来理解slf4j的绑定,以及logback对配置文件的加载

    项目中的日志系统使用的是slf4j + logback.slf4j作为一个简单日志门面,为各种loging APIs(像java.util.logging, logback, log4j)提供一个简单 ...

  2. [刷题]算法竞赛入门经典(第2版) 6-8/UVa806 - Spatial Structures

    题意:黑白图像的路径表示法 代码:(Accepted,0.120s) //UVa806 - Spatial Structures //Accepted 0.120s //#define _XIENAO ...

  3. Hbuilder常用功能汇总

    引用 样式表: mui.min.css Js:mui.min.js 常用功能 获取页面 var webView=plus.webview.currentWebview();//获取当前页 var we ...

  4. Struts流程分析+源码分析

    1.初始化工作 读取配置---转换器-----读取插件 当struts-config.xml配置文件加载到内存,则会创建两个map:ActionConfigs,FromBeans.这两个map都交由M ...

  5. 最近一些朋友问我,临近快毕业了专业不对口,想转行看到IT行业就业前景不错,但是编程语言众多不了解,不知道哪门语言能够快速入门掌握,短期能让我找到工作

    我做互联网前端后台开发也有四年多了,一路走过来,累并快乐着.快乐比艰辛更多,源自我的兴趣驱动.初中的一个偶然的机会我接触到了计算机,从那个时候就喜欢上开始经常到网吧上网.那个时候我对计算机领域的认识是 ...

  6. Ultimus BPM 零售和快消品行业应用解决方案

    Ultimus BPM 零售和快消品行业应用解决方案 行业应用需求 中国零售及快消品行业正在经历深刻变化.经济下滑,消费回落,行业危机继续发酵:人员工资.房租费用进一步上涨,成本高涨成为不能承受之重: ...

  7. ProxySQL的相关维护说明

    背景: 前面的2篇文章MySQL ProxySQL读写分离使用初探和MySQL ProxySQL读写分离实践大致介绍了ProxySQL的使用说明,从文章的测试的例子中看到ProxySQL使用SQLIT ...

  8. Zepto源码分析-架构

    构造函数 Zepto.js 是专门为智能手机浏览器推出的javascript库, 拥有与和jQuery相似的语法. 它的优点是精简,压缩后5-10K. 不支持IE MIT开源协议 结构   http: ...

  9. MySQL1-基础知识点

    目录 零.MySQL安装与配置 一.基本概念 二.基本语法 三.常用指令 四.四种SQL语句       零.MySQL安装与配置 http://www.cnblogs.com/hikarusun/a ...

  10. Java之反射--练习

    定义Student 类:包含:姓名和年龄等属性,有参和无参构造方法,输出所有信息的方法 1.使用多种方法生成一个Student类的Class对象 2.使用Class类获取Student类的结构信息并输 ...