Java_基础_6.基本数据类型(Primitive data type)

Java_基础_基本数据类型(Primitive data type)

Java中定义了8种基本数据类型

数值型- byte、 short、int、 long、float、 double
字符型- char
布尔型-boolean

/**
 * 基本数据类型(primitive data type)
 * 引用类型占用四个字节,表示的是地址
 * @author creep_creep_creep
 * 
 */

public class A_primitive {
	//数值型
	byte a;//1字节
	short b;//2字节
	int c;//4字节
	long d;//8字节
	float e;//4字节
	double f;//8字节
	//字符型
	char name;//2字节
	//布尔型
	boolean g;//1位
}

整型变量/常量

类型存储空间范围
byte1字节 − 2 7 -2^{7} 27 ~ 2 7 − 1 / 2^{7}-1/ 271/(-128~127)
short2字节 − 2 15 -2^{15} 215~ 2 15 − 1 / 2^{15}-1/ 2151/ (-32768~-32767)
int4字节 − 2 31 -2^{31} 231~ 2 31 − 1 / 2^{31}-1/ 2311/约21亿
long8字节 − 2 63 -2^{63} 263~ 2 63 − 1 2^{63}-1 2631
Java 语言整型常量的四种表示形式

十进制整数,如:99, -500, 0
八进制整数,要求以 0 开头,如:015
十六进制数,要求 0x 或 0X 开头,如:0x15
二进制数,要求0b或0B开头,如:0b01110011

Java语言的整型常数默认为int型,声明long型常量可以后加‘ l ’或‘ L ’ 。

/**
 *  测试基本数据类型
 * @author creep_creep_creep
 *
 */

public class A_integer {
	public static void main(String[] args) {
		int a=15;
		int b=015;//八进制
		int c=0x15;//十六进制
		int d=0b1111;//二进制
		
		System.out.println(a);//15
		System.out.println(b);//13
		System.out.println(c);//21
		System.out.println(d);//15
		
		long a = 6666666;  //编译成功,在int表示的范围内(21亿内)。
		long b = 66666666666;//不加L编译错误,已经超过int表示的范围。
		long b = 66666666666L;

	}

}

浮点型变量/常量

类型存储空间范围
float4字节-3.403E38~3.403E38
double8字节-1.798E308~1.798E308
  • float类型又被称作单精度类型,尾数可以精确到7位有效数字。
  • double表示这种类型的数值精度约是float类型的两倍,又被称作双精度类型。
  • 浮点型常量默认类型也是double。
Java浮点类型常量有两种表示形式
  1. 十进制数形式,例如:3.14 314.0 0.314
  2. 科学记数法形式,如314e2 314E2 314E-2
  • float类型的数值有一个后缀F或者f ,没有后缀F/f的浮点数值默认为double类型。
  • 可以在浮点数值后添加后缀D或者d, 以明确其为double类型。
import java.math.*;//导包
/**
 * 测试浮点型
 * @author creep_creep_creep
 *
 */
public class A_floating {
	public static void main(String[] args) {
		float a=3.14f;
		double b=6.28;
		double c=628E-2;
		
		System.out.println(c);//6.28
		
		//浮点数不精确,不能用作比较
		float d1=0.1f;
		double d2=1.0/10;
		System.out.println(d1==d2);//false
		
		float f1=4343433434f;
		float f2=f1+1;
		System.out.println(f1==f2);//true
		
		BigDecimal bd=BigDecimal.valueOf(1.0);
		bd=bd.subtract(BigDecimal.valueOf(0.1));
		bd=bd.subtract(BigDecimal.valueOf(0.1));
		bd=bd.subtract(BigDecimal.valueOf(0.1));
		bd=bd.subtract(BigDecimal.valueOf(0.1));
		bd=bd.subtract(BigDecimal.valueOf(0.1));
		System.out.println(bd);//0.5
		System.out.println(1.0-0.1-0.1-0.1-0.1-0.1);//0.5000000000000001
		
		BigDecimal bd2=BigDecimal.valueOf(0.1);
		BigDecimal bd3=BigDecimal.valueOf(1.0/10);
		System.out.println(bd2.equals(bd3));//true
	}
}

字符型变量/常量

  • 字符型在内存中占2个字节,在Java中使用单引号来表示字符常量。’A’是一个字符,”A”表示含有一个字符的字符串。
  • char 类型用来表示在Unicode编码表中的字符。Unicode编码被设计用来处理各种语言的文字,它占2个字节,可允许有65536个字符。
  • Unicode具有从0到65535之间的编码,他们通常用从’\u0000’到’\uFFFF’之间的十六进制值来表示(前缀为u表示Unicode)
  • Java 语言中还允许使用转义字符 ‘\’ 来将其后的字符转变为其它的含义。常用的转义字符及其含义和Unicode值如表2-6所示。
转义符含义Unicode值
\b退格(backspace)\u0008
\n换行\u000a
\r回车\u000d
\t制表符(tab)\u0009
\“双引号\u0022
\‘单引号\u0027
\\反斜杠\u005c
/**
 * 测试字符类型
 * @author creep_creep_creep
 *
 */
public class A_char{
	public static void main(String[] args) {
	char a='z';
	char b='中';
	char c='\u0061';
	
	System.out.println(c);	//a
	
	System.out.println("a"+"\b"+"b");//退格 ab
	System.out.println("a"+"\n"+"b");//换行	a
									 //		b
	System.out.println("a"+"\r"+"b");//回车 a
									 //		b
	System.out.println("a"+"\t"+"b");//制表符(tab) a	b
	System.out.println("a"+"\""+"b");//双引号  a"b
	System.out.println("a"+"\'"+"b");//单引号  a'b
	System.out.println("a"+"\\"+"b");//反斜杠  a\b
	}
}

boolean类型变量/常量

  • boolean类型有两个常量值,true和false,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。 boolean 类型用来判断逻辑条件,一般用于程序流程控制 。
/**
 * 测试布尔类型
 *Less is More
 *@author creep_creep_creep
 *
 */

public class A033BuErXing {
	public static void main(String[] args) {
		boolean flag;
		flag=true;
		if(flag){
			System.out.println("正确");//正确
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值