Java---第三章(选择,循环,二重循环语句,输入,调试,标签)

news2024/11/28 15:49:44

Java---第三章

  • 一 流程图
  • 二 选择结构
    • 简单的if-else
    • 嵌套的if-else
    • 多重if的选择语句(else-if)
    • switch语句
  • 二 输入验证
  • 三 程序调试
  • 四 循环结构
    • while循环
    • do-while循环
    • for循环
    • 流程控制
    • 二重循环(重点)
  • 五 标签 label(标号)

在这里插入图片描述

一 流程图

流程图制作网站—processon

流程图概念:
流程图就是使用统一的标准图形来描述程序的过程

为什么要使用流程图?
流程图简单直观,可以很方便的为程序员提供编写代码的思路

图形规则:
在这里插入图片描述
示例:
在这里插入图片描述

二 选择结构

简单的if-else

格式:

        if (条件)如果条件满足,则执行代码块
        {
            代码块 
        }
        else 否则执行代码块2
        {
        	代码块2
        }

示例:
从控制台输入一个整数,若是偶数,就输出偶数,若是奇数,就输出奇数
代码实现:

import java.util.Scanner;
public class study {
    public static void main(String[] args) {
        Scanner myScanner = new Scanner(System.in);
        int a = myScanner.nextInt();
        if (a % 2 == 0)
        {
            System.out.println("偶数");
        }
        else
        {
            System.out.println("奇数");
        }
    }
}

利用三元运算符

        System.out.println((a % 2 == 0) ? "偶数" : "奇数");

嵌套的if-else

例题1:
在半决赛中,若胜利了就进入决赛,若为男,就进入男子决赛,否则进入女子决赛。
若失败了就退出比赛

import java.util.Scanner;
public class study {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入是否胜利:Y/N");
        String win = sc.next();
        if ("Y".equals(win)) {
            System.out.println("请输入性别:");
            String sex  = sc.next();
            if("男".equals(sex)) {
                System.out.println("进入男子比赛");
            } else {
                System.out.println("进入女子比赛");
            }
        } else {
            System.out.println("被淘汰");
        }
    }
}

判断字符串和变量是否相等:.equals()

例题2:
从控制台输入一个整数,若该数<10,则该数乘3再加5,输出最后运算过的数是偶数1还是奇数1,否则直接输出该数是偶数2是奇数2

import java.util.Scanner;
public class study {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        if(num < 10){
            int num1 = num * 3 +5;
            if(num1 % 2 == 0){
                System.out.println("偶数1");
            }else{
                System.out.println("奇数1");
            }
        }else {
            if(num % 2 == 0){
                System.out.println("偶数2");
            }else{
                System.out.println("奇数2");
            }
        }
    }
}

多重if的选择语句(else-if)

例题1:
小明去买彩票,如果中了一等奖,可领取500W,如果中了二等奖,可领取300W,如果中了三等奖,可领取100W,否则没有奖励

import java.util.Scanner;
public class study {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入中奖等级:");
        int dt = sc.nextInt();
        if(dt == 1){
            System.out.println("一等奖!!!500W");
        }else if(dt == 2){
            System.out.println("二等奖!!!300W");
        } else if (dt == 3) {
            System.out.println("三等奖!!!100W");
        }else {
            System.out.println("没中奖!");
        }
    }
}

例题2:
从控制台输入该学生的分数,若分数在90到100,输出优秀;在80到90,输出良好;在60到80,输出中等;低于60的,输出差生。

import java.util.Scanner;
public class study {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入该学生分数:");
        int score = sc.nextInt();
        if(score >= 90){
            System.out.println("优秀");
        }else if(score >= 80){
            System.out.println("良好");
        } else if (score >= 60) {
            System.out.println("中等");
        }else {
            System.out.println("差生");
        }
    }
}

switch语句

switch表示开关的意思
在这里插入图片描述
支持的数据类型

byte
short
int
char
String
Enum(枚举)

String类型从JDK1.7开始才开始支持

案例1:
某公司在年终决定对研发部工作人员根据级别进行调薪,具体如下:

  • 1级 +500
  • 2级 +800
  • 3级 +1200
  • 4级 +2000

