重学Java 6 流程控制语句

news2024/12/23 5:57:04

我与我,至死不渝

          ——24.1.15

模块重点:

①会使用Scanner和Random

②会使用switch以及知道case的穿透性

③会使用if

④会使用for循环,while循环,嵌套循环

一、键盘录入_Scanner

1.概述:是Java定义好的一个类

2.作用:将数据通过键盘录入的形式放到代码中参与运行

3.位置:java.util

4.使用:

        ①导包:通过导包的方式找到要使用的类  ->  导包位置:类上

        import java.util.Scanner;  ->  导入包:明确使用的是哪个包下的哪个类的

       

        ②创建对象

            Scanner 变量名 = new Scanner(System.in);

       

        ③调用方法,实现键盘录入

            变量名.nextInt()        输入整数int型的

            变量名.next()        输入字符串String型的

1.Scanner键盘录入练习

package Better;

import java.util.Scanner;

public class Demo02Scanner_Practise {
    public static void main(String[] args) {
        //创建对象
        Scanner sc = new Scanner(System.in);
        //录入int型整数
        int data1 = sc.nextInt();
        System.out.println("data1 = " + data1);

        //录入String字符串
        String data2 = sc.next();
        System.out.println("data2 = " + data2);
    }
}

     

案例1

从键盘输入三位老人的年纪,并编写程序判断最大年龄是多大

package Better;

import java.util.Scanner;

public class Demo02Scanner_Practise {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int old1 = sc.nextInt();
        int old2 = sc.nextInt();
        int old3 = sc.nextInt();
        int tmp = old1>old2?old1:old2;
        int max = tmp>old3?tmp:old3;
        System.out.println("max = " + max);
    }
}

2.next和nextline的区别

变量名.next():录入字符串 -> 遇到空格和回车就结束录入了

变量名.nextLine():录入字符串 -> 遇到回车就结束录入了

import java.util.Scanner;

public class Demo03Scanner_differences {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String data1=sc.next();
        System.out.println("data1 = " + data1);
        String data2=sc.nextLine();
        System.out.println("data2 = " + data2);
    }
}

import java.util.Scanner;

public class Demo03Scanner_differences {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
//        String data1=sc.next();
//        System.out.println("data1 = " + data1);
        String data2=sc.nextLine();
        System.out.println("data2 = " + data2);
    }
}

3.注意

当用Scanner输入语句时,记住Scanner输入的类型,在输入时只能输入对应类型,类型应相匹配

二、Random_随机数

1.概述:Java自带的一个类

2.作用:可以在指定范围内随机一个参数

3.位置:java.util

4.使用:

        ①导包:import java.util.Random

        ②创建对象:

           Random 变量名 = new Random()

        ③调用方法,生成随机数:

           变量名.nextInt() -> 在int的取值范围内随机一个整数

import java.util.Random;

public class Demo04Random {
    public static void main(String[] args) {
        //创建对象
        Random rd = new Random();
        int data = rd.nextInt();
        System.out.println("data = " + data);
    }
}

在指定范围内随机一个数:

nextInt(int bound) -> 在 0~(bound - 1)

        ①nextInt(10) -> 0 ~ 9

        ②在1~10之间随机一个数:nextInt(10) + 1 -> (0 ~ 9) + 1 -> 1 ~ 10

        ③在1~100之间随机一个数:nextInt(100) + 1 -> (0 ~ 99) + 1 -> 1 ~100

        ④在100~999之间随机一个数:nextInt(900) + 100 -> (0 ~ 899) + 100 -> 100 ~ 999

案例1:

在1~100之间随机一个数

import java.util.Random;

public class Demo04Random {
    public static void main(String[] args) {
        //创建对象
        Random rd = new Random();
        //1~100之间的随机数
        int data = rd.nextInt(100+1);
        System.out.println("data = " + data);
    }
}

 

案例2:

在100~999之间随机一个数

public class Demo04Random {
    public static void main(String[] args) {
        //创建对象
        Random rd = new Random();
        //1~100之间的随机数
        int data = rd.nextInt(100+1);
        System.out.println("data = " + data);
        //100~999之间随机一个数
        int data1 = rd.nextInt(900)+100;
        System.out.println("data1 = " + data1);
    }
}

