`
m635674608
  • 浏览: 5061380 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Java中的数据类型

    博客分类:
  • java
 
阅读更多
  • 1 bit     = 1  二进制数据
  • 1 byte  = 8  bit
  • 1 汉字 = 2  byte = 16 bit


1. bit:位
    一个二进制数据0或1,是1bit;
2. byte:字节
    存储空间的基本计量单位,如:MySQL中定义 VARCHAR(45)  即是指 45个字节;
    1 byte = 8 bit

Byte:有符号整形 用二进制表示时候最高位为符号位 0代表正数 1代表负数 8bit -128(-2^7     1000 0000) --- 127(2^7 - 1     0111 1111)
正数在计算机中是以原码形式存在的,负数在计算机中是以其补码(负数的绝对值的原码转为二进制再按位取反后加1)形式存在的
Short:作为2字节16位有符号整形
Int:作为4字节32位有符号整形
Long:作为8字节64位有符号整形
Char作为16位无符号整形 其范围为 0 -- 2的15次方(最小:'\u0000' 最大:'\uFFFF')
Float作为32位的浮点型
Double 作为64为浮点型

2^7 = 128
2^15 = 65536
2^31 = 2147483648
2^63 = 9223372036854775808

/**
 * Java中的位,字节,字母,汉字之间的关系
 * @see =========================
 * @see 1 bit  = 1 二进制数据
 * @see 1 byte = 8 bit (范围:-128到+127)
 * @see 1 字母 = 1 byte = 8 bit
 * @see 1 汉字 = 2 byte = 16 bit
 * 
 */    www.2cto.com
public class ByteDemo { 
    /**
     * @see 控制台打印结果,如下
     * @see 4
     * @see 4
     * @see ----------------------------
     * @see str=ABab
     * @see 65
     * @see 66
     * @see 97
     * @see 98
     * @see ----------------------------
     * @see name=玄玉
     * @see -48
     * @see -2
     * @see -45
     * @see -15
     * @see ----------------------------
     */ 
    @SuppressWarnings("unused") 
    public static void main(String[] args) { 
        //byte bb11 = 128;  //cannot convert from int to byte 
        //byte bb22 = -129; //cannot convert from int to byte 
        byte bb11 = 127; 
        byte bb22 = -128; 
        byte bb33 = 56; 
         
        //byte bb44 = '玄'; //错误,因为: 1汉字==2字节 
        //byte bb55 = 'bb'; //错误,因为: 'bb'==2字节 
        byte bb44 = 'b'; 
        byte bb55 = 'B'; 
        byte bb66 = 'Z'; 
         
        //int i11 = "玄玉";  //1 int = 32 bit, but int is numeral 
        //short ss = '玄玉'; //1 short = 2 byte = 16 bit = 1 汉字 
        short ss11 = '玄'; 
         
        //char cc11 = '玄玉'; //这样是不可以的 
        //char cc22 = 'cc';  //这样是不可以的 
        char cc11 = '玄'; 
        char cc22 = 'c'; 
         
        String str = "ABab"; 
        byte[] data = str.getBytes(); 
        System.out.println(str.length()); 
        System.out.println(data.length); 
        System.out.println("----------------------------"); 
         
        System.out.println("str=" + new String(data)); 
        for(int i=0; i<data.length; i++){ 
            System.out.println(data[i]); 
        } 
        System.out.println("----------------------------"); 
         
        byte[] name = "玄玉".getBytes(); 
        System.out.println("name=" + new String(name)); 
        for(int i=0; i<name.length; i++){ 
            System.out.println(name[i]); 
        } 
        System.out.println("----------------------------"); 
    } 
} 

   

package com.test;
import java.util.Arrays;
public class T {
	/**
	 * 将byte转换为一个长度为8的byte数组,数组每个值代表bit
	 */
	public static byte[] getBooleanArray(byte b) {
		byte[] array = new byte[8];
		for (int i = 7; i >= 0; i--) {
			array[i] = (byte)(b & 1);
			b = (byte) (b >> 1);
		}
		return array;
	}
	/**
	 * 把byte转为字符串的bit
	 */
	public static String byteToBit(byte b) {
		return ""
				+ (byte) ((b >> 7) & 0x1) + (byte) ((b >> 6) & 0x1)
				+ (byte) ((b >> 5) & 0x1) + (byte) ((b >> 4) & 0x1)
				+ (byte) ((b >> 3) & 0x1) + (byte) ((b >> 2) & 0x1)
				+ (byte) ((b >> 1) & 0x1) + (byte) ((b >> 0) & 0x1);
	}
	public static void main(String[] args) {
		byte b = 0x35; // 0011 0101
		// 输出 [0, 0, 1, 1, 0, 1, 0, 1]
		System.out.println(Arrays.toString(getBooleanArray(b)));
		// 输出 00110101
		System.out.println(byteToBit(b));
		// JDK自带的方法,会忽略前面的 0
		System.out.println(Integer.toBinaryString(0x35));
	}
}

   

/**
 * 二进制字符串转byte
 */
public static byte decodeBinaryString(String byteStr) {
	int re, len;
	if (null == byteStr) {
		return 0;
	}
	len = byteStr.length();
	if (len != 4 && len != 8) {
		return 0;
	}
	if (len == 8) {// 8 bit处理
		if (byteStr.charAt(0) == '0') {// 正数
			re = Integer.parseInt(byteStr, 2);
		} else {// 负数
			re = Integer.parseInt(byteStr, 2) - 256;
		}
	} else {// 4 bit处理
		re = Integer.parseInt(byteStr, 2);
	}
	return (byte) re;
}

 

分享到:
评论

相关推荐

    java中数据类型转换

    java中数据类型转换 收藏 java中数据类型转换 1如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2). int i =...

    Java中数据类型和MYSQL中数据类型的对比

    Java 和 MySQL 数据类型之间的对比是理解数据库操作和应用程序开发中数据处理的关键。这两种语言的数据类型在功能和使用上都有所不同,尽管它们都用于存储和处理数据,但各自有着特定的适用场景和特点。 首先,Java...

    sqlserver数据库类型对应Java中的数据类型

    SQL Server 数据库类型对应 Java 中的数据类型 SQL Server 是一个关系数据库管理系统,Java 是一个...了解 SQL Server 数据库类型对应 Java 中的数据类型是非常重要的,这样可以确保在 Java 中正确地处理数据库操作。

    Java数据类型和MySql数据类型对应一览

    在本文中,我们将对 Java 数据类型和 MySql 数据类型进行对应一览,帮助开发者更好地理解和使用这两种类型。 字符串类型 在 Java 中,字符串类型对应的是 java.lang.String 类型。在 MySql 中,字符串类型对应的是...

    Java中的基本数据类型PrimaryTypes

    Java中的基本数据类型Java中的基本数据类型Java中的基本数据类型Java中的基本数据类型Java中的基本数据类型Java中的基本数据类型Java中的基本数据类型Java中的基本数据类型Java中的基本数据类型Java中的基本数据类型...

    Java数据处理

    详细介绍了数据处理的诸多事项,是Java学习的基础部分,总结分点,详细介绍,重点突出。

    java数据处理代码

    在数据处理中,多线程常用于分布式计算,例如Hadoop或Spark框架,它们将数据集分割成多个部分并在多个节点上并行处理。 关于标签中的“匹配”可能指的是数据匹配或关联,这是数据处理中的一个关键步骤,用于找出...

    JAVA数据类型思维导图

    本资源“JAVA数据类型思维导图”提供了一种直观的方式来理解和记忆Java中的数据类型,包括基本数据类型和引用数据类型。下面将对这两个主要的数据类型进行详细解释。 1. 基本数据类型(Primitive Data Types) - ...

    Mysql、orcale 中的数据类型与java中的数据类型对应表.pdf

    Mysql、Oracle 中的数据类型与 Java 中的数据类型对应表 MySQL 和 Oracle 是两种常用的关系型数据库管理系统,而 Java 是一种广泛应用于企业级应用开发的编程语言。在数据库应用开发中,理解数据类型的对应关系...

    Java基础数据类型

    java基础数据类型。

    Java数据类型和MySql数据类型对应表

    在 Java 编程中,了解 Java 数据类型和 MySql 数据类型的对应关系非常重要。这是因为在 Java 应用程序中,我们经常需要与数据库进行交互,而 MySql 是一种常用的关系数据库管理系统。在本文中,我们将详细介绍 Java ...

    JAVA中的数据字典

    8. **元数据**:在Java中,元数据是关于数据的数据,如字段的数据类型、长度、精度等。这些信息在构建数据字典时非常重要,可以使用Java反射API来获取。 9. **异常处理**:在处理数据时,错误和异常是常见的。Java...

    JAVA基本数据类型

    非常明了的介绍了JAVA的基本数据类型,为以后打好坚实基础。

    Java通用数据处理技术.pdf

    1. Java在数据处理中的应用:Java是一种广泛使用的编程语言,在数据处理领域有着广泛的应用。文档可能介绍Java如何处理不同类型的数据,包括数据的收集、存储、分析和展示。 2. 大数据处理技术:由于标签中提到了...

    JAVA数据类型与Hibernate的类型映射

    这篇博客主要探讨了Java数据类型如何与Hibernate的类型映射进行对应。 首先,Java的基本数据类型在Hibernate中有对应的类型映射。例如,int型在Hibernate中通常映射为Integer类型,因为数据库字段可能允许为空...

    JAVA的基本数据类型

    JAVA的基本数据类型

    java中jython操作把python数据类型转成java类型

    在Java中,Jython是一个非常有用的工具,它允许我们在Java应用程序中嵌入Python代码,并能够无缝地在Python数据类型和Java数据类型之间进行转换。这极大地扩展了Java的生态系统,让我们能够利用Python丰富的库和简洁...

    Oracle9i数据类型Java数据类型Schema类型对比.doc

    通过了解这些数据类型之间的对应关系,开发者可以更好地将 Java 应用程序中的数据转换为适合存储在数据库中的格式,反之亦然,从而实现高效的数据交换和处理。同时,XML 文件的使用使得这些映射关系可以被结构化地...

    Java实验-基本数据类型及操作

    本实验报告将介绍Java中的基本数据类型、数据类型转换、控制台输入输出方法和对话框输入输出方法。 一、基本数据类型 Java中的基本数据类型包括整型(int)、浮点型(float、double)、布尔型(boolean)、字符型...

    22.java数据类型.zip

    22.java数据类型.zip22.java数据类型.zip22.java数据类型.zip22.java数据类型.zip22.java数据类型.zip22.java数据类型.zip22.java数据类型.zip22.java数据类型.zip22.java数据类型.zip22.java数据类型.zip22.java...

Global site tag (gtag.js) - Google Analytics