请从控制台输入该员工当前薪水和级别,输出调薪之后的薪水

import java.util.Scanner;
public class study {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入该员工当前薪资:");
        double sal = sc.nextDouble();
        System.out.println("请输入该员工当前级别:");
        int devel = sc.nextInt();
        switch (devel){
            case 1:
                sal+= 500;
                break;
            case 2:
                sal+= 800;
                break;
            case 3:
                sal+= 1200;
                break;
            case 4:
                sal+= 2000;
                break;
        }
        System.out.println("调薪后的薪资为:" + sal);
    }
}

案例2:
一年有12个月,4个季节。1,2,3为春季;4,5,6为夏季;7,8,9为秋季;10,11,12为冬季。
要求:从控制台输入月份,输出对应的季节

import java.util.Scanner;
public class study {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入月份:");
        int month = sc.nextInt();
        switch (month){
            case 1:
            case 2:
            case 3:
                System.out.println("春季");
                break;
            case 4:
            case 5:
            case 6:
                System.out.println("夏季");
                break;
            case 7:
            case 8:
            case 9:
                System.out.println("秋季");
                break;
            case 10:
            case 11:
            case 12:
                System.out.println("冬季");
                break;
        }
    }
}

更巧妙的方法

import java.util.Scanner;
public class study {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入月份:");
        int month = sc.nextInt();
        switch ((month-1)/3){
            case 0:
                System.out.println("春季");
                break;
            case 1:
                System.out.println("夏季");
                break;
            case 2:
                System.out.println("秋季");
                break;
            case 3:
                System.out.println("冬季");
                break;
        }
    }
}

二 输入验证

要求用户输入一个整数,但是用户输入一个字符串,该怎么办呢?
.hasNextInt()—>校验Scanner中是否存储着下一个整数,如果没有数据,让用户输入;用户输入后再判断是否为整数

import java.util.Scanner;
public class study {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        if(sc.hasNextInt()){
            int a = sc.nextInt();
            System.out.println(a);
        }else{
            System.out.println("别瞎输入");
        }
    }
}

运行举例:

请输入一个整数:
as
别瞎输入

三 程序调试

概念:
当程序出现问题时,我们希望程序可以暂停下来,然后我们去操作代码逐行执行,观察整个过程中,变量的变化是否是按照我们所设计的程序思维变化,从而找到问题并解决问题,这个过程称为调试

为什么要进行调试:
人无完人,考虑问题不可能面面俱到,尤其是在写复杂的程序时候,如果程序运行出了问题,定位问题就是关键,要定位就需要进行调试

如何进行调试:

  • 在有效的代码上下断点
  • DEBUG模式启动程序
  • 程序启动后,通过操作程序使其进行逐行执行,观察其变量的值的变化,从而找出问题,并解决

四 循环结构

**循环:**同样的事情反复多次做

循环三要素:

  • 定义循环变量并赋初值
  • 循环条件
  • 循环变量的更新

while循环

语法:

while(循环条件){
    //循环操作
        }

特点:
先判断,后执行。如果一开始条件就不满足,那么while循环可能一次也不执行

案例1:
打印0~9所有的数字

public class study {
    public static void main(String[] args) {
        int i = 0;
        while(i < 10){
            System.out.println(i);
            i++;
        }
    }
}

案例2:
输出100~1000之内的水仙花数。水仙花数:比如153=1的三次方+5的三次方+3的三次方。

public class study {
    public static void main(String[] args) {
        int i = 100;
        while(i <= 1000){
            int a = i / 100;
            int b = i % 100 / 10;
            int c = i % 10;
            if(a*a*a+b*b*b+c*c*c==i){
                System.out.println(i);
            }
            i++;
        }
    }
}

do-while循环

语法:

        do{
            循环操作
        }while(循环条件);

案例1:
从控制台录入学生的成绩并计算总成绩,输入0的时候退出

import java.util.Scanner;
public class study {
    public static void main(String[] args) {
        double score = 0;
        double sum = 0;
        do{
            System.out.println("请输入学生成绩:");
            Scanner sc = new Scanner(System.in);
            score = sc.nextDouble();
            sum += score;
        }while(score != 0);
        System.out.println("总成绩为:"+sum);
    }
}

