java 001 002_69期-Java SE-003_流程控制、循环-001-002

### 位运算符

十进制和二进制的转换。

- 十进制转二进制:目标数除以二,如果能除尽,则该位计作零,如果除不尽,则该位计作一,再对商继续除以二,以此类推,直到商为零,然后将每一位的结果进行反序组合就是对应的二进制结果,10 转为二进制 1010,17 转为二进制 10001

- 二进制转十进制:从目标数最右侧算起,本位的数值乘以本位的权重,权重就是2的第几位的位数减一次方,如果第1位就是2的(1-1)次方,第2位就是2的(2-1)次方,第3位就是2的(3-1)次方…,将每一位的数值和本位权重相乘之积相加的值就是对应的十进制。

位预算符包括:&(按位与)、|(按位或)、^(按位异或)、<>(右移)

变量A & 变量B:每一位的数值一一对应,若都为1,则该位计作1,否则计作0。

变量A | 变量B:每一位的数值一一对应,只要有1个为1,该位计作1,否则计作0。

变量A ^ 变量B:每一位的数值一一对应,相同计作0,不同计作1。

变量A << 变量B:变量A乘以2的变量B次方,如2 << 3,结果就是2*8。

变量A >> 变量B:变量A除以2的变量B次方,如2 >> 3,结果为2/8。

求出 10&5、10|5、10^3、2<<3、2>>3

10 的二进制 1010

5 的二进制 101

3 的二进制 11

### 流程控制

- if-eles

if-eles 是一个基本的流程控制语法,用于判断某个条件是否成立,然后执行不同的业务逻辑,基本语法:

```java

if(判断条件){

//条件成立的业务逻辑

}else{

//条件不成立的业务逻辑

}

```

运算符优先级顺序 !>算术运算符>关系运算符>&&>||。

- 多重if

173 以下M,173~178 L,178 以上 XL

if-else 的使用比较灵活,可以根据不同的情况选择不同的组合方式,需要注意的是:

- if 后面必须跟条件

- eles 后面不能跟条件

- eles 后面可以直接跟{//逻辑代码},也可以跟if语句。

- if 嵌套

成绩大于80分可以进入决赛,根据年龄分别进入A组(20岁以上),B(18~19岁)

- switch-case

switch-case 也可以完成流程控制,与 if 不同的是,switch-case 只能完成等值判断,即条件如果是判断两个值是否相等,可以使用 switch-case ,如果是比较两个值的大小关系,则不能使用 switch-case ,switch 支持 int、short、byte、char、枚举、String 类型数据的判断,不支持 boolean 类型。

基本语法:

```java

switch(变量){

case 值1:

代码1

break;

case 值2:

代码2

break;

......

default:

代码n;

break;

}

```

if-else

```java

if(变量 == 值1){

代码1

}else if(变量 == 值2){

代码2

}

......

else{

代码n

}

```

case 判断 switch 后面的变量是否等于某个值,default 表示所有的 case 都不成立的情况下所执行的代码。

每一个 case 语句必须要跟 break,表示结束当前的代码块,如果不跟 break,则从当前的 case 语句起,后续所有的 case 都不再进行判断,直接执行相关代码。

- 循环

1、while 循环

while 是一种具体的循环方式,基本语法:

```java

while(循环条件){

//循环体

}

```

当循环条件成立时,会重复执行循环体中的代码,直到循环条件不成立,我们应该在循环体中动态控制循环条件是否成立,编写循环逻辑时,需要额外添加控制循环条件的代码,这些代码组成了循环四要素:

- 初始化循环变量;

- 循环条件;

- 循环体;

- 更新循环变量;

任何一种形式的循环代码,四要素缺一不可。

```java

int num = 0;

while(num < 10) {

System.out.println("Hello World");

num++;

}

```

循序执行顺序:第一步,初始化循环变量。第二步,判断循环条件,如果成立,则执行循环体;如果不成立,则直接跳出循环,执行后面的代码。如果执行了循环体,第三步就是更新循环变量,再回到第二步,重新判断循环条件是否成立。

```java

System.out.println("学生成绩查询系统");

String str = "yes";

while(str.equals("yes")) {

System.out.print("请输入学生编号:");

Scanner scanner = new Scanner(System.in);

int num = scanner.nextInt();

switch (num) {

case 1:

System.out.println("张三的成绩是90");

break;

case 2:

System.out.println("李四的成绩是80");

break;

case 3:

System.out.println("王五的成绩是70");

break;

default:

System.out.println("输入的数据有误");

break;

}

System.out.print("是否继续查询?yes/no:");

str = scanner.next();

}

System.out.println("查询结束");

```

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值