【java编程基础】第10讲 常用基本数据类型

整数类型

Java语言中描述整数数据的类型有:byte,short、int、long、推荐int类型 

其中byte类型在内存空间中占1个字节,表示范围是:-2^7~2^7-1  => (-2^(8-1))~2^(8-1))

其中short类型在内存空间中占2个字节,表示范围是:-2^15~2^15-1  => (-2^(16-1))~2^(16-1))

其中int类型在内存空间中占4个字节,表示范围是:-2^31~2^31-1  => (-2^(32-1))~2^(32-1))

其中int类型在内存空间中占8个字节,表示范围是:-2^31~2^31-1  => (-2^(63-1))~2^(63-1))

在Java程序中直接写出的整数数据叫做直接量/字面值/常量,默认为int类型。若希望表达更大的直接量,则在直接量的后面加上l或者L,推荐L。

整数类型的编程使用

/*
   编程实现整数类型的使用
*/
public class IntTest {
	public static void main (String[] args)
	{
		//1.申明一个byte类型的变量并初始化
		byte b1 = 25;
		//byte b1 = 250;  //错误:不兼容的类型:从int转换到short可能会有损失 250这样直接写出来的整数数据叫做直接量/常量/字面值 默认为int类型
		//2.打印变量的数值
		System.out.println("b1 = "+b1); //b1=25
		System.out.println("---------------------------------------------------"); 
	    //3.声明一个short类型的变量并初始化
		short s1 =250;
		//short s1 =250250; //错误:不兼容的类型:从int转换到short可能会有损失
		System.out.println("s1 = "+s1);
		System.out.println("---------------------------------------------------"); 
		//4.声明一个int类型的变量并初始化
		int i1 =250250;
		//int i1 =2502505006;  //错误:整数太大
		System.out.println("i1 = "+i1);
		System.out.println("---------------------------------------------------"); 
		//int   l1 =2502505006L; //错误:不兼容的类型:从long转换到int可能会有损失
		//5.声明一个long类型的变量并初始化,若描述比long类型还打的数据则使用java.math.BigInteger类型
		long  l1 =2502505006L;
		System.out.println("l1  = "+l1 );
	}
}

浮点类型

 Java语言中用于描述小数数据的类型:float和double,推荐double类型

其中float类型的内存空间占4个字节,叫做单精度浮点数,可以表示7位有效数字,范围:-3.403E38~3.403E38

其中double类型在内存空间占8个字节,叫做双精度浮点数,可以表示15位有效数字,范围:-1.798E308~1.798E308

Java程序中直接写出的小数数据叫做直接量,默认为double类型,若希望表达float类型的直接量,则需要在直接量的后面加上f或者F。

/*
编程实现浮点类型的使用
*/
public class DoubleTest {
	public static void main(String[] args) {
		// 1.声明一个float类型的变量并初始化
		//float f1 = 3.1415926; //小数数据叫做直接量,默认double类型
		float f1 = 3.1415926f;
		// 2.打印变量的数值
		System.out.println("f1 = " +f1);
		System.out.println("---------------------------------------------------");
		double d1 = 3.1415926;
		System.out.println("d1 = " +d1);
		System.out.println("---------------------------------------------------");
		System.out.println(0.1+0.2);//float 和double 元素时可能会有误差,若希望实现精确运算则借助java.math.BigDecimal类型
		
	}
}

执行

 布尔类型

 Java语言中用于描述真假信息类型有:boolean,数值只有:true和false

布尔类型在内存空间中所占大小没有明确的规定,可以认为是1个字节。

代码实现:

/*
编程实现浮点类型的使用
*/
public class BooleanTest {
	public static void main (String[] args) {
		//1.声明一个boolean类型的变量并初始化
		boolean b1 = true;
		//2.打印变量的数值
		System.out.println("b1 = " +b1);
		
		System.out.println("--------------------------------------");
		//3.修改变量b1的数值
		b1 = false;
		System.out.println("b1 = " +b1);
		
	}
}

