Java基本数据类型

数据类型定义和分类

计算机在运算时需要指定数据的类型,,不同的类型决定数据不同的内存空间大小和存储形式。

Java的数据类型可分为两大类:基本数据类型:byteshortintlongdoublefloatbooleanchar;引用数据类型:类、接口、数组、枚举、注解。

基本数据类型的赋值方式

public class FuZhi{
	public static void main(String[] args){
		//整型
		int age=19;            //把十进制整数19赋值给age
		System.out.println(age);           //输出age
		age=0b11;       //把二进制整数11赋值给age
		System.out.println(age);            
		age=017;          //把八进制整数17赋值给age
		System.out.println(age);            
		age=0x1f;         //把十六进制整数1f赋值给age
		System.out.println(age);                  
		System.out.println("~~~~~~~~~~~~~~~~~~~~");
		//double型
		double price=9.9;   //直接赋值
		System.out.println(price);
		price=0.88E1;         //以指数方式赋值
		System.out.println(price);
		System.out.println("~~~~~~~~~~~~~~~~~~~~");
		//字符型
		char letter=65;        //ASCII码65即A
		System.out.println(letter);
		letter='B';                //直接赋值加单引号
		System.out.println(letter);
		letter='\u0043';         //unicode码0043即C
		System.out.println(letter);
		
	}
}

编译运行后的结果如下

注意: float f = 1.3;是错误的,1.3默认是double型的。在对float数据进行赋值时,要在数字的后面添加f(或F),否则Java编译器会认为1.3是一个double类型的数值,而double不能直接赋值给float类型,故:正确赋值方式应为float f1 = 1.3f。

某些特殊的字符可以采用转义字符'\'来表示,以将其后面的字符转变为其它含义,例如:

 char c1 = '\t';//制表符
 char c2 = '\n';//换行符-New Line
 char c3 = '\r';//回车符-Carriage Return

Unicode与ASCII的区别

1、两者都是一种编码规范;

2、ASCII是专门用来表示英文字符;而Unicode可以表示所有字符,编码范围比ASCII更大(ASCII可表示255个字符,即1个字节);

3、Unicode编码表与ASCII编码表前127个字符(即排除了ASCII编码表扩展字符)相同。

布尔型,又称逻辑类型,只有truefalse两个取值,默认初始值为false。这区别与C语言,在C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真。二进制逻辑Java规定1为真0为假。

Java数据类型转换

分类: 自动类型转换 和  强制类型转换 

1、将表示范围小的数据类型赋值给表示范围大的数据类型时,Java自动使用隐式类型完成数据类型转换。

      低-------------------------------------------------------------------------------------------------------------------------->

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

float x=100;//int赋给float,x值为100.0
double y;
int z=50;
y=z;      //int赋给double,y值为50.0

2、当把级别高的变量赋值给级别低的变量时,必须使用显式类型转换。显示转换格式:(要转换的类型)被转换的值。

int x=(int)23.89;    //x的值为23
long y=(long)34.98F; //y的值为34
byte z = (byte)256;  //z的值为0,数据结果出现溢出

注意:

             显式类型转化(强制类型转换)可能导致数据精度损失或溢出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值