三、switch(选择语句)

1.switch基本使用

①格式:

        switch(变量){

                case 常量值1:

                        执行语句1;

                        break;

              case 常量值2:

                        执行语句2;

                        break;

              case 常量值3:

                        执行语句3;

                        break;

        ……

              default:

                        执行语句n;

                        break;

}

②执行流程:

        用变量接收的值和下面常量值进行匹配,匹配上哪个case就执行哪个case对应的执行语句,如果以上所有case都没有匹配上,就走default对应的执行语句n

③break关键字:代表的是结束switch语句

④注意:switch能匹配什么类型的数据:

        byte short int char 枚举类型 String类型 不能匹配浮点型数据

案例

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请您输入一个1~4之间的整数");
        int data = sc.nextInt();
        switch (data){
            case 1:
                System.out.println("鹅鹅鹅");
                break;
            case 2:
                System.out.println("\"曲项向天歌\" = " + "曲项向天歌");
                break;
            case 3:
                System.out.println("\"白毛浮绿水\" = " + "白毛浮绿水");
                break;
            case 4:
                System.out.println("\"红掌拨清波\" = " + "红掌拨清波");
                break;
            default:
                System.out.println("请您输入1~4范围内的数字");
                break;
        }
    }
}

2.case的穿透性

①如果没有break,就会出现case的穿透性,程序就会一直往下穿透执行,直到遇到了break或者switch代码执行完毕了,就停止了

②可以利用case的穿透性对代码进行优化,使代码简洁易懂

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请您输入一个1~4之间的整数");
        int data = sc.nextInt();
        switch (data){
            case 1:
                System.out.println(" 鹅鹅鹅");
                //break;
            case 2:
                System.out.println(" 曲项向天歌");
                //break;
            case 3:
                System.out.println(" 白毛浮绿水");
                //break;
            case 4:
                System.out.println(" 红掌拨清波");
                //break;
            default:
                System.out.println("请您输入1~4范围内的数字");
                break;
        }
    }

四、分支语句

1.if的第一种格式

①格式:

        if(boolean表达式){

                执行语句;

        }

②执行流程:

        先走if后面的boolean表达式,如果是true,就走if后面大括号中的执行语句,否则就不走

③注意:

        if后面跟的是boolean表达式,只要是结果为boolean型的,都可以放在小括号中,哪怕直接写一个true或false

案例

判断两个整数是否相等

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请您输入两个数字:");
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
        if(num1 == num2){
            System.out.println("两个整数相等");
        }
    }

2.if的第二种格式

1.格式:

        if(boolean表达式){

                执行语句1;

        }else{

                执行语句2;

        }

2.执行流程:

        ①先走if后面的boolean表达式,如果是true,就走if后面的执行语句1

        ②否则就走else后面的执行语句2

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请您输入两个数字:");
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
        if(num1 == num2){
            System.out.println("两个整数相等");
        }
        else{
            System.out.println("两个整数不相等");
        }
    }

案例1

任意给出一个整数,请用程序实现判断这个数是奇数还是偶数

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        if(num%2==1){
            System.out.println(num + "是奇数");
        }else{
            System.out.println(num+"是偶数");
        }
    }

案例2

利用if else语句,求出两个数中的较大值

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请您输入要比较的两个数");
        System.out.println("请您输入第一个数");
        int num1 = sc.nextInt();
        System.out.println("请您输入第二个数");
        int num2 = sc.nextInt();
        if(num1>num2){
            System.out.println("最大数是"+num1);
        }else{
            System.out.println("最大数是"+num2);
        }
    }

案例3

案例:从键盘输入年份,请输出该年的2月份的总天数,闰年29天,平年28天

闰年:①能被4整除,但不能被100整除 year%4==0 && year%100!=0

           ②或者能直接被400整除 year%400==0

     public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个年份");
        int year = sc.nextInt();
        if((year%4==0) && (year%100!=0)||year%400==0){
            System.out.println("该年是闰年,二月有29天");
        }else{
            System.out.println("该年是平年,二月有28天");
        }
    }

注意:若是boolean类型,则必定可以放入if表达式中

