8.Java中的数据类型

一、强类型语言:

  • 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。(特点:安全性高,速度慢)

二、弱类型语言:

  • 要求变量的使用要符合规定,所有变量都必须先定义后才能使用。

三、Java的数据类型分为两大类:

  • 基本类型(primitive type)

    数值类型:

    ​ 整数类型:

    ​ byte类型:占1个字节范围:-128~127

    ​ short类型:占2个字节范围:-32768~32767

    ​ int类型:占4个字节范围:-2147483648~2147483647

    ​ long类型:占4个字节范围:-9223372036854775808~9223372036854775807

    ​ 浮点类型:

    ​ float类型:占4个字节

    ​ double类型:占2字节

    ​ 字符类型:

    ​ char类型:占2个字节

    ​ 布尔类型:

    ​ boolean类型:占1位,其值只有true和false两个

    public class Demo02 {
        public static void main(String[] args) {
            //八大数据类型
    
            //整数类型:
            byte num1 = 10;
            short num2 = 20;//最常用
            int num3 = 30;
            long num4 = 30L;//Long类型要在数值的后面加上L
    
            //浮点类型(小数):
            float num5 = 3.14F;//Float类型要在数值的后面加上F
            double num6 = 3.141592653589793238462643;
    
            //字符类型:
            char num7 ='A';
            //字符串,String不是关键字,类
            //String name = "XiaoZiXi"
    
            //布尔类型:(是非)
            boolean flag1 = true;
            boolean flag2 = false;
            
                    System.out.println(num1);
                    System.out.println(num2);
                    System.out.println(num3);
                    System.out.println(num4);
            
                    System.out.println(num5);
                    System.out.println(num6);
            
                    System.out.println(num7);
            
                    System.out.println(flag1);
                    System.out.println(flag2);
        }
    }
    
  • 引用类型(reference type)

    接口

    数组

四、字节

  • 位(bit):是计算机内部数据存储的最小单位,11001100是一个八位二进制数;

  • 字节(Byte):是计算机中数据处理的基本单位,习惯上用大写B来表示;

  • 字符:是指计算机中使用的字母、数字、字和符号。

    1bit表示1位;

    1Byte表示1个字节 1B=8b;

    1024B=1KB

    124KB=1MB

    1024M=1GB

五、拓展:

数据类型拓展:

public class Demo03 {
    public static void main(String[] args) {
        //整数类型拓展:
        //进制      二进制:0b开头     十进制    八进制:0开头      十六进制:0x开头
        int num1 =10;
        int num2 = 010;//八进制
        int num3 = 0x10;//十六进制  0~9 A~F

        System.out.println(num1);
        System.out.println(num2);
        System.out.println(num3);

        //浮点类型拓展:
        //float     表现的字长是有限的离散的,会有舍入误差,是大约值,接近但不等于。
        //double
        //最好完全避免使用浮点数进行比较
        float num4 = 0.1f;//表示0.1
        double num5 = 1.0/10;//表示0.1

        System.out.println(num4==num5);//num4==num5表示判断num4是否和num5一样,判断显示:false
        System.out.println(num4);
        System.out.println(num5);

        float num06 = 12345678987654321f;
        float num07 = num06+1;

        System.out.println(num06==num07);//判断显示:true

        //字符类型拓展:
        char c1 = 'a';
        char c2 = '中';

        System.out.println(c1);
        System.out.println((int)c1);//强制转换  char类型强制转换成int类型
        System.out.println(c2);
        System.out.println((int)c2);//强制转换  char类型强制转换成int类型
        //所有的字符本质还是数字
        //编码    Unicode 可以处理各种语言的文字 占2个字节   最多可以表示65536个字符
        //范围在U0000~UFFFF之间

        char c3 = '\u0061';

        System.out.println(c3);//输出显示:a

        //转义字符:
        //\t    表示:空格
        //\n    表示:换行
        System.out.println("Hello\tWorld!");
        System.out.println("Hello\nWorld!");

        //布尔类型扩展:
        boolean flag = true;
        if (flag==true){}   //新程序员
        if (flag){} //老程序员
        //if (flag==true){}与if (flag){} 是同样的,if (flag){} 默认是true
        //代码要精简易读

    }
}

转义字符:

  • 定义:字母前面加上右手杠()来表示常见的那些不能显示的ASCII字符,称为转义字符。

  • ASCII码表中的所有字符都可以用“\”(右手杠)加数字(一般是8进制数字)来表示。

  • 在最早C语言中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如:\0,\t,\n等,这些字符就被称为转义字符,而Java语言又是在C++语言的基础上改进的,所以,Java也支持转义字符。

转义字符所对应的英文:Escape Character

转义字符串所对应的英文:Escape Sequence

  • 常见的转义字符:

转义字符与它原本的ASCII字符的含义不同,转义字符有属于自己的含义。

Java中转义字符一般情况下使用场景如下:

①用于控制台输出打印测试程序

System.out.println("Hello\nWorld");    //运行结果:控制台输出Hello后会换下一行再输出World

②用于加载配置文件

inputStream = Resources.getResourceAsStream("com\\lxj\\mybatis-conf.xml");    //加载com文件夹下的lxj文件夹下的mybatis-cong,xml文件资源进内存
  • 常见转义字符所对应含义如下:
序号转义字符含义ASCII码值(十进制)
1\a响铃(BEL)007
2\b退格(BS) ,将当前位置移到前一列008
3\f换页(FF),将当前位置移到下页开头012
4\n换行(LF) ,将当前位置移到下一行开头010
5\r回车(CR) ,将当前位置移到本行开头013
6\t水平制表(HT) (跳到下一个TAB位置)009
7\v垂直制表(VT)011
8\代表一个反斜线字符""092
9代表一个单引号(撇号)字符039
10"代表一个双引号字符034
11?代表一个问号063
12\0空字符(NUL)000
13\ddd1到3位八进制数所代表的任意字符三位八进制
14\xhh十六进制所代表的任意字符十六进制

注:①注意区分,左手杠(/) 与 右手杠() ,此处不可互换;②\xhh :十六进制转义不限制字符个数,如:’\x000000000000F’ == ‘\xF’。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔蝎之家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值