案例2:
从控制台输入一个数字,如果该数字不能被7整除,则重新输入,直到该数字能被7整除为止

import java.util.Scanner;

public class study {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int i = 0;
        do{
            System.out.println("请输入一个整数:");
            i = sc.nextInt();
        }while(i%7!=0);
    }
}

for循环

语法:

        for(定义循环变量;循环条件;循环变量的更新){
            循环操作
        }

特点:
for循环是先判断,后执行;如果一开始就不符合条件,那么for循环可能一次都不执行;循环次数确定的情况下一般使用for循环;循环次数不确定的情况下,通常使用while或者do-while循环

案例1:
求1~10的累加和

public class study {
    public static void main(String[] args) {
        int sum = 0;
        for(int i = 1; i <= 10; i++){
            sum+=i;
        }
        System.out.println("累加和为:"+sum);
    }
}

i 的作用范围仅限于for循环结构

案例2:
求6的阶乘(6!)

public class study {
    public static void main(String[] args) {
        int sum = 1;
        for(int i = 1; i <= 6; i++){
            sum*=i;
        }
        System.out.println("6!:"+sum);
    }
}

流程控制

break;
break只能应用于for循环,while循环,do-while循环和switch语句

作用:

  • break应用在循环结构中,表示终止break所在的循环,执行循环结构下面的代码,通常与if语句配合使用
  • break应用在switch语句中,表示终止在break所在的选择语句

案例1:(猜数字小游戏)
获取一个10以内的随机数,然后从控制台输入一个整数,如果输入的整数与随机数不相等,则重新输入;直到输入的整数与随机整数相等为止

import java.util.Scanner;
public class study {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double ran = Math.random();
        int number = (int)(ran*10);
        int input;
        do{
            System.out.println("请输入一个整数:");
            input = sc.nextInt();
            if(input > number){
                System.out.println("大了");
            }else if(input < number){
                System.out.println("小了");
            }else{
                System.out.println("猜对了");
                break;
            }
        }while(true);
    }
}

案例2:
判断一个数是否为素数。(素数:只能被1和自身整除)

二重循环(重点)

案例1:
输出九九乘法表

public class study {
    public static void main(String[] args) {
        for(int i = 1;i < 10; i++){  //打印九行
            for(int j = 1;j <= i;j++){  //j<=i表示列数的最大值就是行号
            //print表示在同一行打印,也就是不会换行
                System.out.print(j+"×"+i+"="+(i*j)+"\t");
            }
            System.out.print("\n");
        }
    }
}

运行结果:

1×1=1
1×2=2 2×2=4
1×3=3 2×3=6 3×3=9
1×4=4 2×4=8 3×4=12 4×4=16
1×5=5 2×5=10 3×5=15 4×5=20 5×5=25
1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36
1×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49
1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64
1×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81

案例2:
打印:
☆☆☆☆☆☆☆☆☆☆
☆☆☆☆☆☆☆☆☆☆
☆☆☆☆☆☆☆☆☆☆
☆☆☆☆☆☆☆☆☆☆

public class study {
    public static void main(String[] args) {
        for(int i = 1;i <=4; i++){
            for(int j = 1;j <=10;j++){
                System.out.print("☆");
            }
            System.out.print("\n");
        }
    }
}

案例3:
打印:
××××××××××
×aaaaaaaa×
×aaaaaaaa×
××××××××××

public class study {
    public static void main(String[] args) {
        for(int i = 1;i <=4; i++){
            for(int j = 1;j <=10;j++){
                if(i==1 || j==1 || i==4 || j==10){
                    System.out.print("×");
                }else{
                    System.out.print("a");
                }
            }
            System.out.print("\n");
        }
    }
}

案例4:
打印三角形
在这里插入图片描述
在这里插入图片描述对 5 分析:

  • 三角形一共5行
  • 三角形的第一行和三角形的行数一样
  • 三角形的每一行的空白数=三角形的总行数-列数
  • 三角形的每一行“x”的数量=(行号-1)*2+1