3.if的第三种格式

1.格式:

        if(boolean表达式){

                执行语句1

        }else if(boolean表达式){

                执行语句2

        }else if(boolean表达式){

                执行语句3

        }……else{

                执行语句n

        }

2.执行流程:

        从if开始往下挨个判断,哪个if判断结果为true,就走哪个if对应的执行语句,如果以上所有的判断都是false,就走else对应的执行语句n

3.使用场景:2种情况以上的判断

案例1

输入要比较的两个数,判断两个数的大小关系

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请您输入要比较的两个数");
        System.out.println("请您输入第一个数");
        int num1 = sc.nextInt();
        System.out.println("请您输入第二个数");
        int num2 = sc.nextInt();
        if(num1 > num2){
            System.out.println(num1+">"+num2);
        } else if (num1 == num2) {
            System.out.println(num1+"="+num2);
        } else{
            System.out.println(num1+"<"+num2);
        }
    }

注意:最后一种情况,不一定要用else,但是必须保证所有的情况都有

案例2

键盘输入一个星期数(1~7),输出对应的星期一、星期二、……星期日

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请您输入星期数目1~7");
        int week = sc.nextInt();
        if(week == 1){
            System.out.println("星期一");
        } else if (week == 2) {
            System.out.println("星期二");
        } else if (week == 3) {
            System.out.println("星期三");
        } else if (week == 4) {
            System.out.println("星期四");
        } else if (week == 5) {
            System.out.println("星期五");
        } else if (week == 6) {
            System.out.println("星期六");
        } else if (week == 7) {
            System.out.println("星期日");
        } else {
            System.out.println("您输入错误");
        }
    }

案例3

根据最新的年龄阶段划分标准:

        0~6岁为婴幼儿

        7~12岁为少儿

        13~17岁为青少年

        18~45岁为青年

        46~69岁为中年

        69岁以上为老年

请键盘录入一个年龄,判断属于什么年龄段

    public static void main(String[] args) {
        System.out.println("请您输入一个年龄");
        Scanner sc = new Scanner(System.in);
        int age = sc.nextInt();
        if(age>=0 && age<=6){
            System.out.println(age+"岁属于婴幼儿");
        }else if(age>=7 && age<=12){
            System.out.println(age+"岁属于少儿");
        }else if(age>=13 && age<=17){
            System.out.println(age+"岁属于青少年");
        }else if(age>=18 && age<=45){
            System.out.println(age+"岁属于青年");
        }else if(age>=46 && age<=69) {
            System.out.println(age+"岁属于中年");
        }else if (age>=70) {
            System.out.println(age+"岁属于老年");
        }else{
            System.out.println("输入错误");
        }
    }

4.switch和if的区别:

1.switch:会直接跳到相匹配的case

2.if:从上到下挨个判断 -> 实际开发主要使用if判断 灵活

五、循环语句

当我们发现一件事情或者一段代码在反复执行,我们就可以考虑使用循环语句了

1.for循环的使用

1.格式:

        for(初始化变量;比较;步进表达式)

                循环语句 -> 哪段代码循环执行,就将哪段代码放在此处

        }

2.执行流程:

        ①先走初始化变量

        ②比较,如果是true,走循环语句,走步进表达式(初始化的变量的值进行变化)

        ③再比较,如果还是true,继续走循环语句,走步进表达式

        ④再比较,直到比较为false,循环就结束了

public static void main(String[] args) {
    for (int i = 0; i < 3; i++) {
        System.out.println("一切都会好的,我一直相信");
    }
}

快捷键:次数.fori

5.fori

public static void main(String[] args) {
    for (int i = 0; i < 3; i++) {
        System.out.println("一切都会好的,我一直相信");
    }
        for (int j = 0; j < 5; j++) {
            System.out.println("万事胜意");
    }
}

案例1

for循环:求1-3之间的数据和,并把求和结果输出到控制台上

1+2+3

