流程控制语句的结构:
if    

if (条件语句){        执行语句;        ……}

0510 流程控制语句 if if..else while for do...while 随笔 第1张

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。 if...else (可以用三元运算转换符来改写,如:判断条件 ? 表达式1 : 表达式2)    if(判断语句{
   执行语句1;
    .....;
  }else{
  执行语句2;

  ......;
  }

0510 流程控制语句 if if..else while for do...while 随笔 第2张   0510 流程控制语句 if if..else while for do...while 随笔 第3张 变量num值19 模以2为1,不等于0,判断条件不成立。执行else{}的语句。
 if...else if...else     0510 流程控制语句 if if..else while for do...while 随笔 第4张 if(判断条件1){

    执行语句1

  }else if(判断条件2){

    执行语句2

  }

     ....

  else if(判断条件n){

    执行语句n

  }else {

    执行语句n+1

  }

判断条件1true时,运行 执行语句1,判断条件1false,继续执行判断条件2,结果为true则执行语句2,所有判断条件都为false,未满足,else后面{}中的执行语句n+1会执行

0510 流程控制语句 if if..else while for do...while 随笔 第5张

 

选择结构if语句与三元运算转换

三元运算符:判断条件 ? 表达式1 : 表达式2 当判断条件成立,结果为表达1 反之,表达式2
 循环语句while  (while与if区别:w反复进行条件判断,只要条件成立,{}一直执行,直到不成立,循环结束)
while(循环条件){ 执行语句....... } {}是循环体,它是否执行取决于条件,当条件为true,体就执行, 循环体执行完毕时会继续判断循环条件,直到循环条件为false,整个过程结束 0510 流程控制语句 if if..else while for do...while 随笔 第6张

0510 流程控制语句 if if..else while for do...while 随笔 第7张

 循环语句 for (用在循环次数已知情况下) 格式:

for(初始化表达式; 循环条件; 操作表达式){

        执行语句     ………}

语法结构中,for后面包括3个部分,初始化表达式、循环条件、操作表达式,之间用";"隔开,{}是循环体 0510 流程控制语句 if if..else while for do...while 随笔 第8张   变量i的初始值为1,在判断条件i<=4为true时,执行循环体sum+=i,执行完毕,会执行操作表达式 i++,i的值变为2,然后继续进行条件判断,开始下一次循环,直到i=5时,条件i<=4为false,结束循环,执行for循环后面的代码,打印“sum=10”   0510 流程控制语句 if if..else while for do...while 随笔 第9张   循环do..whlie   do {    执行语句.....} while(循环条件);  {}里面执行语句是循环体。do..while循环条件放在循环体放后面,循环体先执行一次,再根据循环条件决定是否继续执行 0510 流程控制语句 if if..else while for do...while 随笔 第10张   0510 流程控制语句 if if..else while for do...while 随笔 第11张 0510 流程控制语句 if if..else while for do...while 随笔 第12张 While do..while区别 循环条件不成立,while循环体一次都不执行, do..while 无条件执行一次再循环 无限循环 0510 流程控制语句 if if..else while for do...while 随笔 第13张无限循环存在的原因是不知道循环多少次,根据条件,控制循环 循环嵌套(99乘法表、内层 外层) 0510 流程控制语句 if if..else while for do...while 随笔 第14张 用 * 打印直角三角形 0510 流程控制语句 if if..else while for do...while 随笔 第15张0510 流程控制语句 if if..else while for do...while 随笔 第16张 0510 流程控制语句 if if..else while for do...while 随笔 第17张
跳转 break  continue 0510 流程控制语句 if if..else while for do...while 随笔 第18张0510 流程控制语句 if if..else while for do...while 随笔 第19张 通过while循环打印x的值,当x的值为3时使用break语句跳出循环。因此打印结果中并没有出现“x=4”。 2.标记 break内层循环时,只能跳出内层循环,想让它跳出外层循环,需加标记 a:
 1  int i, j; // 定义两个循环变量
 2         aaa: for (i = 1; i <= 9; i++) { // 外层循环 标记aaa
 3             for (j = 1; j <= i; j++) { // 内层循环
 4                 if (i > 4) { // 判断i的值是否大于4
 5                     break aaa; // 跳出外层循环
 6                 }
 7                 System.out.print("*"); // 打印*
 8             }
 9             System.out.print("\n"); // 换行
10         }
11     }
12 }
    0510 流程控制语句 if if..else while for do...while 随笔 第20张   外层for循环前面增加了标记“aaa”。当i>4时,使用break aaa;语句跳出外层循环 3.continue语句(终止本次循环,执行下一次循环)
 1 //1-100内的奇数求和
 2 public class ContinueDemo {
 3     public static void main(String[] args) {
 4         int sum = 0; // 定义变量sum,用于记住和
 5         for (int i = 1; i <= 100; i++) {
 6             if (i % 2 == 0) { // i是一个偶数,不累加
 7                 continue; // 结束本次循环
 8             }
 9             sum += i; // 实现sum和i的累加
10         }
11         System.out.println("sum = " + sum);
12     }
13 }
14 输出: 
15 sum = 2500
for循环让变量i的值在1~100之间循环,在循环过程中 当i的值为偶数时,将执行continue语句结束本次循环,进入下一次循环。 当i的值为奇数时,sum和i进行累加,最终得到1~100之间所有奇数的和,打印“sum = 2500”

 

