Java之基本数据类型

举报
兮动人 发表于 2021/08/09 12:50:10 2021/08/09
【摘要】 Java之基本数据类型

数据类型

  • 每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间(字节)。
    在这里插入图片描述
  1. java 数据类型分为两大类 基本数据类型, 引用类型
  2. 基本数据类型有 8 种, 数值型 [byte , short , int , long , float ,double] char , boolean
  3. 引用类型 [类,接口, 数组]

1. 整数类型

1.1 基本介绍

  • Java的整数类型就是用于存放整数值的,比如12,30,3456等等

1.2 案例演示

byte nl =10;//1个字节
short n2 =10;//2个字节
int n3 = 10;//4个字节
long n4= 10;//8个字节

1.3 整型的类型

在这里插入图片描述

1.4 整型的使用细节 IntDetail.java

public class IntDetail { 

	public static void main(String[] args) {

		//Java的整型常量(具体值)默认为 int 型,声明long型常量须后加‘l’或‘L’
		int n1 = 1;//4个字节
		//int n2 = 1L;//对不对?不对
		long n3 = 1L;//对

	}
}

在这里插入图片描述
在这里插入图片描述

2. 浮点类型

2.1 基本介绍

  • Java的浮点类型可以表示一个小数,比如123.4 , 7.8 ,0.12 等等

2.2 案例演示

double score = 66.6; 

2.3 浮点型的分类

在这里插入图片描述

2.4 说明一下

  1. 关于浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位
  2. 尾数部分可能丢失,造成精度损失(小数都是近似值)。

2.5 浮点型使用细节

  • 注意:Java 默认浮点常量为 double 型,声明 float 类型常量,须加 “f”或 “F”
    在这里插入图片描述
public class FloatDetail { 

	//编写一个main方法
	public static void main(String[] args) {

		//Java 的浮点型常量(具体值)默认为double型,声明float型常量,须后加‘f’或‘F'
		//float num1 = 1.1; //对不对?错误
		float num2 = 1.1F; //对的
		double num3 = 1.1; //对
		double num4 = 1.1f; //对

		//十进制数形式:如:5.12       512.0f        .512   (必须有小数点)
		double num5 = .123; //等价 0.123
		System.out.println(num5);
		//科学计数法形式:如:5.12e2 [5.12 * 10的2次方 ]      5.12E-2   [5.12 / 10的2次方] 
		System.out.println(5.12e2);//512.0
		System.out.println(5.12E-2);//0.0512


		//通常情况下,应该使用double型,因为它比float型更精确。
		//[举例说明]double num9 = 2.1234567851;float num10 =  2.1234567851F;
		double num9 =  2.1234567851;
		float num10 =  2.1234567851F;
		System.out.println(num9);//2.1234567851
		System.out.println(num10);//2.1234567

		//浮点数使用陷阱: 2.7 和 8.1 / 3  比较
		//看看一段代码
		double num11 = 2.7;
		double num12 =  8.1 / 3;
		System.out.println(num11);//2.7
		System.out.println(num12);//2.6999999999999997,接近2.7的一个小数,而不是2.7
		//得到一个重要的使用点: 当我们对运算结果是小数的进行相等判断是,要小心
		//应该是以两个数的差值的绝对值,在某个精度范围类判断
		if( num11 == num12) {
			System.out.println("num11 == num12 相等");
		}
		//正确的写法 
		if(Math.abs(num11 - num12) < 0.000001 ) {
			System.out.println("差值非常小,到我的规定精度,认为相等...");
		}
		// 可以通过java API  
		System.out.println(Math.abs(num11 - num12));
		//细节:如果是直接查询得的的小数或者直接赋值,是可以判断相等
		
	}
}

3. 字符类型(char)

3.1 基本介绍

  • 字符类型可以表示单个字符,字符类型是 charchar 是两个字节(可以存放汉字),多个字符我们用字符串 String

3.2 案例演示

	char c1 = 'a';
	char c2 = '\t';
	char c3 = '兮';
	char c4 = 97; //说明: 字符类型可以直接存放一个数字

	System.out.println(c1);
	System.out.println(c2);
	System.out.println(c3);
	System.out.println(c4);//当输出c4时候,会输出97表示的字符 => 编码的概念

在这里插入图片描述

3.3 字符类型使用细节

在这里插入图片描述

	//在java中,char的本质是一个整数,在默认输出时,是unicode码对应的字符
	//要输出对应的数字,可以(int)字符
	char c1 = 97;
	System.out.println(c1); // a

	char c2 = 'a'; //输出'a' 对应的 数字
	System.out.println((int)c2);//97
	char c3 = '兮';
	System.out.println((int)c3);//20846
	char c4 = 20846;
	System.out.println(c4);//兮

	//char类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码.
	
	System.out.println('a' + 10);//107

	//课堂小测试
	char c5 = 'b' + 1;//98+1==> 99
	System.out.println((int)c5); //99
	System.out.println(c5); //99->对应的字符->编码表ASCII(规定好的)=>c

在这里插入图片描述

3.4 字符类型本质探讨

在这里插入图片描述

3.5 ASCII 码介绍(了解)

在这里插入图片描述

3.6 Unicode 编码介绍(了解)

在这里插入图片描述

3.7 UTF-8 编码介绍(了解)

在这里插入图片描述

4. 布尔类型 (boolean)

在这里插入图片描述

	//演示判断成绩是否通过的案例
	//定义一个布尔变量
	boolean isPass = true;
	if(isPass == true) {
		System.out.println("考试通过,恭喜");
	} else {
		System.out.println("考试没有通过,下次努力");
	}

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。