• java语言基础--数据类型详解:整数没有超范围可以直接赋值给char、原码反码补码


    1、整数没有超范围可以直接赋值给char

     1 /*
     2 1、整数能否直接赋值给char
     3 2、char x = 97;
     4      这个java语句是允许的,并且输出语句结果是‘a’
     5 经过测试得出两个结论:
     6    2.1当一个整数赋值给char类型变量的时候,会自动转换成char字符型,最终结果是一个字符。
     7    2.2当一个整数没有超出byte,short,char的取值范围的时候,这个整数可以直接赋值给byte,short,char类型的变量。
     8 */
     9 
    10 public class CharTest{
    11    public static void main(String[] args){
    12       
    13           char c1 = 'a';
    14           System.out.println(c1);//输出:a
    15           
    16           //这里会做类型转换吗
    17           //97是int类型
    18           //c2是char类型
    19           char c2 = 97;
    20           System.out.println(c2);//输出:a
    21 
    22           //char类型的取值范围:【0~65525】
    23           char c3 = 65535;
    24           System.out.println(c3);
    25 
    26           //错误:不兼容类型:从int转换到char可能会有损失
    27           char c4 = 65536;
    28           //解决:
    29           char c4 = (char)65536;
    30          
    31 
    32           //编译通过 
    33           byte  x = 1;
    34           short y =1;
    35           char z = 1;
    36    }
    37 }

    2、原码反码补码

     1 /*
     2     1、计算机在任何情况下都能识别二进制
     3     2、计算机在底层存储数据的时候,一律存储的是“二进制的补码形式”
     4          计算机采用补码形式存储数据的原因是:补码形式效率最高
     5     3、对于一个正数来说:二进制原码、反码、补码是同一个,完全相同
     6     4、对于一个负数来说:二进制原码、反码(符号位不变,其他位取反)、补码(反码+1)
     7      5、分析  byte b = (byte) 150;
     8           这个b是多少?
     9           int类型4个字节150的二进制码是:
    10           00000000 00000000 00000000 10010110
    11           强制转换成byte,最终计算机中的二进制码是:
    12           10010110(补码形式)
    13            逆推出对应的原码 11101010
    14 */
    15 public class IntTest{
    16    public static void main(String[] args){
    17         byte b = (byte) 150;
    18         System.out.println(b);//输出:-106
    19    }
    20 }
  • 相关阅读:
    Java实现蓝桥杯正则切分
    VS2013 预定义的宏
    VS2015编译boost1.62
    linux 下Qt WebEngine 程序打包简单记录
    Visual Studio 默认保存为UTF8编码
    微型Http服务器Tiny Http Server
    Bootstrap Paginator分页插件
    Web前端框架与类库
    开发与常用工具清单
    程序员修炼之道
  • 原文地址:https://www.cnblogs.com/llrra/p/14636093.html
Copyright © 2020-2023  润新知