Java数据类型

本文详细介绍了Java中的8种简单数据类型,包括整数类型(byte, short, int, long)及其取值范围,浮点类型(float, double)的表示形式和范围,以及字符型(char)和布尔型(boolean)的使用。示例代码展示了各种数据类型的声明和使用,同时讲解了转义字符和Unicode编码。此外,还提及了Java中的引用数据类型,如类、接口和数组。

数据类型

简单数据类型(8种)

8种简单数据类型有效范围

数值型

数值型一共分两类,整数类型(byte,short,int,long)和浮点类型(flaot,double)

一、整数类型:用来存储整数数值,即没有小数部分的数值。可以是正数,也可以是负数。

取值范围

 

java语言整型常量三种表示形式:

  1. 十进制整数,如21,-111,0(就和我们平时用的十进制是一样的)
  2. 八进制整数,要求以0开头,数字不能超过8,如0123
  3. 十六进制整数,要求以0x或0X开头,如0X123

 注:Java中整型常量默认为int型;声明long型常量在末尾加 l 或 L 以示区分,在超过int型范围的情况下,不加L或l会报错

	public static void main(String[] args) {
		byte a1 = 10;
		//byte a2 = 128;  错误,超出了byte取值范围
		short s = 123;
		int i = 10000000;
		long l = 222222222222L;
		
		//十进制
		int a = 10;
		int b = -20;
		int c = 0;
		
		//八进制
		int m = 0123;//3*8^0+2*8^1+1*8^2=3+16+64=83
		int n = 0102;//2*8^0+0*8^1+1*8^2=2+0+64=66
		System.out.println("m="+m);
		System.out.println("n="+n);
		//int t = 0128;//八进制不能出现8
		
		//十六进制:以 0x 开头,
		int x = 0x123;//3*16^0+2*16^1+1*16^2=3+32+256=291
		int y = 0x103;//3*16^0+0*16^1+1*16^2=3+0+256=259
		System.out.println("x="+x);
		System.out.println("y="+y);
		
		int z = 0xa2;//2*16^0+10*16^1=2+160=162
		System.out.println("z="+z);
	}

 

 二、浮点类型:表示有小数部分的数字,分为单精度浮点类型和双精度浮点类型

取值范围
类型占用存储空间表数范围
flaot4字节-3.403E38~3.403E38
double8字节-1.798E308~1.798E308

两种表现形式:

  1. 十进制形式,必须含有小数点:3.14、314.0、.314
  2. 科学计数法:3.14e2、3.14E2、314E2

注:Java中浮点型常量默认为double型,float型常量要在末尾加 f 或 F

public class FloatTest {

	public static void main(String[] args) {
		//十进制:必须含有小数点
		double d = 3.14;
		double e = 2;//2.0
		double f = .314;//0.314
			
		//科学计数法:字母e/E后必须为整数
		double x = 2.12e2;//2.12*10^2
		double y = 12E10;//12.0*10^10
		
		//声明一个浮点类型的数据时,默认为double型
		//若要声明float变量,必须加上 f 或 F
		float m = 3.14f;
		float n = 21.1F;
	}

字符型(char)

  • char型数据用来表示通常意义上的“字符”,用来存储单个字符
  • 字符常量是用单引号括起来的单个字符
  • Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示(前缀为u表示Unicode )
  • Java语言中允许使用转移字符 '\' 来将其后的字符转变为其它的含义
    特殊字符
    转义符含义Unicode值
    \b退格(backspace)\u0008
    \n换行\u000a
    \r回车\u000d
    \t制表符(tab)\u0009
    \"双引号\u0022
    \'单引号\u0027
    \\反斜杠\u005c
    public class CharTest {
    	public static void main(String[] args) {
    		//表示一个字母
    		char c1 = 'A';
    		//表示一个汉字
    		char c2 = '你';
    		//根据Unicode编码得到一个字符
    		char c3 = '\u0061';
    		//通过下标值获取Unicode编码中的字符
    		char c4 = 20320;
    		System.out.println("c1 = "+c1);
    		System.out.println("c2 = "+c2);
    		System.out.println("c3 = "+c3);
    		System.out.println("c4 = "+c4);
    		//转义字符的使用
    		System.out.println("这是转义字符\n\t你好\n\t世界");
    }

     

布尔型(boolean)

  • boolean适用于逻辑运算,一般用于程序流程控制中作为条件判断
  • 只允许取值true或flase,不可以用0或非0的整数替代
  • 布尔值不能与整数类型进行转换
  • public static void main(String[] args) {
    		boolean a = false;
    		if(a){//如果值为true,才会执行后面语句
    			System.out.println("a is true");
    		}else {
    			System.out.println("a is flase");
    		}
    }

     

引用数据类型(3种)

类(class)、接口(interface)、数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值