02、变量-运算符

01、Java中的常量

        一、常量:指在程序的运行过程中,其值是不会发生改变的量

        二、表示方式:

                A.字面值常量:

                        整数常量:13,-34

                        实数常量:12.3,51.6

                        字符常量:用“括起来的一个数据

                        字符串常量:用"“括起来的数据

                        布尔常量:true,false

                        空常量:null(后面讲)

                B:自定义常量(后面讲)

                注意:常量可以直接被输出

02、进制的概述

        一、进制:就是进位制,是人们规定的一种进位方法。大白话,就是“逢几进一”,比如:逢二进一。

        二、对于整数,java语言支持以下3种表示形式

                八进制
                十进制
                十六进制

                注意:在JDK7以后,java支持了二进制的写法,所以其实应该是4种,但是目前企业开发暂时用不到JDK7,所以这里我们写3种。

        三、字节数据是我们计算机表示(存储和传输)的最基本的单位。

        四、之前计算机中是用电信号的状态(开,关)来表示二进制,后来用数字信号改进,用1表示开,0表示关。

        五、一个二进制数据被称为“位”.bit

                1字节 byte=8bit      1K= 1024byte

                注意:进制越大,表示形式越短。

03、其他进制到十进制的转换

        一、总结规律:

                系数:就是每一位上的数据。
                基数:x进制,基数就是x。
                权:我们吧数据从最后边一位开始给编号,并且从0开始这个编号就是指定位置的数据的权。

        二、结果: 把系数*基数^权次幂相加即可。

        注意: JDK7以后,各进制的开头有了新规定

                二进制:由数字0,1组成,用0b开头表示

                八进制:由数字0-7组成,用0开头表示

                十进制:由数字0-9组成,没有任何表示

                十六进制:由数字0-9,A-F表示。用0x开头表示

04、十进制到其他进制的转换

        除基取余,直到商为0,余数反转。

05、在进制转换中的快速转换

        二进制到八进制、十六进制的转换过程

                最基本做法: 先把二进制 转到 十进制,然后再换成对应的,八进制,十六进制

                简单做法: 八进制:3位一组合,计算十进制,最后拼接十六进制:4位一组合,计算十进制,最后拼接

06、有符号数据的表示形式

        一、数据是有正,负之分的。在计算机中所有的数据都是以补码的形式存在的。

        二、原码,反码,补码。

                1.原码:其实就是有符号数据的最基本表示形式,最高位是符号位,其他为是数据位。0表示正,1表示负。

                2.反码: 正数的反码和原码相同负数的反码和原码不同,规则是:除去符号位,其他数值位取反,0变1,1变0。

                3.补码:正数的补码和原码相同负数的补码和原码不同,规则是:反码+1。

                注意:符号位也会参与运算,如果数据超出范围(8bit),那么舍弃超出的。
                注意:java中是没有减法的,只有加法。所以减一个数,等于加上这个数的负数形式。

07、变量的概述

        一、变量是内存中一小块儿区域,该区域要有自己的名称和类型该区域的值可以在同一类型范围内不断变化。

        二、变量的作用:某个值可以重复来使用。

        三、注意:可以将变量理解为数学中的未知数。

        四、变量的组成格式:数据类型 变量名 =初始化值。

08、Java中的数据类型

        一、Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。

        二、数据类型(4类8种)

                1.基本数据类型:

                        数值型:

                                A:整数类型

                                        byte:1个字节,-128~127.

                                        short:2个字节,-2^15 ~ 2^15-1

                                        int:4个字节,-2^31 ~ 2^31-1

                                        long:8个字节  -2^63 ~ 2^63-1

                                B:浮点类型:

                                        float:4个字节 1.8*10^38

                                        double:8个字节 1.8*10^308

                        字符型:

                                char:2个字节 0~65535(2^16)

                        布尔型:

                                boolean:可以认为1个字节

                2.引用数据类型:

                        类:class

                        接口:interface

                        数组:[]

        注意:整数默认数据类型是int,小数默认数据类型是double。

09、Java中定义变量并使用

        一、变量的定义:

                数据类型 变量名 =初始化值;

        二、数据类型:

                4类8种
                区别:占用内存空间不一样,进而他们的表示数据范围也是不一样的。

        三、注意事项:

                1、在同一对0内,是不能重复定义变量的。
                2、定义长整型变量,必须加后缀,小写字母I或者大写字母L。
                3、定义单精度类型,必须加后级,小写字母f或者大写字母F。
                4、Java中的字符采用的编码是Unicode编码,占用2个字节。