步骤:

        ①定义一个变量,来接收两个数的和,sum

        ②利用for循环将1~3表示出来

        ③再循环的过程中,两两相加,将结果赋值给sum

        ④输出sum

    public static void main(String[] args) {
        // ①定义一个变量,来接收两个数的和,sum
        int sum = 0;
        // ②利用for循环将1~3表示出来
        for (int i = 1; i <= 3; i++) {
            // ③再循环的过程中,两两相加,将结果赋值给sum
            sum+=i;
            i=i++;
        }
        // ④输出sum
        System.out.println(sum);
    }

案例2

for循环:求出1~100之间的偶数和

步骤:

        ①定义一个变量sum,接收两个偶数的和

        ②利用for循环将1~100表示出来

        ③判断,如果是偶数则把值加给sum

        ④输出sum

public static void main(String[] args) {

    //   ①定义一个变量sum,接收两个偶数的和
    int sum =0;
    //   ②利用for循环将1~100表示出来
    for (int i = 1; i <= 100; i++) {
        //   ③判断,如果是偶数则把值加给sum
        if(i%2==0){
            sum+=i;
        }
    }
    //   ④输出sum
    System.out.println(sum);
}

改进代码:

    public static void main(String[] args) {
        int sum = 0;
        for (int i = 0; i <= 100; i = i + 2) {
            sum += i;
        }
        System.out.println("一百以内偶数和为" + sum);
    }

案例3

统计一下1~100之间的偶数个数

步骤:

        ①定义一个变量count,用来计数

        ②利用for循环将1~100表示出来

        ③判断,如果是偶数,count++

        ④输出count

public static void main(String[] args) {
    // ①定义一个变量count,用来计数
    int count = 0;
    // ②利用for循环将1~100表示出来
     for (int i = 1; i <= 100; i++) {
        // ③判断,如果是偶数,count++
        if(i%2==0){
            count++;
        }
    }
    // ④输出count
    System.out.println("1~100间偶数个数为:"+count);
}

2.while循环

1.格式:

        初始化变量:

        while(比较){

                循环语句;

                步进表达式

        }

2.执行流程:

        ①初始化变量

        ②比较,如果是true,就走循环语句,走步进表达式

        ③再比较,如果还是true,继续走循环语句,继续走步进表达式

        ④再比较,直到比较为false,循环结束

public static void main(String[] args) {
    int i = 0;
    while(i<5){
        System.out.println("万事胜意");
        i++;
    }
}

案例1

while循环:求1-3之间的数据和,并把求和结果输出到控制台上

1+2+3

步骤:

        ①定义一个变量,来接收两个数的和,sum

        ②利用while循环将1~3表示出来

        ③再循环的过程中,两两相加,将结果赋值给sum

        ④输出sum

public static void main(String[] args) {
    // 定义一个变量,来接收两个数的和,sum
    int sum = 0;
    // ②利用while循环将1~3表示出来
    int i = 1;
    while(i<4){
        // ③再循环的过程中,两两相加,将结果赋值给sum
        sum+=i;
        i++;
        }
     // ④输出sum
    System.out.println(sum);
    }

案例2

while循环:求出1~100之间的偶数和

步骤:

        ①定义一个变量sum,接收两个偶数的和

        ②利用while循环将1~100表示出来

        ③判断,如果是偶数则把值加给sum

        ④输出sum

    public static void main(String[] args) {
        // ①定义一个变量sum,接收两个偶数的和
        int sum = 0;
        // ②利用while循环将1~100表示出来\
        int i = 1;
        while(i<=100) {
            // ③判断,如果是偶数则把值加给sum
            if(i%2==0){
                sum+=i;
            }
            i++;
        }
        // ④输出sum
        System.out.println(sum);
    }

 

案例3

统计一下1~100之间的偶数个数

步骤:

        ①定义一个变量count,用来计数

        ②利用while循环将1~100表示出来

        ③判断,如果是偶数,count++

        ④输出count

 public static void main(String[] args) {
        // ①定义一个变量count,用来计数
        int count = 0;
        // ②利用while循环将1~100表示出来
        int i = 1;
        while(i<=100) {
            // ③判断,如果是偶数,count++
            if(i%2==0){
                count++;
            }
            i++;
        }
        // ④输出count
        System.out.println(count);
    }

案例4*

