Java之基本数据类型

2021-06-11 18:50:38 浏览数 (1)

文章目录

  • 数据类型
    • 1. 整数类型
      • 1.1 基本介绍
      • 1.2 案例演示
      • 1.3 整型的类型
      • 1.4 整型的使用细节 IntDetail.java
    • 2. 浮点类型
      • 2.1 基本介绍
      • 2.2 案例演示
      • 2.3 浮点型的分类
      • 2.4 说明一下
      • 2.5 浮点型使用细节
    • 3. 字符类型(char)
      • 3.1 基本介绍
      • 3.2 案例演示
      • 3.3 字符类型使用细节
      • 3.4 字符类型本质探讨
      • 3.5 ASCII 码介绍(了解)
      • 3.6 Unicode 编码介绍(了解)
      • 3.7 UTF-8 编码介绍(了解)
    • 4. 布尔类型 (boolean)

数据类型

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

1. 整数类型

1.1 基本介绍

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

1.2 案例演示

代码语言:javascript复制
byte nl =10;//1个字节
short n2 =10;//2个字节
int n3 = 10;//4个字节
long n4= 10;//8个字节

1.3 整型的类型

1.4 整型的使用细节 IntDetail.java

代码语言:javascript复制
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 案例演示

代码语言:javascript复制
double score = 66.6; 

2.3 浮点型的分类

2.4 说明一下

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

2.5 浮点型使用细节

  • 注意:Java 默认浮点常量为 double 型,声明 float 类型常量,须加 “f”或 “F”
代码语言:javascript复制
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 案例演示

代码语言:javascript复制
	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 字符类型使用细节

  • Unicode编码转换:http://tool.chinaz.com/Tools/Unicode.aspx
  • a 转换后为 97
代码语言:javascript复制
	//在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)

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

0 人点赞