执行结果:

 字符类型

 Java语言中用于描述单个字符的数据类型:char类型。如:“a”,"中"等。

其中char类型在内存空间中占2个字节并且没有符号位,表示的范围是:0~65525,由于现实生活中很少有数据能够被单个字符描述,因此以后的开发中更多的使用由多个字符串起来组成的字符串,使用String类型加以描述,如:“hello”,“奇点”等。

计算机的底层只识别0和1组成的二进制序列,对于字符“a”这样的图案来说不满足该规则,因此该数据无法直接在计算机中存储,但现实生活中存在这样的图案数据需要计算机存储,为了使得该数据能够存储起来就可以给该数据规定一个编号,然后将编号存储起来即可,该编号就叫ASCII 。

必须记住的ASCII:

‘0’——48

‘A’——65

‘a’——97

空格——32

换行符——10

 代码实现:

/*
   编程实现字符类型的使用
*/
public class CharTest {
	//1.声明一个char类型的变量并初始化
	
	public static void main (String[] args) {
		char c1 = 'a';
		//2.打印变量的数值
		System.out.println("c1 = " +c1);
		System.out.println("对应的编号是:" + (int)c1); //表示将char类型的c1强制转换为int类型并打印
		
		System.out.println("-------------------------------------");
		//3.声明一个char类型的变量并初始化
		char c2 = 98;
		System.out.println("c2 = " +c2);
		System.out.println("对应的编号是:" +(int)c2);
	}
}

 执行结果:

Java字符类型采用Unicode字符集编码。Unicode是世界通用的定长字符集,所有的字符都是16位。

代码实现:

/*
   编程实现字符类型的使用
*/
public class CharTest {
	//1.声明一个char类型的变量并初始化
	
	public static void main (String[] args) {
		//使用Unicode字符集来表示一下我的名字 娜年花开 对应的编号是:\u5a1c\u5e74\u82b1\u5f00
		char c1 = '\u5a1c';
		char c2 = '\u5e74';
		char c3 = '\u82b1';
		char c4 = '\u5f00';
		System.out.println("最终的结果"+c1+c2+c3+c4);
	}
}

执行结果:

基本数据类型之间的转换

Java语言中基本数据类型之间的转换方式:自动类型转换和强制类型转换

其中自动类型转换主要指从小类型到大类型之间的转换

代码实现:

/*
  编程实现基本数据类型之间的转换的使用
*/
public  class TransformTest {
	public static void main(String[] args){
		//1.声明两个变量并初始化
		byte b1 = 10;
		short s1 = 20;
		//2.打印变量的数值
		System.out.println("b1 = " + b1 );
		System.out.println("s1 = " + s1 );
		
		System.out.println("-------------------------" );
		//3.实现自动类型转换的使用
		// 表示将变量b1的数值赋值给变量s1,并覆盖变量s1中原来的数值,相当于从byte类型到short类型的转换,小到大, 自动转换
		s1 = b1;
		System.out.println("b1 = " + b1 );
		System.out.println("s1 = " + s1 );
	}
}

 执行结果:

其中强制类型转换要指从大类型到小类型之间的转换,语法格式如下:

目标类型 变量名 = (目标类型)源类型变量名;

代码实现:

/*
  编程实现基本数据类型之间的转换的使用
*/
public  class TransformTest {
	public static void main(String[] args){
		//1.声明两个变量并初始化
		byte b1 = 10;
		short s1 = 20;
		//2.打印变量的数值
		System.out.println("b1 = " + b1 );
		System.out.println("s1 = " + s1 );
		
		System.out.println("-------------------------" );
		s1=128;
		//4.实现强制类型转换的使用
		// 表示将变量s1的数值赋值给变量b1,并覆盖变量b1中原来的值,相当于从short类型到byte类型的转换
		b1 =(byte)s1;
		System.out.println("b1 = " + b1 );
		System.out.println("s1 = " + s1 );
	}
}

执行结果:

 备注:

128:0000 0000 1000 0000 =>1000 1000 => 0111 1111 =>1000 0000 => 128 =>-128

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值