import java.util.Scanner;
public class study {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入:");
        int co = sc.nextInt();
        for(int i = 1;i <= co;i++){
            int space = co - i;
            for(int j = 1;j <= space;j++){
                System.out.print(" ");
            }
            int sp = (i - 1) * 2 + 1;
            for(int m = 1;m <= sp;m++){
                System.out.print("x");
            }
            System.out.println();
        }
    }
}

案例5:
打印倒三角形:
在这里插入图片描述

分析:

  • 三角形一共4行
  • 三角形的空白数=总行数-i
  • 三角形的“x”数=(总行数-行号)*2+1
import java.util.Scanner;
public class study {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入:");
        int co = sc.nextInt();
        for(int i = 1;i <= co;i++){
            int space =  i - 1;
            for(int j = 1;j <= space;j++){
                System.out.print(" ");
            }
            int sp = (co - i) * 2 + 1;
            for(int m = 1;m <= sp;m++){
                System.out.print("x");
            }
            System.out.println();
        }
    }
}

案例6:
打印菱形
在这里插入图片描述

分析:

  • 总行数一定为奇数
  • 上三角包括对称轴
  • 上三角就是其上面的上三角讲解
  • 下三角就是其上面的下三角讲解
import java.util.Scanner;
public class study {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入(奇数):");
        int all_co = sc.nextInt(); //总行数
        //上三角
        int top_co = all_co / 2 + 1;
        for(int i = 1;i <= top_co;i++){
            int space = top_co - i;
            for(int j = 1;j <= space;j++){
                System.out.print(" ");
            }
            int sp = (i - 1) * 2 + 1;
            for(int m = 1;m <= sp;m++){
                System.out.print("x");
            }
            System.out.println();
        }
        //下三角
        int down_co = all_co - top_co;
        for(int i = 1;i <= down_co;i++){
            int space = i;
            for(int j = 1;j <= space;j++){
                System.out.print(" ");
            }
            int sp = (down_co - i) * 2 + 1;
            for(int m = 1;m <= sp;m++){
                System.out.print("x");
            }
            System.out.println();
        }
    }
}

案例7:
输出2~100之内的所有质数。(质数:只能被1和本身整除)

public class study {
    public static void main(String[] args) {
        for(int i = 2;i<=100;i++){
            if(i==2) {
                System.out.println(i+"是质数");
            }else {
            boolean isPrime = true;
            for(int j = 2;j*j<i;j++){
                if(i%j==0){
                    isPrime = false;
                    break;
                    }
                }
                if(isPrime) {
                    System.out.println(i + "是质数");
                }
            }
        }
    }
}

五 标签 label(标号)

  • 语法结构

标号名称:循环结构

  • 作用

给代码添加一个标记,方面以后的使用。通常用在循环结构中,与break语句配合使用

  • 应用场景
    在这里插入图片描述
import java.util.Scanner;
public class study {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        max_menu:while (true) {
            System.out.println("=======================");
            System.out.println("1.学生成绩管理");
            System.out.println("2.学生选课管理");
            System.out.println("3.退出系统");
            System.out.println("=======================");
            System.out.println("请选择菜单编号:");
            int menuNo = sc.nextInt();
            if (menuNo == 1) {
                two_menu:while(true) {
                    System.out.println("----------------------");
                    System.out.println("1.添加成绩");
                    System.out.println("5.返回主菜单");
                    System.out.println("----------------------");
                    System.out.println("请选择编号:");
                    int menu2 = sc.nextInt();
                    switch (menu2){
                        case 1:
                            System.out.println("选择了添加成绩");
                            break;
                        case 5:
                            break two_menu;
                    }
                }
            }else if (menuNo == 2) {

            } else {
                System.out.println("退出咯");
                break;
            }
        }
    }
}

解释:
two_menu:while (true)

该while循环标号为max_menu

break two_menu;

跳出整个 two_menu对应的while循环

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

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

相关文章

代码随想录二刷day27 | 回溯之 39. 组合总和 40.组合总和II 131.分割回文串