流程控制语句switch(与if不同的事用于具体的值,if是范围); 选择结构switch语句:将表达式的值与目标值比较,满足则执行相应的执行语句;没有匹配的执行default后的语句;

switch (表达式){

    case 目标值1:

        执行语句1

        break;

    case 目标值2:

        执行语句2

        break;

    ......

    case 目标值n:

        执行语句n

        break;

    default:

        执行语句n+1

        break;

}

数组的定义 数据类型[] 数组名 =new 数据类型[元素个数或数组长度]; int[ ] x = new int(100); int[ ] x;声明一个int[ ]类型的变量 x = new int[ 100];//创建一个长度为100的数组           数组内存图 0510 流程控制语句 if if..else while for do...while 随笔 第21张  
 1    public class ArrayDemo01 {
 2        public static void main(String[] args) {
 3            int[] arr; // 声明变量
 4            arr = new int[3]; // 创建数组对象
 5            System.out.println("arr[0]=" + arr[0]); // 访问数组中的第一个元素
 6            System.out.println("arr[1]=" + arr[1]); // 访问数组中的第二个元素
 7            System.out.println("arr[2]=" + arr[2]); // 访问数组中的第三个元素
 8            System.out.println("数组的长度是:" + arr.length); // 打印数组长度
 9        }
 10    }

0510 流程控制语句 if if..else while for do...while 随笔 第22张

第8行代码显示,三个元素初始值 0,因为自赋默认值是0,元素不同,默认值不同

0510 流程控制语句 if if..else while for do...while 随笔 第23张

 为数组元素赋值
1 public class ArrayDemo02 { 2 public static void main(String[] args) { 3 int[] arr = new int[4]; // 定义可以存储4个整数的数组 4 arr[0] = 1; // 为第1个元素赋值1 5 arr[1] = 2; // 为第2个元素赋值2 6 // 下面的代码是打印数组中每个元素的值 7 System.out.println("arr[0]=" + arr[0]); 8 System.out.println("arr[1]=" + arr[1]); 9 System.out.println("arr[2]=" + arr[2]); 10 System.out.println("arr[3]=" + arr[3]); 11 } 12 }

0510 流程控制语句 if if..else while for do...while 随笔 第24张

第3行代码定义了一个数组,此时数组中每个元素都为默认初始值0。第2、3行代码通过赋值语句将数组中的元素arr[0]和arr[1]分别赋值为1和2,而元素arr[2]和arr[3]没有赋值,其值仍为0,因此打印结果中四个元素的值依次为1、2、0、0。

数组静态初始化

1、类型[ ] 数组名 = new 类型[ ] {元素,元素,...};

2、类型[ ] 数组名 = {元素,元素,元素...};

  数组的遍历 
public class ArrayDemo04 {
    public static void main(String[] args) {
        int[] arr = { 1, 2, 3, 4, 5 }; // 定义数组
        // 使用for循环遍历数组的元素
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]); // 通过索引访问元素
        }
    }
}

