JAVA SE--第三天

(全部来自“韩顺平教育”)

运算符

一、介绍

        运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等

二、算术运算符

        对数值类型的变量进行运算的

运算符运算
+正号
-负号
+
-
/
%取模(取余)

++

++

自增(前):先运算后取值

自增(后):先运算后取值

--

--

自减(前):先运算后取值

自减(后):先运算后取值

+字符串相加

 注:%本质:看公式--a % b = a - a / b * b

a % b当a是小数时,公式=a - (int)a / b * b

有小数运算时,得到的结果是近似值

三、关系运算符(又称:比较运算符)

结果都是boolean型

运算符运算
==相等于
!=不等于
<小于
>大于
<=小于等于
>=大于等于
instanceof检查是否是类的对象

四、逻辑运算符

用于连接多个条件(多个关系表达式),最终的结果是一个boolean值

(1)短路与&&     短路或||    取反!

(2)逻辑与&       逻辑或|     逻辑异或^

注:

&&与&的区别:短路与&&,若第一个条件为false,则第二个条件不会判断,最终结果为false,效率高(开发中常用);逻辑与&,不管第一个条件是否为false,第二个条件都要判断,效率低

五、赋值运算符

基本赋值运算符:=

复合赋值运算符:+=、-=、*=、/=、%=

特点:

1)运算顺序从右往左

2)赋值运算符的左边只能是变量,右边可以是变量、表达式、常量值

3)复合赋值运算符会进行类型转换

六、三元运算符

条件表达式?表达式1:表达式2;

注意:表达式1和表达式2要为可以赋给接收变量的类型(或可以自动转换)

七、运算符优先级

.   ()  {}  ;  ,

R --> L++   --  ~     !(data type)
L --> R*   /    %
L --> R+   -
L --> R<<    >>   >>>   位移
L --> R<    >    <=    >=    instanceof
L --> R==    !=
L --> R&
L --> R^
L --> R|
L --> R&&
L --> R||
L --> R

?     :

R --> L=    *=   /=   %=
+=   -=   <<=    >>=
>>>=   &=   ^=   |=

八、进制

对于整数,有四种表示方式:

二进制:0,1,满2进1   以0b或0B开头。

十进制:0-9,满10进1

八进制:0-7,满8进1   以数字0开头表示。

十六进制:0-9及A(10)--F(15),满16进1   以0x或0X开头表示,此处的A--F不区分大小写

第一组:

1、二进制转换成十进制:

从最低位(右边)开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和

2、八进制转换十进制:

从最低位(右边)开始,将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和

3、十六进制转换成十进制:

从最低位(右边)开始,将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和

第二组:

1、十进制转换成二进制:

将该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制。

2、十进制转换成八进制:

将该数不断除以8,直到商为0为止,然后将每步得到的余数倒过来,就是对应的八进制。

3、十进制转换成十六进制:

将该数不断除以16,直到商为0为止,然后将每步得到的余数倒过来,就是对应的十六进制。

第三组:

1、二进制转换成八进制:

从低位开始,将二进制数每三位一组,转换成对应的八进制数即可

2、二进制转换成十六进制:

从低位开始,将二进制数每四位一组,转换成对应的十六进制数即可

第四组:

1、八进制转换成二进制:

将八进制数每1位,转成对应的一个3位的二进制数即可。

2、十六进制转换成二进制:

将十六进制数每1位,转成对应的一个4位的二进制数即可。

九、位运算符(&   |   ^    ~   >>    <<   >>>)

按位与&:两位全为1,结果为1,否则为0

按位或|:两位有一个位1,结果为1,否则为0

按位异或^:两位一个为0,一个为1,结果为1,否则为0

按位取反~:0 ->0  1-> 0

算术左移<<:符号位不变,低位补0

算术右移>>:低位溢出,符号位不变,并用符号位补益出的高位

>>>逻辑右移(无符号右移):低位溢出,高位补0

特别说明:没有<<<符号

十、原码、反码、补码:

对于有符号的而言:

1、二进制的最高位是符号位:0表示正数,1表示负数(口诀:0 ->0  1-> -)

2、正数的原码,反码,补码都一样(三码合一)

3、负数的反码=它的原码符号位不变,其他位取反(0 ->0  1-> 0)

4、负数的补码=它的反码+1,负数的反码=负数的补码-1

5、0的反码,补码都是0

6、Java没有无符号数,换言之,Java中的数都是有符号的

7、在计算机运算的时候,都是以补码的方式来运算的

8、当我们看运算结果的时候,要看他的原码

十一、标识符

1、概念:

Java对各种变量、方法和类等命名时使用的字符序列称为标识符(凡是自己可以起名字的地方都叫标识符)

2、命名规则(必须遵守)

①由26个英文字母大小写,0-9,_或$组成

②数字不可以开头

③不可以使用关键字和保留字,但能包含关键字和保留字

④Java中严格区分大小写,长度无限制

⑤标识符不能包含空格

3、命名规范

①包名:多单词组成时所有字母都小写

②类名、接口名:多单词组成时,所有单词的首字母大写(大驼峰)

③变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写(小驼峰)

④常量名:所有字母都大写。多单词时每个单词用下划线连接

 4、关键字

关键字中所有的字母都为小写

5、保留字

现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些关键字。

byValue  cast  future  generic  inner  operator   outer   rest   var   goto   const

 十二、键盘输入语句

使用步骤:

①导入该类所在的包,java.util.*

②创建该类对象(声明变量)

③调用里面得功能

import java.util.Scanner   //表示把java.util下的Scanner类导入
public class Input{
    public static void main(String[] args){
        //new创建一个对象,myScanner就是Scanner类的对象
        Scanner myScanner = new Scanner(System.in);
        System.out.println("请输入名字");
        String name = myScanner.next();  //接收用户输入
        System.out.println("请输入年龄");
        int age = myScanner.nextInt();  //接收用户输入
        System.out.println("请输入薪水");
        double sal = myScanner.nextDouble();  //接收用户输入
        System.out.println("人的信息如下:");
        System.out.println("名字:" + name + "年龄:" + age + "薪水:" + sal);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值