第4章 运算符

4.1  运算符介绍

        分为算术、赋值、关系(比较)、逻辑、位、三元运算符,运算符是一种特殊符号,用以表示数据的运算、赋值和比较等。

4.2  算术运算符 ArithmeticOperator

         细节说明

         1. 对于除号 /  ,整数除以整数结果为整数(舍弃小数部分);整数与小数相除结果是小数

        2. 取模,如a %b等价于a-a/b*b,其中a/b表示商舍弃小数。余数=被除数-商*除数

        3. 当++,作为一个独立语言使用时,不管是++i  还是 i++ 都是一样的;但当作为表达式使用时,j++ = j    ++j = j +1

4.3  关系运算符 RelationalOperator

        结果为boolean型(true or false);长用于if结构或循环结构

4.4  逻辑运算符 LogicOperator

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

        分两组学习

         1)短路与  &&       短路或||       取反!      效率高(常用)

        2)逻辑与    &        逻辑或  |      逻辑异或^(两个不同时,结果为true,否则为false)

         && 和 &区别

         1. 短路与&&:如果第一个条件为false,则不判断第二个条件,最终结果为false

        2. 逻辑与&:   不管第一个条件是否为false,都要判断第二个

         || 和 | 区别

        1. 短路或||:如果第一个条件为true,则不判断第二个条件,最终结果为true

        2. 逻辑或| :不管第一个条件是否为true,都要判断第二个

4.5  赋值运算符  AssignOperator

        赋值运算符就是将某个运算后的值,赋给指定的变量。分为基本赋值运算符 = 和 复合赋值运算符 +=   -=   *=   /=   %=

        特点

         1. 运算顺序从右 到 左

        2. 左边只能是变量。右边可以时变量、表达式、常量值

        3. 复合赋值运算符  如 a+=3 等价于 a=a+3;                                                                                    

        4. 会进行类型转换 byte b=3;b+=2//b = (byte)(b + 2)

4.6  三元运算符 TernaryOperator

        基本语法

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

        运算规则【一真大师,1 true】

        1. 如果条件表达式为true,运算后的结果是表达式1

        2.如果条件表达式为false,运算后的结果是表达式2   a < b ? a++ : b--;

        细节

         1. 表达式1 和 表达式2 要为可以赋给接收变量的类型

        int a = 3, b = 8;    int c = a > b ? (int)1.1 : (int)3.4;    double d = a > b ? a : b + 3;

        2. 可以转成if- else 语句

4.7  运算符优先级

 4.8  标识符的命名规则和规范

        规则(必须遵守)

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

        2. 数字不可以开头

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

        4. 严格区分大小写,长度无限制

        5. 标识符不能含空格

        规范(更加专业)

         1. 包名:多单词组成时所有字母都小写  aaa.bbb.ccc//如com.hsp.crm

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

        3. 变量名、方法名:多单词组成时,第一个单词首字母小写,其余首字母大写(驼峰法)

        4. 常量名:所有字母都大写,多单词时 _ 连接

4.9  关键字

4.10  保留字

4.11  键盘输入语句

        在编程中,需要接受用户的输入数据,就可以使用键盘输入语句来获取。Input.java,需要一个 扫描器(对象),就是Scanner

        步骤

         1. 导入该类所在包  java.util.*              import  java.util.Scanner;

        2. 创建该类对象(声明变量)            Scanner myScanner = new Scannner(System.in);

                                                                       int age = myScanner.nextInt();接受用户输入

        3. 调用里面的功能

4.12  进制(基本功)

        对于整数有四种进制

        1) 二进制  0,1  满2进1,以0b 或 0B开头  int n1 = 0b1010;

        2) 十进制

        3) 八进制 0 - 7  满8进1, 以数字0开头  int n2 = 01010;

        4) 十六进制 0 - 9及A(10) - F(15),满16进1,以0x 或 0X开头   int n3 = 0x10101

4.13 进制的图示

 4.14  进制的转换(基本功)

         1)二、八、十六 转 十

        2)十 转 二、八、十六

        3)二 转 八、十六

        4)八、十六 转 二

4.15  二进制转十进制

        规则:从最低位(右边)开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和。0b1011 = 1 * 2^0 + 1 * 2^1 + 0 + 1 * 2^3

4.16  八进制转十进制

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

4.17  十六进制转十进制

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

4.18  十进制转二进制

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

4.19  十进制转八进制

         规则:将该数不断除以8,直至商为0,然后将每步得到的余数倒过来就是对应的二进制

4.20  十进制转十六进制

        规则:将该数不断除以16,直至商为0,然后将每步得到的余数倒过来就是对应的二进制

4.21  二进制转八进制

        规则:从低位开始,将二进制数每3位一组,转成对应的八进制数

4.22  二进制转十六进制

        规则:从低位开始,将二进制数每4位一组,转成对应的八进制数

4.23  八进制转二进制

        规则:将八进制数每1位数转成对应的3位的二进制数

4.24  十六进制转二进制

        规则:将十六进制数每1位数转成对应的4位的二进制数

4.25  位运算的思考题

4.26  二进制在运算中的说明 Binary

4.27  原码、反码、补码(重难点)

4.28  位运算符 

        一共有7个位运算(&、|、^ 、~、>>>、<<<、>>>)

                                                        2 & 3  = ??

        分析:补码运算,结果看原码

        2的补码(三码合一):00000000 00000000 00000000 00000010 

        3的补码(三码合一):00000000 00000000 00000000 00000011

                2  &  3:                  00000000 00000000 00000000 00000010(运算后的补码,结果看原码,三码合一所以结果也是这个)

        >>>、<<<、>>>,运算规则:

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

        int a = 1 >> 2; //1 => (省略了前三个字节)00000001 => 00000000 本质1/2/2=0

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

        int a = 1 << 2; //1 => (省略了前三个字节)00000001 => 00000100 本质1*2*2=4

        3. >>> :逻辑右移也叫无符号右移,规则位:低位溢出,高位补0       

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值