java基础学习(三)

一、什么是运算符?

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

运算符分为算术运算符、赋值运算符、关系运算符(比较运算符)、逻辑运算符、位运算符、三元运算符

1、算术运算符是对数值类型的变量进行运算的,在java程序中使用的非常多

%取余

%的本质,看一个公式a%b=a-a/b*b

i++先运行再加一,++i先加一再运行;

2、关系运算符:

  • 关系运算符的结果都是boolean型,也就是要么是true,要么是false

  • 关系运算符组成的表达式,我们称为关系表达式,a>b

  • 比较运算符"=="不能误写成"="

注:instanceof,用于检查是否是类的对象

3、逻辑运算符:

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

  • a&b(逻辑与),当a和b同时为true,则结果为true,否则为false

  • a&&b(短路与),当a和b同时为true,则结果为true,否则为false

  • a|b:(逻辑或),当a和b,有一个为true,则结果为true,否则为false

  • a||b(短路或),当a和b,有一个为true,则结果为true,否则为false

  • !a(取反),当a为true,则结果为false,当a为false,结果为true

  • a^b(逻辑异或),当a和b不同时,则结果为true,否则为false

&&和&基本规则

  • 短路与&&:两个条件都为true,结果为true

  • 逻辑与&:两个条件都为true,结果为true

&&和&使用区别:

  • &&短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false,效率高

  • &逻辑与:不管第一个条件是否为false,第二个条件都要判断,效率低

  • 开发中,我们使用的基本是短路与&&,效率高

||和|基本规则:

  • 短路或||:两个条件中只要有一个成立,结果为true

  • 逻辑或|:只要有一个条件成立,结果为true,否则为false

||和|使用区别:

  • ||短路或:如果第一个条件为true,则第二个条件不会判断,最终结果为true,效率高

  • |逻辑或:不管第一个条件是否为true,第二个条件都要判断,效率低

  • 开发中,我们基本使用||

!取反基本规则

  • !(取反):如果条件本身成立,结果为false,否则为true

4、赋值运算符:

赋值运算符就是将某个运算后的值,赋给指定的变量

赋值运算符的分类:

  • 基本赋值运算符=

  • 复合赋值运算符(+=,-+,*=,/=,%=)

a+=b(等价于a=a+b)

a-=b(等价于a=a-b)

赋值运算符的特点:

  • 运算顺序从右往左

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

  • 复合赋值运算符等价于下面的效果

eg:a+=3等价于a=a+3
  • 复合赋值运算符会进行类型转换

byte b=2;
​
b+=3; 等价于b=(byte)(b+2)
​
b++; 等价于b=(byte)(b+1)

5、三元运算符:

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

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

如果条件表达式为false,运算后的结果为表达式2

三元运算符使用细节:

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

  • 三元运算符可以转成if--else语句

6、运算符优先级:

  • 运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序

  • 只有单目运算符、赋值运算符是从右向左运算的

优先级顺序:

  1. (),{}等

  2. 单母运算符++ ——

  3. 算术运算符

  4. 位移运算符

  5. 比较运算符

  6. 逻辑运算符

  7. 三元运算符

  8. 赋值运算符

二、标识符的命名规则和规范

1、标识符概念:

  1. java对各种变量、方法和类等命名时使用的字符序列称为标识符

  2. 凡是自己可以起名字的地方都叫标识符

2、标识符的命名规则

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

  • 数字不可以开头

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

  • java中严格区分大小写,长度无限制

  • 标识符不能包含空格

3、关键字:在Java语言中被语言设计者所使用的叫关键字,被JAVA语言赋予了特殊含义,用作专门用途的字符串(单词)

特点:关键字中所有字母都为小写

4、保留字:现在 java版本尚未使用,但以后版本可能会作为关键字使用,自己命名 标识符时要避免使用这些保留字(byValue、cast、future、 generic、inner、operator、outer、rest、var、goto、const)

5、标识符命名规范:

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

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

  3. 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个字母都大写

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

三、键盘输入语句:

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

  1. 步骤:导入该类的所在包,java.util.*

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

  3. 调用里面的功能

补充:
  -10.5%3=?
​
  //a%b  当a是小数时,公式=a-(int)a/b*b
​
-10.5%3=-10.5-(-10)/3*3=-10.5+9=-1.5
注意:有小数运算,得到的结果是近似值 

四、进制:

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

二进制: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不区分大小写

二进制转换成十进制规则:从最低位(右边)开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和

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

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

五、原码、反码、补码重点:

  1. 二进制的最高位是符号位:0表示整数,1表示负数

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

  3. 负数的反码=它的原码符号位不变,其它位取反

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

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

  6. java没有无符号数,换言之,java中的数都是有符号的

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

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

六、位运算符:

分别是按位与&,按位或|,按位异或^,按位取反,它们的运算规则是:

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

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

余悸-Shine

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

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

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

打赏作者

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

抵扣说明:

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

余额充值