论坛首页 入门技术论坛

基本数据类型与进制关系

浏览 2482 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-09-18  

 

 

数据类型与进制~

 

 

* 总结: byte 8位,int 32位,char 16位,short 16位 都是数,只是长度不同,可以相互转换
*
* 2进制,8进制,16进制,只是一个数输出的进制方法,数值还是那个数
*
* byte,int,char等的都是数据类型,进制只是数的表现形式

 

/**
 * 总结: byte 8位,int 32位,char 16位,short 16位 都是数,只是长度不同,可以相互转换
 * 
 * 2进制,8进制,16进制,只是一个数输出的进制方法,数值还是那个数
 * 
 * byte,int,char等的都是数据类型,进制只是数的表现形式
 * @author jiang
 */
public class TestClass {

	public static void main(String[] args) {

		int i = 2;
		System.out.println("0x2 打印出来                           = " + 0x2);
		System.out.println("i=2 toHexString      = " + Integer.toHexString(i));
		System.out.println("i=2 toBinaryString   = "
				+ Integer.toBinaryString(i));
		System.out.println("i=1 toBinaryString   = "
				+ Integer.toBinaryString(1));
		i += 48;
		System.out.println("int 50 强制转换为byte = " + ((byte) i));
		System.out.println("byte 0x32            = " + ((byte) 0x32));
		System.out.println("char 的 0x32          = " + (char) 0x32);
		System.out.println("0x32与字符串相加                = " + 0x32);
		System.out.println("50变成16进制                           = "
				+ Integer.toHexString(50));
		System.out.println("48变成16进制                           = "
				+ Integer.toHexString(48));
		System.out.println("char 的 0x30          = " + (char) 0x30);

		System.out.println("==================");
		System.out.println();
		System.out.println("int整数强制转换为char,输出");
		for (int f = 0; f < 60; f++) {
			System.out.println("int " + f + " char is " + (char) f);
		}
		System.out.println("==================");
		System.out.println();
		System.out.println("int装换成16进制输出");

		System.out.println("0xA is " + Integer.parseInt("A", 16));
		System.out.println("0xb is " + Integer.parseInt("B", 16));
		System.out.println("0xc is " + Integer.parseInt("C", 16));
		System.out.println("0xd is " + Integer.parseInt("d", 16));
		System.out.println("0xe is " + Integer.parseInt("e", 16));
		System.out.println("0xf is " + Integer.parseInt("f", 16));

		for (int f = 0; f < 60; f++) {
			try {
				System.out.println("int " + f + " 0x is "
						+ Integer.parseInt(f + "", 16));
			} catch (Exception e) {
			}
		}

		System.out.println("==================");
		System.out.println();
		System.out.println("16进制输出char");
		for (int f = 0; f < 60; f++) {
			try {
				System.out.println("0x" + f + " char is "
						+ (char) Integer.parseInt(f + "", 16));
			} catch (Exception e) {
			}
		}

		byte bt = 0x32;
		int it = 0x32;
		char ct = 0x32;
		short st = 0x32;
		long lt = 0x32;
	}
}

 

 

 

 

   发表时间:2008-09-18  
  java 虚拟机中处理基本数据类型时,在操作数栈中只保留int,float,double三种基本数据类型的二进制信息,其他基本类型都转为int类型的二进制了,并且JVM中并不以实际的基本类型长度存放,而是定义了更长的以“字”为单位的栈帧,除float,double基本的类型的占用两个栈帧,其他基本类型的占用1个栈帧。
  JVM中引用类型包括:接口类型,类类型,数组类型,null类型。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics