JAVA变量及数据类型

一、变量

        什么是变量,怎么理解的?
            一个存储数据的盒子,
            一个存储数据的单元。
            int i = 100;
            System.out.println(i);

        什么是字面量,怎么理解的?
            1 2 3 4 -100 100 整数型字面量
            3.14   浮点型的字面量。
            true false 布尔型字面量
            'a' '中' 字符型字面量
            "abc" "a" 字符串型的字面量
            字面量其实本质上就是“数据”。

        变量怎么声明,怎么赋值?
            声明:
                数据类型 变量名;
                int i;
            赋值:用=赋值
                变量名 = 字面量;
                i = 100;
                重新赋值:i = 200;

            变量在同一个域当中不能重名。
                {
                    int i = 2;
                    double i = 2.0;
                    //报错了,重名了。
                }
        变量的分类?
            在方法体当中声明的就是局部变量。
            在方法体外面声明的就是成员变量。

        变量的作用域?
            出了大括号就不认识了。
            每一个变量都有自己的有效范围。出了范围就不认识了,就不能用了。

   二、数据类型
        1. 什么是数据类型,有啥用?
            数据类型决定了变量分配空间的大小,类型不同,空间大小不同。
            (在内存中分配空间)
            计算机的主要部件:CPU 内存 硬盘 主板。
        2、数据类型分类?
            基本数据类型:
                byte short int long float double boolean char
            引用数据类型:
                String..........
        3、要求要理解二进制
        4、要求理解二进制和十进制之间的互相转换。
        5、8种基本数据类型,每个占用空间大小。
            类型        字节
            ------------------
            byte        1
            short        2
            int        4
            long        8
            float        4
            double    8
            boolean    1
            char        2
        6、记忆byte short int char的取值范围:
            byte -128 ~ 127
            short -32768 ~ 32767
            int -2147483648 ~ 2147483647
            char 0~65535
        7、理解字符编码?
            什么时候会有乱码?编码和解码采用的不是同一套字符编码方式。
            怎么理解字符编码?字符编码是人为制定的,一个字典表,字典中描述了转换关系。
            常见的字符编码?
                ASCII:
                    'a' 97
                    'A' 65
                    '0' 48
                    ...
                ISO-8859-1(latin-1)
                GBK
                GB2312
                GB18030
                Big5
                unicode : java中采用的统一了全球所有的文字。
        8、数据类型详细介绍
            char
                可以存储1个汉字
                用单引号括起来
                转义字符:
                    \t
                    \n
                    \'
                    \"
                    \\
                    \u
                    ....
                char c = 97;
                System.out.println(c); //输出'a'

            byte short int long
                int最常用
                任何一个数字,例如:1232 3 5 9,默认都是当做int处理,想当做long,必须加L或者l
                123L这就是long类型
                自动类型转换:小-->大
                强制类型转换:大-->小,需要加强制类型转换符。另外运行可能损失精度。

                当一个整数没有超出byte short char的取值范围,
                可以直接赋值给byte short char类型的变量。

                在java中整数型字面量表示的时候有四种方式:
                    10 十进制
                    010 八进制
                    0x10 十六进制
                    0b10 二进制

            float double
                浮点型的数字默认被当做double来处理,
                想以float形式存在,数字后面添加F/f
                float f = 1.0; //错误的
                float f = 1.0f;
                float f = (float)1.0;

                要知道浮点型数据在java语言中存储的都是近似值。
                还有一点:float和double的空间永远比整数型空间大,比long大。

            boolean
                boolean类型只有两个值:true false,没有其他值。
                布尔类型使用在逻辑运算,条件判断当中。

        9、基本数据类型转换的6条规则:
            第一条:只有boolean不能转换,其它都行。

            第二条:自动类型转换
                byte < short(char) < int < long < float < double
                char可以取到更大的正整数。

            第三条:强制类型转换需要加强制类型转换符。可能损失精度。

            第四条:当一个整数没有超出byte short char的取值范围时,可以直接赋值
            给byte short char类型的变量。

            第五条:byte short char混合运算的时候,各自先转换成int再做运算。

            第六条:多种数据类型混合运算的时候,先转换成容量最大的那一种再做运算。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

梁涵涵吖

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

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

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

打赏作者

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

抵扣说明:

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

余额充值