黑马程序员技术交流社区

标题: 【上海校区】Java运算符总结 [打印本页]

作者: 小猪被骑    时间: 2020-5-7 10:49
标题: 【上海校区】Java运算符总结
运算符
让变量与变量之间产生联系或者运算

数学运算符
包含了 + - * / % 符
简单的数学运算符
整型除以整型得到的还是整型
整型乘以整型得到的还是整型,得到结果直接强转成int
整型间进行运算的时候,默认转成大类型进行计算
整型与浮点型进行计算得到的结果是浮点型
包含了++ –
自增 自减,相当于在原来的基础上+1或者-1
++num
先进行累加操作,然后使用number的结果
num++
先使用number数字,然后再进行累加
字符串连接符
就是+号
如果遇到特殊字符,需要使用\进行转义
赋值运算符
= 总是将等号右面的结果赋值给左面的变量
+= -= *= = %=
比较运算符
对符号左右两边的结果进行比较
比较运算符的结果都是boolean类型
== > < >= <= !=
逻辑运算符
将多个比较运算符的结果,综合到一起获取最终结果
&&
符号两边结果都为true才返回true
日常生活着并且的关系 肤白并且貌美并且大长腿
短路与
左面的结果为false,右面的就不在查看了
||
符号两边的结果有一个为true就返回true
日常生活中或者的关系 肤白或者貌美或者大长腿
短路或
左面的结果为true,后面的就不在查看了

对当前结果取反
位运算符
直接去操作二进制数字
&
二进制数字相同位数必须同时为1才返回1
|
二进制数字相同位数只要有一个为1才返回1
<<<
对二进制数字进行位移
向左移动一位值变大两倍,向右与之相反
三目运算符
表达式?结果1:结果2
表达式为true,返回结果1
表达式为false,返回结果2
运算符的优先级
数学,连接这类的运算符运算级别最高
先算乘除后算加减
如果想改变计算顺序,需要加括号
比较运算符优先级较低
逻辑运算符
赋值运算符
逻辑控制语句
顺序执行
按照我们代码书写的顺序,从上之下开始执行
特殊情况下,我们需要使用一些手段让语句的执行发生一些改变
选择执行
根据条件选择不同的执行路径
if
根据条件判断是否执行某些业务
语法结构1
if(条件语句){
业务代码
}
如果条件语句返回true,执行业务代码
语法结构2
if(条件语句){
业务代码1
}else{
业务代码2
}
双重选择语句
如果条件语句为true,执行业务代码1,否则执行业务代码2
但是代码1或者代码2必须执行一个
语法结构3
if(条件1){
业务代码1
}else if(条件2){
业务代码2
}else if(条件3){
业务代码3
}else{
业务代码4
}
多重分支选择语句
如果条件1返回true,执行业务代码1,后面的代码就不在执行了
如果条件1返回false,开始判断条件2,如果返回true,执行业务代码2,后面的代码就不在执行了

如果前面的条件都不满足,执行else
使用多重分支特别需要注意条件的覆盖,
就是前面的条件包含后面的条件,导致后面的语句永远得不到执行
switch
多重定值选择语句
一般用于生活中固定值的比较
星期,字母,月份
语法结构
switch(要比较的变量){
case 值1:
执行语句1
break;
case 值2:
执行语句2
break;
default:
执行语句默认
break;
}
依次比较变量是否等于值123456,如果等于就选择对应的执行语句
工作的时候一定要注意break 是否需要添加
推荐如无特殊情况,一般都使用if语句。比如枚举
循环执行
重复的去执行固定的一段代码或者业务逻辑
for
让代码循环执行一定的次数,具体执行多少次要查看判断条件
语法结构
for(初始化1;判断条件2;条件改变3){
循环体4
}
首先对条件进行初始化,然后判断条件是否为true,如果判断条件为true,执行循环体
循环体执行完毕后,把条件进行改变,否则就会出现死循环
执行顺序为: 1 243 243 243 243 … 2
这四项也构成了循环的基本组成
while
语法结构
while(判断条件){
循环体
}
使用while的判断条件需要提前声明变量
我们还需要在循环体中增加条件改变语句
do while
do{
循环体
}while(判断条件);
dowhile循环体的第一次执行可以不满足循环条件
至少执行一次循环体
关键字-continue
跳过本次循环,继续下面的循环
只对所属的循环有效
关键字-break
终止整个循环
只对所属的循环有效
双重循环
常用的两个方法
用户的输入

随机生成数字
方法Method
方法就是将实现某一功能的代码放在一起,以后可以去调用方法来实现对应的功能
方法的语法格式
修饰符 返回值类型 方法名(参数列表){
方法体
return 返回值;
}
修饰符:
对方法的一些特性进行描述(封装,隶属关系)
现在大家记得写一个 public即可
返回值类型
方法执行完毕之后,需要给调用者一个什么结果
我们接受返回值的时候也是通过返回值类型来进行判断的
方法名
命名基本上遵循变量名的规则,首字母依然需要小写
参数列表
告诉方法调用者需要向方法中传入的参数类型
调用者传入的参数(类型,数量,顺序)要和定义的参数列表一模一样
调用者真正传入的参数被称为:实参
定义方法的参数被称为:形参
方法体
整个方法的核心执行部分,一般调用者不需要知道方法体内容
这也符合程序开发的高内聚 低耦合
return 返回值
方法最终返回给调用者的结果
返回值要和声明的返回值类型一致
如果返回值类型为void,return可写可不写
return 是一个方法的结束,必须写在一个流程的最后
调用方法
需要先创建方法所载的类的对象
然后通过对象.方法(参数)进行调用
递归调用
一个方法自己调用自己的时候,这种模式就叫做递归调用
递归调用类似于循环,一定要注意程序的出口(程序在什么时候结束)
如果没有出口,程序就变成了死循环









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2