10、数据类型的转换

        一、"十"运算符:

                注意:在运算的过程中,一般要求类型一致。如果遇到不一致的情况,就会有类型转换问题。

        二、类型转换怎么做呢?

                java中可以从任意基本类型转型到另外的基本类型,(例外:boolean类型不可以转换为其他的数据类型)。

        三、在参与运算的过程中:

                1.自动类型转换(隐式转换):值从小到大。

                        byte --> short  --> char-->int --> long --> float -->double

                注意: long是8字节,float是4字节。long是整数,float是浮点数,整数和浮点数的存储规则不一样,long的范围是小于foat的。

                2.强制类型转换:从大到小。

                        如果你明确知道数据是可以表示,就可以用强制类型转换。

                        格式: (转换后数据类型)变量或者值。

11、强制类型转换的结果是怎么来的

        事例:byteb2=(byte)130;打印结果是:-126

        第一步:把十进制的数据(130)转换成对应的二进制数据(此时为原码)。

        第二步:求第一步原码的反码,

        第三步:求第二步反码的补码。因为涉及到类型转换所以在这个补码的基础上做了截取,得到一个新的补码

        第四步:求第三步新的补码的反码。

        第五步:求第四步得到的反码的原码。

        第六步:根据第五步得到的原码,计算出对应的十进制数据,即为结果

12、一道关于数据类型转换的面试题

        byte bl = 3;

        byte b2 = 4;

        byte b3 = b1 + b2;

        byte b4 =3 + 4;

        有问题,在byte b3 =b1 + b2;这行会报错。

        解释:

        为什么byte b4 =3+4;不报错?

        如果参与运算的是常量,编译器会先计算值,在看该值是否是左边的数据类型所能表示的范围,如果是,就不报错。

        b1和b2在参与运算的时候,首先会自动转换成int类型,在这个时候,b1和b2其实都被提升了类型,所以最终结果也应该是int类型。

        总结:

        如果是变量来参与运算,首先会提升数据类型。

        如果是常量,则会先计算值,然后来看是否是其所能表示的范围。

13、ASCI码表的概述

        就是来描述字符类型char和整数类型int的数据关系的。

        记住三个字符的值:

                'a' : 97

                'A' : 65

                '0' : 48

        编码表: 就是字符及其对应的数值组成的一张表

14、算术运算符

        一、运算符:就是把变量或者常量进行连接的符号,一般是参与元素的符号。

        二、算数运算符:  +,-,*,/,%,++,--

                1.整数相除,结果只能是整数。

                2.如果你想要小数,那么参与运算的数据必须有一个是浮点数类型

                3.取余:

                        左边的数据大于右边,结果是余数

                        左边的数据小于右边,结果是左边,        

                        左边的数据等于右边,结果是0;

                        符号跟左边一致。

                4.++,--

                        自增和自减运算符。

                        使操作数的值增加1(减少1)。

                        分为前缀形式(如“++i”)和后缀形式(如“i++”)。//--一样

                5.+的特殊用法:

                        可以作为字符串的连接符会按照从左到右的顺序执行。

15、赋值运算符

        =,+=,-=,*=,/=,%=

        一、+=:把左边和右边的数据相加再赋值给左边

        二、面试题

                short s = 5;

                s=s+ 2;

                s+=2;

        注意:虽然 a+=20 和 a=a+20的效果等价,但是还是有些区别
                +=这种赋值运算符,其实隐含了强制类型转换功能

        重点注意:赋值运算符的左边必须是一个变量。

16、比较运算符

        比较运算符的结果都是boolean类型,也就是说,要么是true,要么是false。

        ==,!=,>=,<=,<,>

        分隔符" ; ":

                分号:表示语句结束,可以在一行上写多条语句但是,建议一行上只写一条语句。
                空格:关键字的前后必须有空格,运算符的时候在运算符两端可有可无,建议有。

        注意:否则可能不是你想要的结果,千万不要把用等于号的地方,写出了”=”。

17、逻辑运算符基础

        1. 逻辑运算符:用于连接结果是布尔类型的表达式。

        2. 表达式:用运算符连接的式子(有变量,常量组成)。

        3. & : 逻辑与,并且。有假则假,

        4. | : 逻辑或,或者。有真则真。

        5. ! : 逻辑非:不是。针对一个表达式的操作。以前真,现在假;以前假,现在真。

        5. ^ : 逻辑异或。相同为假,不同为真,

18、逻辑运算符加强

        1. &&: 短路与,如果前面出现了false,后面将不在执行。

        2. ||: 短路或,如果前面出现了true,后面将不在执行。

        3. 开发常用:&&,||,!

                        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

记乐

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

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

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

打赏作者

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

抵扣说明:

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

余额充值