zoukankan      html  css  js  c++  java
  • Java 基本数据类型

    java 的两大数据类型

    • 内置数据类型
    • 引用数据类型

    1. 内置数据类型

    Java 语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
    基本数据类型

    • 整数的默认类型是 int。

    • 定义 long 数据时,必须加后缀l或L。

    • 在定义 float 类型时必须在数字后面跟上 F 或者 f。

    • byte、int、long、和short都可以用十进制、16进制以及8进制的方式来表示。当使用常量的时候,前缀0表示8进制,而前缀0x代表16进制。

    • 自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下:

    低--------------------------------------------->高

    byte->short->char-> int -> long -> float -> double

    • 合法转换


    虚箭头表示可能会损失精度。

    • 强制转换的格式是在需要转型的数据前加上“( )”,然后在括号内加入需要转化的数据类型。Math.round()可以将浮点数舍入到最接近的整数,不过其返回值为long类型。

    • 基本数据类型中,布尔类型boolean占有一个字节,由于其本身所代码的特殊含义,boolean类型与其他基本类型不能进行类型的转换(既不能进行自动类型的提升,也不能强制类型转换), 否则,将编译出错。

    byte:

    • byte数据类型是8位、有符号的,以二进制补码表示的整数(四个整数型之一);
    • 最小值是-128(-2^7);
    • 最大值是127(2^7-1);
    • 默认值是0;
    • byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int类型的四分之一
    • 例子:byte a = 100,byte b = -50。

    boolean:

    • boolean数据类型表示一位的信息;
    • 只有两个取值:true和false;
    • 这种类型只作为一种标志来记录true/false情况;
    • 默认值是false;
    • 例子:boolean one = true。

    对于数值类型的基本类型的取值范围,我们无需强制去记忆,因为它们的值都已经以常量的形式定义在对应的包装类中了。如:

    public class PrimitiveTypeTest{
       public static void main(String[] args){
          System.out.println("基本类型: byte 二进制位数:" + Byte.SIZE);
          System.out.println("包装类:java.lang.Byte");  
          System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);  
          System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);  
          System.out.println();      
      }
    }
    

    但是实际的运行并不顺利,报错说“编码GBK的不可映射字符”。学了点Python来着,好像要指定用 UTF-8 编码,于是就加了句# -*- coding: utf-8 -*-,然而果然还是不行啊,天真。百度了一下,大概是编译.java时,如果没有用-encoding utf-8这样指定编译的编码格式的话,javac.exe会按照我们系统默认的编码格式来编译。这样,如果你.java的编码和OS默认的编码不一样的话,当然会出现乱码。原来在VSCode是用utf-8编码保存的.java文件,编译时加上参数-encoding utf-8,就可以正确编译运行。或是在VSCode把.java文件改成用GBK编码来保存,也可以正确的编译运行。

    运行结果:

    2. 引用类型

    • 在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如Employee、Pubby等。变量一旦声明后,类型就不能被改变了。
    • 对象数组接口都是引用数据类型。
    • 所有引用类型的默认值都是null。
    • 一个引用变量可以用来引用与任何与之兼容的类型。

    参考资料

  • 相关阅读:
    一种字段串的拆分
    获取存储过程返回值的几种方式
    使用表值参数(数据库引擎)
    转 Dynamics CRM Alert and Notification JavaScript Methods
    CRM 2016 自定义对话框
    CRM 2016 子表单中N:1关系 字段要求与新建时的关系
    恢复CRM plugin
    CRM Diagnostics CRM 2016 诊断
    [Windows] Visual Studio 2010 快捷键大全
    [Java] Web开发HTTP状态码整理
  • 原文地址:https://www.cnblogs.com/mingyueanyao/p/6614061.html
Copyright © 2011-2022 走看看