运算符与流程控制

1. 运算符

1.1. 赋值运算符

= : 把左边的数据赋值给右边

+= : 左边加右边,然后把结果赋值给左边

-= : 左边减右边,然后把结果赋值给左边

*= : 左边乘以右边,然后把结果赋值给左边

/= : 左边除以右边,然后把结果赋值给左边

赋值运算属于又结合 , 同优先级从左到右计算

        byte x = 2;

        byte y = 127;

        y++;

        x = (byte) (x + y);

// 以上运算符可以自动进行数据类型转换

        x+=y;

1.2. 字符串拼接

1.2.1. 转义符

\ : 转义符 , 把有意义的字符转换为无意义字符

字符中出现的单引号 需要转义

        char c = '\'';

字符串中出现双引号 需要转义

        char c = '\"';

如果出现转义符,则需要写两个转义符\\ , 用转义符把转义符转成无意义字符

        char c='\\';

1.2.2. 字符串拼接

+如果两边是数字 , 则为加和运算

+如果两边有字符串 , 则为字符串 拼接符 , 用于把多个数据拼接成一个字符串

数字转字符串可以和空字符串相加

1.3. 三目运算符

三目运算符又叫三元运算符

语法 : 布尔型 ? 真语句 : 假语句;

         int num = 22121;

         String result = num % 2 == 0 ? "偶数" : "奇数";

         System.out.println(result);

三目运算符也可以进行嵌套

         int a = 1;

         int b = 2;

         result = a>b ? "大于" : (a==b ? "等于" : "小于");

         System.out.println(result);

2. 流程控制

        2.1. 顺序结构

        编写的代码 , 默认就是从上往下从左往右执行

        2.2. 分支结构

        根据不同的条件 , 执行不同的分支代码

                2.2.1. if...else...

                单分支

                        语法 : if ( 布尔型 ){ 代码 }

                        单分支不符合条件就不会执行

                双分支

                        语法 : if ( 布尔型 ){ 符合条件的代码 } else { 不符合条件的代码 }

                多分支

                        语法 : if( 布尔型 ){ 代码 } else if (布尔型){}.....

                        多分支其中一条语句执行者真整个多分支结束

                2.2.2. Switch

                语法 : switch(int/String){ case 值 : 代码 break; ..... }

                        char key = 'E';

                         if (key == 'A') {

                          System.out.println("优秀");

                         } else if (key == 'B') {

                          System.out.println("良好");

                         } else if (key == 'C') {

                          System.out.println("及格");

                         } else if (key == 'D') {

                          System.out.println("差");

                         } else {

                          System.out.println("重修");

                         }

break 必须要加,否则会发生case穿透

也可以利用case穿透达成合并的效果

                         switch(key) {

                         case 9:

                        case 10:

                         System.out.println("优秀");

                         break;

                         case 7:

                         case 8:

                         System.out.println("良好");

                         break;

                         case 6:

                         System.out.println("及格");

                         break;

                         case 5:

                         case 4:

                         case 3:

                         case 2:

                         case 1:

                         case 0:

                 System.out.println("不及格");

                         break;

                         default:

                         System.out.println("成绩输入错误");

        2.3. 循环结构

循环结构:重复执行某段代码

for 计数循环,执行0~N次

while 真假循环,执行0~N次

doWhile 真假循环,但是保证至少执行一次,执行1~N次

                2.3.1. 循环三要素

起始值

终止条件

步长

                2.3.2. for

                        2.3.2.1. 循环基础

语法 : for( 起始值; 终止条件 ; 步长 ){ 循环体,需要重复执行的代码 }

执行过程 : 先执行起始值,并只执行一次 , 然后执行终止条件,终止条件必须是布尔型,如果是false,则终止循环;如果是true,则执行循环体,然后执行步长,再次执行终止条件,如果是false,则终止,如果是true,则执行循环体,然后执行步长,以此类推,一直到 终止条件 为false 终止

循环外的语句无法调用循环内的变量---如果需要用到循环中的变量,则需要提升作用域

                                2.3.2.2. 嵌套循环

                外层循环 执行一次,内层循环执行一轮

                         for (int i = 0; i < 5; i++) {// 外层循环相当于 表中的行

                          for (int j = 0; j < 5; j++) { // 内层循环相当于 表中的列

                           System.out.print(j+" ");

                          }

                          // 换行

                          System.out.println();

                         }

                2.3.3. while

                        while 真假循环,当某个条件为真,执行,执行次数为0~N次

                        语法 : while(布尔值){循环体}

                                        int i = 0;

                         while (i < 5) {

                                  System.out.println(i);

                          i++;

                         }

                         Scanner scanner = new Scanner(System.in);

                         System.out.println("请输入密码:");

                         int password = scanner.nextInt();

                         while (password != 1234) {

                          System.out.println("密码不正确,请重新输入(1234)");

                          password = scanner.nextInt();

                         }

                         System.out.println("登陆成功");

                2.3.4. doWhile

                        doWhile 真假循环,保证代码至少执行一次,次数为1~N次

                        语法 : do{循环体}while(布尔型)

                         int i = 10;

                         do {

                          System.out.println(i);

                          i++;

                         } while (i < 5);

2.4. 跳转语句

        2.4.1. Break

        break 的两种用法

                 1 用在switch中,用于结束分支,防止case穿透

                 2 用在循环中,用于结束近层循环

                        for (int i = 0; i < 10; i++) {

                          if (i == 5) {

   // 终止循环

                           break;

   // 跳过当前次循环,直接执行步长(i++)

   // continue;

                         }

                         System.out.println(i);

2.4.2. continue

continent : 跳过当前次循环

                         for (int i = 0; i < 10; i++) {

                          if (i == 5) {

   // 终止循环

   // break;

   // 跳过当前次循环,直接执行步长(i++)

                           continue;

                          }

                         System.out.println(i);

                2.4.3. BreakOutfor

 当出现在嵌套循环的场景中,continue和break 都默认操作内层循环

如果希望操作外层循环,则需要在外层循环前设置一个名称,然后 通过 break 名称 , continue 名称 来操作外层循环

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值