世界最高山峰是珠穆朗玛峰(8844.43米 = 8844430毫米),假如有一张足够大的纸,它的厚度是0.1毫米,请问,我折叠多少次,可以折成珠穆朗玛峰的高度?

步骤:

        ①定义一个变量表示山峰的高度:mountain

        ②定义一个变量表示纸的厚度:h

        ③定义一个变量表示折纸的次数:i

        ④利用while循环进行比较,如果h < mountain,就循环对折

public static void main(String[] args) {
    //① 定义一个变量表示山峰的高度:mountain
    int mountain = 8844430;
    //② 定义一个变量表示纸的厚度:h
    double h = 0.1;
    //③ 定义一个变量表示折纸的次数:i
    int i = 0;
    //④ 利用while循环进行比较,如果h < mountain,就循环对折
    while(h<mountain){
        h *= 2;
        i++;
    }
    System.out.println("折叠了"+i+"次");
}

3.do…while循环

1.格式:

        初始化变量:

        do{

                循环语句;

                步进表达式

        }while(比较);

2.执行流程:

        ① 初始化变量

        ② 走循环语句

        ③ 走步进表达式

        ④ 判断,如果是true,继续循环,直到比较为false,循环结束

3.特点:

        至少循环一次

public static void main(String[] args) {
    int i = 0;
    do{
        System.out.println("一切都会好的");
        i++;
    }while (i < 5);
}

4.循环控制语句 break&continue 

1.break:

        ①在switch中代表结束switch语句

        ②在循环中代表循环结束

2.continue:

        结束当前本次循环,直接进入下一次循环,直到条件为false为止

break:

    public static void main(String[] args) {
        for (int i = 1; i <=5 ; i++) {
            if(i==3){
                // 结束循环
                break;
                // 结束本次循环,进入下一次循环
                //continue
            }
            System.out.println("万事胜意");
        }
    }

continue:

    public static void main(String[] args) {
        for (int i = 1; i <=5 ; i++) {
            if(i==3){
                // 结束循环
                //break;
                // 结束本次循环,进入下一次循环
                continue;
            }
            System.out.println("万事胜意");
        }
    }

5.死循环

1.概述:

        一直循环

2.什么条件下一直循环:

        比较条件一直是true

for循环:

    public static void main(String[] args) {
        int count = 0;
        for (int i = 0; i < 3; ) {
            count++;
            System.out.println("一切都会好的"+count);
        }
    }

while循环:

public static void main(String[] args) {
        int count = 0;
//        for (int i = 0; i < 3; ) {
//            count++;
//            System.out.println("一切都会好的"+count);
//        }
        while(true){
            System.out.println(count);
            count++;
        }
    }

6.嵌套循环

1.概述:循环中还有循环

        eg、时分秒

2.执行流程:

        先执行外层循环,在进入内层循环,内层循环就一直循环,直到内层循环结束,外层循环进入下一次循环,直到外层循环结束了,整体结束

 public static void main(String[] args) {
    for (int shi = 0; shi < 24; shi++) {
        for (int fen = 0; fen < 60; fen++) {
            for (int miao = 0; miao < 60; miao++) {
                System.out.println(shi+"时"+fen+"分"+miao+"秒");
            }
        }
    }
}

练习1:打印矩形

public static void main(String[] args) {
    //外层循环控制行
    for (int i = 0; i < 5; i++) {
        //内层循环控制列
        for (int j = 0; j < 5; j++) {
            System.out.print("* ");
        }
        System.out.println();
    }
}

练习2:打印直角三角形

public static void main(String[] args) {
    for (int i = 1; i < 5; i++) {
        for (int j = 0; j < i; j++) {
            System.out.print("* ");
        }
        System.out.println();
    }
}

练习3* 猜数字小游戏

1.创建Scanner和Random对象

2.调用Random中的nextInt(100)+1在1~100之间随机一个数        rdNumber

3.调用Scanner中的nextInt()方法,键盘录入一个要猜的数        scNumber

4.如果scNumber > rdNumber,证明猜大了

5.如果scNumber < rdNumber,证明猜小了

6.如果scNumber = rdNumber,证明猜对了

