java的基本数据类型有(int、byte、double、float、char、boolean、long、short);这里介绍整型数据

示例1:

public class H_Z01 {

  public static void main(String[] args) {
    int b = 350;
    byte a = (byte) 350 ;
  System.out.println(a);
  System.out.println(Integer.toBinaryString(b));

  }

}

输出为:

94
101011110

发生了截取,将前面的代码更新为:

public class H_Z01 {

  public static void main(String[] args) {
    int b = 350;
    byte a = (byte) 350 ;
    System.out.println(a);
    System.out.println(Integer.toBinaryString(b));
    System.out.println(Integer.valueOf("01011110",2).toString()) ;
  }

}

输出为:

94
101011110
94

一开始为从左为有移到使用的数据类型的位数。

例如:

350---->101011110

截取成为byte成为 01011110

但是看下面的示例自己就蒙了

示例2

public class H_Z02 {

  public static void main(String[] args) {
    int b = 450;
    byte a = (byte) 450 ;
  System.out.println(a);
  System.out.println(Integer.toBinaryString(b));

  }

}

输出为:

-62
111000010

按照更新代码后:

public class H_Z02 {

  public static void main(String[] args) {
    int b = 450;
    byte a = (byte) 450 ;
  System.out.println(a);
  System.out.println(Integer.toBinaryString(b));

  System.out.println(Integer.valueOf("11000010",2).toString()) ;

  }

}

输出为:

-62
111000010
66

认为第一位为符号为那么为11000010,那么应该取数值为0100010为66,那么1100010为-66

结果依然不正确。

查取资料获得技能:

除符号位取补码

先截取为11000010

那么为10111110

在进行计算:

public class H_Z02 {

  public static void main(String[] args) {
    int b = 450;
    byte a = (byte) 450 ;
  System.out.println(a);
  System.out.println(Integer.toBinaryString(b));

  System.out.println(Integer.valueOf("00111110",2).toString()) ;

  }

}

运行结果为:

-62
111000010
62

添加符号位:-62

与运行结果相同

总结:

java中整数溢出是取补

java基本数据类型转换溢出问题的更多相关文章

  1. Java基本数据类型转换及运算符

    上次我们说到完了Java中的基本数据类型,今天我们来说说Java中的基本数据类型转换和Java中的运算符 基本数据类型转换 java中可以从任意基本数据类型转型到外的基本数据类型 注意:(boolea ...

  2. Java基本数据类型转换

    一:Java的基本数据类型和引用数据类型 1:基本数据类型 2:引用数据类型 二:基本数据的类型转换 基本数据类型中,布尔类型boolean占有一个字节,由于其本身所代码的特殊含义,boolean类型 ...

  3. JAVA基本数据类型转换的注意事项

    JAVA中基本数据类型: 类型: 字节: 范围: 默认值: byte 1 -128~127 0 short 2 -32768~32767 0 char 2 0~65535 '\u0000' int 4 ...

  4. java基本数据类型转换成byte[]数组

    import java.io.UnsupportedEncodingException;  public class ConToByte {      /**     * double转换byte   ...

  5. java基本数据类型转换之向上转型和向下转换

    向上转换: 整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则: 容量小的类型可自动转换为容量大的数据类型: byte,short,char → int → long → float ...

  6. Java 基本数据类型转换

    1. Integer/int  转 String Integer a = 1; (int a = 1) String b = Integer.toString(a); 2. float 转 Strin ...

  7. Java基本数据类型转换二

    public class TestConvert2 { /** * @param args */ public static void main(String[] args) { // TODO Au ...

  8. Java基本数据类型转换一

    public class TestConvert { /**容量小的类型自动转化为容量大的类型数据类型按容量大小排列 * byte,short,char -> int ->long-> ...

  9. java基本数据类型转换字符串

    1.基本数据类型转换为字符串 int t1 = 2; String t2 = Integer.toString(t1); 2.字符串转换为基本数据类型 int t3 = Integer.parseIn ...

随机推荐

  1. com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class cn.edu.

    详细信息   https://www.cnblogs.com/xuwenjin/p/8832522.html 解决办法: 在实体类上面加上注解 @JsonIgnoreProperties(value ...

  2. Chromecast

    Chromecast chrome://cast/#offers https://chromecast.com/help https://www.pcmag.com/feature/326584/24 ...

  3. python数据结构与算法第九天【选择排序】

    1.选择排序的原理 2.代码实现 def selection_sort(alist): n = len(alist) # 需要进行n-1次选择操作 for i in range(n-1): # 记录最 ...

  4. memcach 命令行

    1. cmd上登录memcache # telnet 127.0.0.1 11211   2. 列出所有items stats items     3. 通过itemid获取key 接下来基于列出的i ...

  5. Log4j2配置与使用

    依赖包: <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api --> <depend ...

  6. LoadRunner Vuser测试脚本添加前置条件举例

    调用接口前需要先获取登陆token,放入消息头中. /* * LoadRunner Java script. (Build: 3020) * * Script Description: 接口性能测试脚 ...

  7. SELECT IDENT_CURRENT(tableName)和自增长列的纠结

    项目中要用到一个功能:主表主键为自增长,要求在插入主表数据前先获得主表要插入数据的主键ID值,用在插入子表时获取主键ID.在网上搜了一下,发现SELECT IDENT_CURRENT(TableNam ...

  8. java开发支付宝支付详细流程_demo的运行

    首先我要吐槽一下支付宝的开放平台简直就是一个迷宫,赞同的顶一下,下面我把要下载的地址给贴出来要不真不好找: 一.准备工作 1.签名工具下载 https://docs.open.alipay.com/2 ...

  9. Build 2017 Revisited: .NET, XAML, Visual Studio

    For the next couple months we're going to revisit Build 2017, each post focusing on different aspect ...

  10. Calendar代替Date常用方法小记

    业务逻辑中遇到日期的相关操作,整理一下小做总结 日期操作离不开 java.util.Calendar 和 java.util.Date ,实体类中日期字段设计也可能用到java.sql.Date.但目 ...