JavaSE 总结2

Java常见的运算符

+(加) ,-(减),*(乘),/(除),%(求余)

算术运算规则

两个数字做 算术运算的时候,满足以下规则

如果两个数中有 double 类型,结果一定是double类型
如果两个数中有float类型,结果一定是float类型
如果两个数中有long类型,结果一定是long类型

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

赋值运算符(除=) 不会提升变量的数据类型

一元运算符
a++ a–
++a --a

a++ 或者 ++a 都可以即作为 语句,也可以作为表达式来使用

a++ : 先计算 a++ 表达式的值,表达式的值等于a的值, 再对a自增1
++a : 先对 a 自增1, 在计算 ++a 表达式的值, 表达式的值等于a的值

int a = 5 ;

int b = (a–) + (–a) + (a–) ;

关系运算符

, >= , < , <= , == , !=
1
关系运算符是一个表达式、返回的结果是 boolean 类型
关系运算符常用来做条件判断
6 > a > 3 (语法错误的), a > 3, a < 6

逻辑运算符
&& (逻辑与) , || (逻辑或) , !(逻辑非)

& (逻辑与) , | (逻辑或)

逻辑运算符是一个表达式、返回的结果是 boolean 类型
逻辑运算符常用来做条件判断
a > 3 && a < 6 (正确写法)

&& 和 || 会产生短路现象, &和| 不会产生短路

&& :一假即假, 当第一个表达式为假的时候,那么第二个表达式不参与运算
|| : 一真即真, 当第一个表达式为真的时候,那么第二个表达式不参与运算
通常推荐使用 && 和 ||

位运算符
位运算只能应用于整数类型
主要是通过二进制进行运算的
位运算的运算速度是最高效的
& (位与) ,| (位或) , ~(位非) ,^ (异或)
1
在位运算中,我们可以简单的把1就理解为true,0理解为 假
& :相同位 如果有0,结果为0,否则为1
| :相同位 如果有1,结果为1,否则为0
~ :按位取反,原来是1 变为0,原来是0变为1
^ : 相同位 不同结果为1,否则为0;

位移运算符
位移运算只能应用于整数类型
主要是通过二进制进行运算的
位移运算的运算速度是最高效的

<<(左移) , >>(右移), >>>(无符号右移)
5
0000 0000 0000 0000 0000 0000 0000 0101
-4
1111 1111 1111 1111 1111 1111 1111 1100

左移:一个数的二进制向左边移动指定位数,在低位补0
右移: 一个数的二进制向右边移动指定位数,在高位正数补0,负数补1
无符号右移:一个数的二进制向右移动指定位数,在高位补0

三元运算符
是一个表达式 , 不能单独使用
语法:exp ? exp1 : exp2
exp表达式 必须是一个 返回 boolean的表达式
当exp表达式为true

程序流程控制

  1. 顺序控制流程:一个原则:程序从左到右,从上到下执行。

  2. 选择控制流程:

|-- 单分支
if (条件) {
// 条件满足,则执行{}内的代码
}
|-- 双分支
if(condition) {
// 条件满足,则执行if内的代码
} else {
// 条件不满足的情况下,执行else中的代码
}
|-- 多(三)分支
if (condition1) {
// 条件1满足,则执行这儿的代码
} else if (condition2) {
// 条件2满足,则执行这儿的代码
}…
else if (conditionN) {
// 条件N满足,则执行这儿的代码
} else {
// 剩余的所有条件
}

switch语句

过多地使用嵌套的if语句会使程序很难阅读。Java提供switch语句来有效地处理多重条件的问题。
switch (switch表达式) {
case 值1 : 语句1;
break;
case 值2 : 语句2;
break;

case 值N : 语句N;
break;
default : 默认情况下执行的语句;
}

3.循环控制流程:循环是用来控制语句块重复执行的一种结构。

for循环语句:

循环四要素:循环初始化,循环继续条件,循环体,循环迭代/步长/周期。
for循环格式:
for (初始化; 继续条件; 迭代) {
循环体语句;
}

while循环:

循环初始化
while (循环继续条件) {
循环体语句;
循环迭代;
}

do while循环:

do {
// 循环体
//循环迭代;
} while(循环继续条件);

常常用于人机交互:先进行交流,再判断条件。

4.关于死循环:常常用于一些事件,一直等待事件的发生,只要发生就响应。比如用户的登录。

条件永远满足,导致循环永远执行,死循环
while(true) {
}
for (;true;) {
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值