day27 39. 组合总和回溯三部曲剪枝优化 40.组合总和II回溯三部曲 131.分割回文串回溯三部曲判断回文子串 39. 组合总和 题目链接 解题思路&#xff1a; 本题没有数量要求&#xff0c;可以无限重复&#xff0c;但是有总和的限制&#xff0c;所以间接的也是有个数的限制。 本题搜…

AI对话分析,如何赋能销售人员实现销售增长和提升客户满意度?

在当今的商业世界中&#xff0c;销售人员的工作关键在于建立与潜在客户的关系&#xff0c;了解他们的需求&#xff0c;并提供满足这些需求的产品或服务。虽然这听起来简单&#xff0c;但实际上&#xff0c;这需要许多复杂的技能和经验。幸运的是&#xff0c;有许多工具和技术可…

消息队列及常见消息队列介绍

一、消息队列(MQ)概述 消息队列&#xff08;Message Queue&#xff09;&#xff0c;是分布式系统中重要的组件&#xff0c;其通用的使用场景可以简单地描述为&#xff1a; 当不需要立即获得结果&#xff0c;但是并发量又需要进行控制的时候&#xff0c;差不多就是需要使用消息队…

金属元素螯合剂:1189194-64-6,DOTA-(COOt-Bu)3-CH2-Alkynyl,试剂的结构式和CAS分享

文章关键词&#xff1a;双功能螯合剂&#xff0c;大环配体一、试剂基团反应特点&#xff08;Reagent group reaction characteristics&#xff09;&#xff1a; 西安凯新生物科技有限公司供应的​DOTA-(COOt-Bu)3-CH2-Alkynyl中&#xff0c;​DOTA分子是一种十二元四氮杂大环配…

【每日算法】【205. 同构字符串】

☀️博客主页&#xff1a;CSDN博客主页 &#x1f4a8;本文由 我是小狼君 原创&#xff0c;首发于 CSDN&#x1f4a2; &#x1f525;学习专栏推荐&#xff1a;面试汇总 ❗️游戏框架专栏推荐&#xff1a;游戏实用框架专栏 ⛅️点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd;&…

随机2D形状周围层流预测!基于飞桨实现图形神经网络

项目背景 近年来&#xff0c;快速流场预测领域一直由基于像素的卷积神经网络&#xff08;Convolution Neural Network&#xff0c;CNN&#xff09;主导。当 CFD 与基于 CNN 的神经网络模型耦合时&#xff0c;来自网格的数据必须在笛卡尔网格上进行插值&#xff0c;然后再投影回…

Jetpack Compose Material3 组件之 DatePicker(日期选择)

前言 在之前我使用 Comose 写 APP 的时候&#xff0c;官方还没有给出关于 DatePicker 的解决方案。 当时为了在 Compose 中实现 DatePicker &#xff0c;大致有两种方案&#xff1a; 一是使用原生 VIew 的 DatePicker&#xff0c;但是因为觉得我即然都用 Compose 了&#xf…

图书推荐|Python数据分析与挖掘实战(第2版)

Python数据分析与挖掘实战&#xff08;第2版&#xff09;一共分为三个部分&#xff0c;包括基础篇&#xff08;第1&#xff5e;5章&#xff09;、实战篇&#xff08;第6&#xff5e;12章&#xff09;、提高篇&#xff08;第13章&#xff09;。其中基础篇介绍了数据挖掘的基本原…

揭秘猫狗的微生物世界:肠道微生物群的意义和影响

谷禾健康 “铲屎官”们都希望自己的宠物有一个健康的身体。但是猫狗都不会说话&#xff0c;平时我们只能从它们的精神状态来判断它们是否健康&#xff0c;但这并不准确。去宠物医院又不太方便&#xff0c;很多猫咪和狗狗还会对抽血等检查有所抗拒。 肠道微生物检测在人类中的应…

边云协同:大小模型如何协同推理?

1 背景 “化繁为简、大巧不工”是机器学习的初衷之一。 费米曾讲述一个故事&#xff0c;冯诺依曼告诉他&#xff0c;用四个参数就可以拟合出一头大象&#xff0c;用五个参数就可以让大象鼻子动起来&#xff0c;这就是“四个参数画大象”的故事。 但AI模型规模不断剧增已是不…