0510 流程控制语句 if if..else while for do...while 随笔 第25张

定义一个长度为5的数组arr,数组的角标为0~4。由于for循环中定义的变量i的值在循环过程中为0~4,因此可以作为索引,依次去访问数组中的元素,并将元素的值打印出来

 

1.简述Scanner类及Random类的功能和使用方式?

Scanner类功能:引用数据类型,获取用户键盘录入的数据

方式:先在最顶部导包 
    import java.util.Scanner;
    数据类型 变量名 = new 数据类型();
    变量名.方法名();
举例
创建对象 Scanner sc=newScanner(System.in);
调用方法:
    int i=sc.nextInt();接收录入的数字
    Strings=sc.next();接收录入的字符串 
获取数字
    System.out.println("请输入一个数字");
    int n = sc.nextInt();
    System.out.println("n的值为" + n);
获取字符串
    System.out.println("请输入一个字符串");
    String str = sc.next();
    System.out.println("str的值为" + str);


Random类功能:产生多种数据类型的随机数


顶部导包 import java.util.Random
举例 创建
    Random 变量名 = new Random();

产生0-100的随机数整数给i
    int i = r.nextInt(100);
得到0.0-1.0范围的随机小数 赋值给d变量
    double d = r.nextDouble();
    System.out.println(i);
    System.out.println(d);


2.if语句的格式有几种?注意事项是什么?分别在什么时候使用?

三种 :()里放判断条件  执行语句放在{}
if(判断条件){执行语句}
if(){}else{}:如果满足某种条件,就进行某种处理,否则进行另一种处理
if(){}else if(){}else if(){}...else{}:多种条件判断,进行多种不同处理

第一种:if(条件表达式){
    执行语句
    }
注意:
1:if(条件表达式)其后没有分号。
 一般来说,有"{}"有没有";",有";"就没有"{}"
2:if语句所控制的语句如果是一条语句,我们可以不写大括号;
如果控制的是两条以上的语句,必须加大括号。
if语句的控制体没有加大括号是其后跟的一条语句。
建议:永远加上大括号。避免不必要的错误。
第二种:if(条件表达式){
    执行语句1;
    }
    else{
    执行语句2;
    }
注意:
1:执行流程  判断条件表达式,为true,执行语句1,若为false ,执行语句2
2:if可单用,有else必有if

第三种:if(条件表达式){
    执行语句1;
    }else if(条件表达式){
    执行语句2;
    }
    .......
    else{
    执行语句n;
    }
 1:else可以省略,但是不建议。
(1)它是第三种格式的组成部分。
(2)你有可能没有判断完所有的情况,我们就可以使用else来完成特殊情况。
2:执行流程
格式很长,但它整体只是一条语句。
不断的判断,只要有满足条件的条件表达式,就执行该判断处控制的语句体,执行完后。语

句结束。
当都不满足时候,执行else。
3:if后面必须有条件表达式。
else后面没有条件表达式。
4:if语句的嵌套
if语句里面的语句体还是if语句。


3.for循环、while循环、do-while循环的格式是什么?简述执行流程及注意事项?

for循环:for(初始化表达式; 循环条件; 操作表达式){
    执行语句
    ………
    }
for关键字后面()中包括三部分:初始化表达式、循环条件和操作表达式,它们之间“;”分
隔{}中的执行语句为循环体。

while循环:while(循环条件){
        执行语句
        ………
       }
当循环条件为true时,循环体就执行。执行完毕时会继续判断循环条件,如条件仍为true则

继续执行,直到循环条件为false时,整个循环过程才结束。

do-whiledo {
        执行语句
        ………
      } while(循环条件);
循环体会无条件执行一次,然后再根据循环条件来决定是否继续执行。

5.简述break、continue及循环标号的作用?
break结束当前循环
contiune 跳出本次循环
在任何内循环内可以通过查找标号的方式来实现结束和挑传操作

