zoukankan      html  css  js  c++  java
  • 【Java基础领域】 byte num = 100 没有强制类型转换,为什么也可以编译通过

    我们知道在java中 整形默认是int类型

    byte num = 100; //也就是相当于100 是Int类型   但是我们并没有做强制类型转换,就可以直接赋值给num  num的类型是byte类型, 针对这个问题作出如下解释。

    package com.hblg.day02;
    
    /**
     * @author i
     * @create 2019/9/3 21:10
     * @Description java编译器的优化
     *   对于byte/short/char三种类型来说,如果右侧赋值的数值没有超过范围
     *   那么javac编译器就会自动隐含地为我们不上一个强制类型转换(byte)(short)(char)
     *   1、如果没有超出左侧的范围,自动不上强制类型转换
     *   2、如果超出左侧的范围,编译直接报错
     */
    public class DemoNotice {
    
        public static void main(String[] args) {
            byte num = 100;  //相当于是 byte num = (byte)100;
    
    //        byte num2 = 128; 编译失败
    
            char char1 = 65; //相当于  char char1 = (char)65;
        }
    
    }
    
  • 相关阅读:
    selenium修改cookie
    unittest同时支持参数化和生成html报告
    webdriver API
    selenium中CSS选择器定位
    VirtualBox中安装CentOS 7_Linux
    Selenium常见问题
    RFS常见问题
    RFS--RequestLibrary
    Fiddler抓取HTTPS请求配置
    Redis
  • 原文地址:https://www.cnblogs.com/qxlxi/p/12860820.html
Copyright © 2011-2022 走看看