zoukankan      html  css  js  c++  java
  • 10.整形数据类型

    java整型包括:byte/short/int/long
    java语言整数型常量有三种表示方法:
    十进制
    八进制:八进制以0开头,如013
    十六进制:十六进制0x开头 如0x23
    java语言整数型默认为int类型,如果要声明=成long类型在变量值后加入L,如:long 1=999999999L;


    int i4 =100;//将一个int类型100字面值赋给i4变量

    //将一个int类型的123字面值赋给long类型的i1
    //int 类型容量小于long类型
    //以下程序存在类型转换,只不过叫"自动类型转化"
    long i2=123;

    //由于123后面有一个L,所以上来就会把123看做long类型,
    //所以以下类型不存在类型转化,只是一个普通的赋值运算
    long i3 =123L;


    //可以int类型-->long类型,自动转换
    long i3=2147483647;


    //程序将2147483648看做int类型,但是这个数据本身已经超出了int的取值范围。
    long i4=2147483648;//所以会报错因为是过大的整数

    long i4=2147483648L;//这样不会报错。


    public class DateTypeTest02{
    public static void main(String[] args){
    long i1=1000L;

    //将long类型转换成int类型,不能自动类型转化;编译无法通过
    int i1=11;

    //需要强制转化;需要加强制转化符;加
    //加强制转化符后,虽然编译通过了,但是程序在运行阶段可能损失精度,所以一定要谨慎使用
    int i1=(int)i1;


    //记忆一个规则,如果这个整数没有超出byte的取值范围,可以直接将这个整数赋值给byte类型
    byte b1=10;
    byte b2=127;//这两个都是可以通过的

    byte b3=128;//128本身已经超出了byte的取值范围,所以会编译失败,此时应加强制类型转化符。

    //如果整数本身没有超出short的取值范围,可以将这个证书直接赋值给short
    short s1=32767;

    //若果整数本身已经超出了short的取值范围,则无法编译通过,需要加强制类型转化符
    short s2=short(32768);


    //最后结论:如果整数没有超过byte,short,char的取值范围,可以直接将这个证书赋值给byte,short,char
    char u1=97;
    char u2=65535;

    char u3=65536;


    }
    }

    int 类型转换成long类型只要不超过int的取值范围就可以自动转换
    超过了以后可以在后面加一个L就能正常转换了
    但long类型转换成int类型必须用强制类型转换

  • 相关阅读:
    Linux的文本编辑和文本内容查看命令
    服务器日志查看处理(一)
    MAC 系统java开发环境搭建教程
    git撤销已经push到远端的commit
    Centos7 编译安装 Libmcrypt 库
    curl和wget的区别和使用
    docker 安装vim和yum命令
    docker安装GD扩展
    【docker】为docker下的php容器安装php-redis扩展【编译安装】
    mysql大表优化方案
  • 原文地址:https://www.cnblogs.com/yyh8/p/6655173.html
Copyright © 2011-2022 走看看