public class Demo28GuessNumberGame {
    public static void main(String[] args) {
        //只允许七次之内猜出
        int i = 0;
        //1.创建Scanner和Random对象
        Scanner sc = new Scanner(System.in);
        Random rd = new Random();
        //2.调用Random中的nextInt(100)+1在1~100之间随机一个数 rdNumber
        int rdNumber = rd.nextInt(99) + 1;
        while (i < 7) {
            i++;
            //3.调用Scanner中的nextInt()方法,键盘录入一个要猜的数 scNumber
            System.out.println("请您输入您要猜的数字:");
            int scNumber = sc.nextInt();
            //4.如果scNumber > rdNumber,证明猜大了
            if (scNumber > rdNumber) {
                System.out.println("猜大了");
                System.out.println("这是第" + i + "次猜");
                continue;
            }
            //5.如果scNumber < rdNumber,证明猜小了
            else if (scNumber < rdNumber) {
                System.out.println("猜小了");
                System.out.println("这是第" + i + "次猜");
                continue;
            }
            //6.如果scNumber = rdNumber,证明猜对了
            else {
                System.out.println("猜对了");
                System.out.println("这是第" + i + "次猜");
                break;
            }
        }
    }
}

六、总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1387370.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

把握现货黄金的基本操作技巧

在投资市场这个大舞台上&#xff0c;有各种各样的投资产品供投资者选择&#xff0c;其中黄金作为一种重要的投资资产&#xff0c;一直受到广大投资者的青睐。然而&#xff0c;黄金交易并非易事&#xff0c;需要掌握一定的操作技巧。那么&#xff0c;如何才能把握住现货黄金的操…

基础面试题整理4

1.mybatis的#{}和${}区别 #{}是预编译处理&#xff0c;${}是字符串替换#{}可以防止SQL注入&#xff0c;提高安全性 2.mybatis隔离级别 读未提交 READ UNCOMMITED&#xff1a;读到了其他事务中未提交的数据&#xff0c;造成"脏读","不可重复读","幻读&…

DBA技术栈(三):MySQL 性能影响因素

文章目录 前言一、影响MySQL性能的因素1.1 商业上的需求1.2 应用架构规划1.3 查询语句使用方式1.4 Schema的设计1.5 硬件环境 总结 前言 大部分人都一致认为一个数据库应用系统&#xff08;这里的数据库应用系统概指所有使用数据库的系统&#xff09;的性能瓶颈最容易出现在数…

ssm+vue的物流配送人员车辆调度管理系统的设计与实现(有报告)。Javaee项目,ssm vue前后端分离项项目。

演示视频&#xff1a; ssmvue的物流配送人员车辆调度管理系统的设计与实现&#xff08;有报告&#xff09;。Javaee项目&#xff0c;ssm vue前后端分离项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&…

day-10 删除排序链表中的重复元素

思路 先统计每个值出现的次数&#xff0c;然后将出现次数为一的节点链接为一个链表即可 解题方法 while(t!null){ //统计每个值出现次数 arr[t.val100]1; tt.next; } while(t!null&&arr[t.val100]!1) tt.next;//确定返回的头结点 ttt; while(t!null&&t.next…

虾皮广告数据:​如何利用广告数据优化虾皮(Shopee)销售业绩

在虾皮&#xff08;Shopee&#xff09;平台上&#xff0c;广告数据对于卖家来说是至关重要的&#xff0c;它可以帮助卖家了解广告的效果并进行相应的优化。通过监控和分析这些广告数据&#xff0c;卖家可以更好地理解广告的表现&#xff0c;调整广告策略&#xff0c;提高广告的…

QT DAY4作业

1. 头代码 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimerEvent> #include <QTime> #include <QTextToSpeech>namespace Ui { class Widget; }class Widget : public QWidget {Q_OBJECTpublic:explicit Widget(QWidget *par…

案例129:基于微信小程序的外卖商城平台设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

Untiy HTC Vive VRTK 开发记录

目录 一.概述 二.功能实现 1.模型抓取 1&#xff09;基础抓取脚本 2&#xff09;抓取物体在手柄上的角度 2.模型放置区域高亮并吸附 1&#xff09;VRTK_SnapDropZone 2&#xff09;VRTK_PolicyList 3&#xff09;VRTK_SnapDropZone_UnityEvents 3.交互滑动条 4.交互旋…

