• 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 字符类型使用细节

    在这里插入图片描述

    • Unicode编码转换:http://tool.chinaz.com/Tools/Unicode.aspx
    • a 转换后为 97
      在这里插入图片描述
      在这里插入图片描述
    	//在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("考试没有通过,下次努力");
    	}
    

    在这里插入图片描述

    本文来自博客园,作者:兮动人,转载请注明原文链接:https://www.cnblogs.com/xdr630/p/15254702.html

  • 相关阅读:
    0907 安装 Pycharm
    zabbix监控redis多实例(low level discovery)
    zabbix3.0配置邮件报警
    zabbix通过jmx监控tomcat
    分布式文件系统FastDFS安装与配置(单机)
    nginx+tomcat配置https
    利用python分析nginx日志
    查找IP来源
    清除nginx静态资源缓存
    Nginx缓存配置及nginx ngx_cache_purge模块的使用
  • 原文地址:https://www.cnblogs.com/xdr630/p/15254702.html
Copyright © 2020-2023  润新知