6.编写程序,生成5个1至10之间的随机整数,并打印结果到控制台。
import java.util.Random;
public class RandomDemo{
    public static void main (String args[]){
        for (int a = 0 ; a < 5 ; a++){
            System.out.println(new Random().nextInt(10)+1);
        }       
    }
}
8.编写程序,打印1到100之内的整数,但数字中包含7的要跳过

代码1:
import java.util.*;
//打印1到100之内的整数,但数字中包含7的要跳过
public class NumberDemo{
    public static void main (String[] args){
        for (int a = 1 ; a <= 100 ; a++){
            if(!String.valueOf(a).contains("7")){
                System.out.print(a+" ");
            }
        }
    }
}
代码2:

//打印1到100之内的整数,但数字中包含7的要跳过
public class User {
    public static void main(String[] args) {
        int ge, shi;
        for (int a = 1; a <= 100; a++) {
            ge = a % 10;
            shi = a / 10 % 10;
            if (a < 10) {
                if (!(a == 7)) {
                    System.out.print(a+" ");
                }
            } else {
                if (!(ge == 7 || shi == 7)) {
                    System.out.print(a+" ");
                }
            }
        }
    }
}

代码3:
public class User {
    public static void main(String[] args) {
        for (int a = 1 ; a <= 100; a++){
            if(a % 10 == 7 || a / 10 % 10 == 7){
                continue;
            }
            System.out.println(a);
        }
    }
}
10.我国最高山峰是珠穆朗玛峰,8848米。现在我有一张足够大的纸,它的厚度是0.01
米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度。
public static void main(String[] args) {
        double paperThick = 0.01;
        int count = 0;
        while (true){
            if (paperThick < 8848.0){
                count++;
                paperThick = paperThick * 2.0;
                System.out.println("第"+count+"次折"+paperThick+"M");
            }else{
                break;
            }
        }
        System.out.println("一共能折"+count+"次");
    }
11.看程序写结果:请自己独立分析,先不要编译运行。
    第一题
    int x = 1,y = 1;

    if(x++==2 & ++y==2)
    {
        x =7;
    }
    System.out.println("x="+x+",y="+y);      
    //x=2 y=2
    ---------------------------------------------------
    第二题
    int x = 1,y = 1;
    if(x++==2 && ++y==2)
    {
        x =7;
    }
    System.out.println("x="+x+",y="+y);
    
    //x=2 y = 1
    ---------------------------------------------------
    第三题
    int x = 1,y = 1;

    if(x++==1 | ++y==1)
    {
        x =7;
    }
    System.out.println("x="+x+",y="+y);
    //x = 7 y = 2
    ---------------------------------------------------
    第四题
    int x = 1,y = 1;
    if(x++==1 || ++y==1)
    {
        x =7;
    }
    System.out.println("x="+x+",y="+y);

    //x = 7 y = 1
    ---------------------------------------------------
    第五题//b
    boolean b = true;
    if(b==false)
        System.out.println("a");
    else if(b)
        System.out.println("b");//true
    else if(!b)
        System.out.println("c");
    else
        System.out.println("d");

    ---------------------------------------------------
    
12.需求:
    * 键盘录入x的值,计算出y的并输出。        
    * x>=3    y = 2 * x + 1;
    * -1<x<3    y = 2 * x;
    * x<=-1    y = 2 * x - 1;
代码:
public static void main(String[] args) {
        @SuppressWarnings("resource")
        int x = new Scanner(System.in).nextInt();
        System.out.println("y = " + (x >= 3 ? ((2 * x) + 1) : x > -1 && x < 3 ? 2 * x : x <= -1 ? ((2 * x) - 1) : ""));
    }

13.键盘录入三个整数,并将三个数据中的最大值打印在控制台。
代码:
public static void main(String[] args) {
        @SuppressWarnings("resource")
        int x = new Scanner(System.in).nextInt();
        @SuppressWarnings("resource")
        int y = new Scanner(System.in).nextInt();
        @SuppressWarnings("resource")
        int z = new Scanner(System.in).nextInt();
        System.out.println("max = " + (Math.max(Math.max(x, y), z)));
    }

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