由于找不到mfc120u.dll,无法继续执行代码重新安装程序可能会解决问题

mfc120u.dll是一个动态链接库文件&#xff0c;它属于Microsoft Foundation Class&#xff08;MFC&#xff09;库的一部分。MFC库是微软公司为开发Windows应用程序而提供的一个C类库&#xff0c;它包含了许多常用的控件、对话框、消息处理等功能&#xff0c;可以帮助开发者快速构…

ENVI5.6版本中规则与不规则图像裁剪操作

图像裁剪的目的是将研究之外的区域去除&#xff0c;常用的是按照行政区划边界或自然区划边界进行图像的裁剪&#xff0c;在基础数据生产中&#xff0c;还经常要做标准分幅裁剪。按照ENVI的图像裁剪过程&#xff0c;可分为规则裁剪和不规则裁剪。 ENVI5.6之前版本的图像裁剪工具…

持久双向通信网络协议-WebSocket-入门案例实现demo

1 介绍 WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手&#xff0c;两者之间就可以创建持久性的连接&#xff0c; 并进行双向数据传输。 HTTP协议和WebSocket协议对比&#xff1a; HTTP是短连接&#xff0…

python如何读取excel表格数据

文章目录 excel的格式xls格式文件xlrdxlwtexcel读取xls类型数据三个方法 xlsx格式文件openpyxl excel的格式 excel有xls和xlsx两种格式&#xff0c;他们的区别在于 文件格式不同&#xff1a;xls是一个特有的二进制格式&#xff0c;其核心结构是符合文档类型的机构&#xff0c…

5.1 内容管理模块 - 课程预览、提交审核

内容管理模块 - 课程预览、提交审核 文章目录 内容管理模块 - 课程预览、提交审核一、课程预览1.1 需求分析1.2 freemarker 模板引擎1.2.1 Maven 坐标1.2.2 freemaker 相关配置信息1.2.3 添加模板 1.3 测试静态页面1.3.1 部署Nginx1.3.2 解决端口问题被占用问题1.3.3 配置host文…

基于SSM的社区老年人关怀服务系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

关于steam游戏搬砖,想给大家的几点忠告

关于CSGO游戏搬砖&#xff0c;想给大家的几点忠告&#xff1a; 1、新出的箱子&#xff0c;里面开出的皮肤短时间内会溢价&#xff0c;价格虚高&#xff0c;后期会呈逐渐下跌趋势&#xff0c;这就是我们不让大家碰新品的原因&#xff0c;哪怕利润再高也不建议购入或者囤货&…

微笑抑郁症测试

微笑抑郁症属于抑郁症中的一类&#xff0c;微笑和抑郁本是两个对立词汇&#xff0c;但是可以并存且多发于职场精英中&#xff0c;由于工作关系他们必须保持这微信&#xff0c;让他人看到自己最美好的一面&#xff0c;过度压抑内心的情绪&#xff0c;如&#xff1a;工作压力&…

Java开发笔记

一、参数校验 1、校验json字符串是否符合规范 &#xff08;1&#xff09;业务场景&#xff1a;接收前端传输过来的json串&#xff0c;需要将其写入数据库&#xff0c;写入之前需要校验其是否能够转换成对应实体类&#xff0c;以便后续从数据库读取   &#xff08;2&#xff0…

用Pytorch实现线性回归模型

目录 回顾Pytorch实现步骤1. 准备数据2. 设计模型class LinearModel代码 3. 构造损失函数和优化器4. 训练过程5. 输出和测试完整代码 练习 回顾 前面已经学习过线性模型相关的内容&#xff0c;实现线性模型的过程并没有使用到Pytorch。 这节课主要是利用Pytorch实现线性模型。…

什么是TestNG以及如何创建testng.xml文件?

目录 什么是TestNG&#xff1f; 如何创建testng.xml文件 手动创建testng.xml 通过testng.xml运行整个包 通过testng.xml运行类 使用Eclipse创建testng.xml 本文将讨论TestNG以及如何通过执行testng.xml文件在TestNG中运行第一个测试用例。 什么是TestNG&#xff1f; Te…