CVE-2023-27524 Apache Superset 身份认证绕过漏洞

漏洞简介 Apache Superset是一个开源的数据可视化和数据探测平台&#xff0c;它基于Python构建&#xff0c;使用了一些类似于Django和Flask的Python web框架。提供了一个用户友好的界面&#xff0c;可以轻松地创建和共享仪表板、查询和可视化数据&#xff0c;也可以集成到其他应…

第一章 string模块

1. string模块介绍 Python中的第三方模块 string 模块解决了一些关于字符串操作的问题。例如&#xff0c;string 模块中可列出所有的大小写英文字母、数字、标点符号、八进制数字字符、十进制数字字符、十六进制数字字符等 Python 中可打印的字符&#xff1b;还可以进行格式化…

学习笔记之MySQL存储引擎

一、MySQL架构 MySQL的连接层处理客户端连接和权限管理&#xff0c;服务层解析和执行SQL语句&#xff0c;引擎层负责数据的存储和检索&#xff0c;存储层处理数据在磁盘上的读写操作。这种架构使得MySQL可以在不同的场景中灵活运行&#xff0c;并根据需求选择合适的存储引擎和…

Spring Security OAuth2.0认证授权 --- 基础篇

一、基本概念 1.1、什么是认证 进入移动互联网时代&#xff0c;大家每天都在刷手机&#xff0c;常用的软件有微信、支付宝、头条等&#xff0c;下边拿微信来举例子说明认证相关的基本概念&#xff0c;在初次使用微信前需要注册成为微信用户&#xff0c;然后输入账号和密码即可…

CVPR2022 多目标跟踪(MOT)汇总-补充篇

为该文章的后续补充https://blog.csdn.net/qq_34919792/article/details/124343166 七、《Multi-Object Tracking Meets Moving UAV》 作者: Shuai Liu†1, Xin Li†2, Huchuan Lu1,2, You He∗3 1Dalian University of Technology, 2Peng Cheng Laboratory, 3Naval Aeronaut…

【yolov5系列】将模型部署到瑞芯微RK3566上面

本篇博客记录将yolov5s移植到瑞芯微3566上的整体流程。当然在其它芯片上的操作类似&#xff0c;差别会在具体的API的调用上。 1 芯片相关 芯片参数&#xff1a;https://www.rock-chips.com/a/cn/product/RK35xilie/2021/0113/1273.htmlCPU&#xff1a;四核&#xff0c;1.8GHZ.N…

CSS查缺补漏之《选择器的复杂用法》

最近在复盘CSS基础知识&#xff0c;发现很多CSS选择器里面还是大有学问&#xff0c;需要详细总结一番&#xff0c;以备差缺补漏~ 作为CSS基础的一大类别&#xff0c;选择器又分为多种类别&#xff0c;本篇内容默认读者已了解并掌握基础选择器【通配符选择器】、【元素选择器】…

企业采用融合CDN战略之前的相关注意事项

很多企业可能都会犹豫是否要从单CDN模式到转向为多CDN模式&#xff0c;一方面因为这可能看起来很复杂&#xff0c;这不仅涉及到需要建立更多的CDN提供商&#xff0c;而且还有其他较多的操作和配置要做&#xff0c;尤其是在当前单CDN供应商似乎一切正常的情况下。但从另一方面来…

【每日算法】【203. 移除链表元素】

☀️博客主页&#xff1a;CSDN博客主页 &#x1f4a8;本文由 我是小狼君 原创&#xff0c;首发于 CSDN&#x1f4a2; &#x1f525;学习专栏推荐&#xff1a;面试汇总 ❗️游戏框架专栏推荐&#xff1a;游戏实用框架专栏 ⛅️点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd;&…

《C++高级编程》读书笔记(八、九:类和对象)

1、参考引用 C高级编程&#xff08;第4版&#xff0c;C17标准&#xff09;马克葛瑞格尔 2、建议先看《21天学通C》 这本书入门&#xff0c;笔记链接如下 21天学通C读书笔记&#xff08;文章链接汇总&#xff09; 1. 编写类 编写类时&#xff0c;需要指定行为或方法 (应用于类的…