Java基础(第四期):Java循环综合 Random Java实现猜数字游戏

专栏java基础专栏

文章目录

  • Java基础(第四期)
    • 一、if语句
          • 1.1 第一种定义格式
          • 1.2 第二种定义格式
          • 1.3 第三种定义格式
          • 1.4 if 语句的使用和联系
    • 二、Switch语句
          • 2.1 语法定义格式:
          • 2.2 switch语句的基本使用
          • 2.3 switch的注意事项
          • 2.4 switch 多种写法:
          • 2.5switch 和 if 选择使用
    • 三、循环语句 for
          • 3.1 for循环格式和执行流程
          • 3.2 for循环的简单练习
    • 四、for循环练习
          • 4.1 练习1(100以内的偶数和)
          • 4.2 练习2 (打印水仙花数)
          • 4.3 拓展:打印水仙花数(并求出个数)
    • 五、循环的注意事项
    • 六、循环嵌套
    • 七、while 循环语句
          • 7.1 while循环语句格式
          • 7.2 **执行流程**
          • 7.3 用while循环打印水仙花数
    • 八、do...while 循环语句
          • 8.1 do...while循环语句格式
          • 8.2 执行流程
          • 8.3 使用 do... while循环打印 水仙花数
    • 九、三种循环的区别
    • 十、跳转控制语句
          • 10.1 brake语句
          • 10.2 continue语句
          • 10.3 共同注意事项
          • 10.4 三种循环的死循环写法
          • 10.5 学生管理系统(简单版)
    • 十一、Random和猜数字小游戏
          • 11.1**实际写法**:
          • 11.2 **猜数字小游戏:**

Java基础(第四期)

上一期我们简单的学习了方法,本期开始,尽可能使用方法实现功能。此时,我们将学习java中的语句。

一、if语句

1.1 第一种定义格式
        if (判断条件) {语句体}

执行流程:先执行小括号里面的判断条件,结果只有两个一个是true 、一个是false,然后根据判断的条件,再决定是否需要执行语句体。

小括号里面的判断条件为 true,执行花括号里面的语句体

下括号里面的判断条件为false,则不执行花括号里面的语句体

代码示例:(判断是否成年)

package com.liujintao.meif;/*if 语句的使用:*/
public class IfDemo {public static void main(String[] args) {String result = ifTest();System.out.println(result); // 您已成年}public static String ifTest() {// 如下代码int age = 18;String str = "";if (age >= 18) {str = age >= 18 ? "您已成年" : "未满十八,未成年!";}return str;}
}
1.2 第二种定义格式

如果 否则

        if (判断条件) {语句体1} else {语句体2}

执行流程:先执行小括号里面的判断条件,结果只有两个一个是true 、一个是false,然后根据判断的条件,再决定是否需要执行语句体。

小括号里面的判断条件为 true,执行花括号里面的 语句体1,else后面的 语句体2 不执行

下括号里面的判断条件为false,则不执行花括号里面的 语句体1,else后面的 语句体2 执行

package com.liujintao.meif;/*if 语句的第二种格式:if () {语句1} else {语句2}*/
public class IfDemo {public static void main(String[] args) {ifTest2(); // 未成年,不可以上网吧!}public static void ifTest2() {int age = 17;if (age >= 18) {System.out.println("成年,可以上网吧!");} else {System.out.println("未成年,不可以上网吧!");}}
}
1.3 第三种定义格式

如果 否则如果 否则

if (判断条件1) {语句1
} else if (判断条件2) {语句2
}
......省略
else {语句n + 1
}

执行流程:

1、首先计算判断条件1 的值

2、如果值为 true 就执行语句1,如果值为 false 就计算判断语句2 的值

3、如果值为 true 就执行语句2 , 如果值为 false 就计算判断语句3的值

如果所有的值都为false 就执行else里面的语句。

package com.liujintao.meif;/*if 语句的第种格式:*/import java.util.Scanner;
public class IfDemo {public static void main(String[] args) {ifTest3(); // 输入 1 和 2  或者 其他数字}public static void ifTest3() {Scanner sc = new Scanner(System.in);System.out.println("请输入您的数字身份(1: 会员   2: 非会员):");int num = sc.nextInt();if (num == 1) {System.out.println("会员身份");} else if (num == 2) {System.out.println("非会员身份");} else {System.out.println("输入有误");}}
}
1.4 if 语句的使用和联系
需求1、:判断密码是否正确

​ 需求2、:根据学生的成绩,执行相应的区间语句

  • 需求1:
package com.liujintao.test;
import java.util.Scanner;
public class IfTest {/*需求1、:判断密码是否正确*/public static void main(String[] args) {getPassword();/*输入内容:123456返回结果:password True!*/}// 需求1;public static void getPassword() {System.out.println("enter your PIN:");Scanner sc = new Scanner(System.in);int pswd = sc.nextInt();// 配对if (pswd == 123456) {System.out.println("password True!");} else {System.out.println("password False!");}}
}
  • 需求2:
package com.liujintao.test;
import java.util.Scanner;
public class IfTest {/*需求2、:根据学生的成绩,执行相应的区间语句*/public static void main(String[] args) {handleScore();}// 需求2;public static void handleScore() {Scanner sc = new Scanner(System.in);System.out.println("input score:");int score = sc.nextInt();if (score >= 90 && score <= 100) {System.out.println('A');} else if (score >= 80 && score < 90) {System.out.println('B');} else if (score >= 70 && score < 80) {System.out.println('C');} else if (score >= 60 && score < 70) {System.out.println('D');} else if (score >= 0 && score < 60) {System.out.println('E');} else { // 除了上面的外,其余的数字都返回 ** ,优化处理!(也可使用 if 先判断)System.out.println("**");}}
}

嵌套优化写法:

    // 需求2;public static void handleScore() {Scanner sc = new Scanner(System.in);System.out.println("input score:");int score = sc.nextInt();if (score > 0 || score <= 100) {if (score >= 90 && score <= 100) {System.out.println('A');} else if (score >= 80 && score < 90) {System.out.println('B');} else if (score >= 70 && score < 80) {System.out.println('C');} else if (score >= 60 && score < 700) {System.out.println('D');} else if (score >= 0 && score < 60) {System.out.println('E');}} else {System.out.println("输入有误!");}}

if 语句的 注意事项:

  1. 语句中,如果大括号控制的是一条语句,可以省略大括号不写。
  2. 语句的 () 和 {} 之间不要写分号。

二、Switch语句

2.1 语法定义格式:
        switch () {case1:语句体1;break;case2:语句体2;break;case3:语句体3;breakcase4:语句体4;break;........default:语句体n + 1;break;}

执行流程:

  1. 首先,计算switch语句中的表达式的值。
  2. 接下来,程序将根据表达式的值与每个case标签的值进行比较,以找到与表达式值匹配的case标签。
  3. 一旦找到匹配的case标签,程序将从该标签处开始执行相应的代码块,直到遇到break语句或者switch语句结束。
  4. 如果没有找到与表达式值匹配的case标签,程序将会执行default标签后的代码块(如果有的话),或者直接跳过switch语句。
2.2 switch语句的基本使用
package com.liujintao.meif;
import java.util.Scanner;
public class SwitchDemo {public static void main(String[] args) {/*switch语句的基本使用*/switchTest1();}public static void switchTest1() {Scanner sc = new Scanner(System.in);int week = sc.nextInt();switch(week) {case 1:System.out.println("星期一");break;case 2:System.out.println("星期二");break;case 3:System.out.println("星期三");break;case 4:System.out.println("星期四");break;case 5:System.out.println("星期五");break;case 6:System.out.println("星期六");break;case 7:System.out.println("星期日");default:System.out.println("请合理输入数字!");break;}}
}
2.3 switch的注意事项
  1. case 后面的值不允许重复

  2. case 后面的值,只能是字面量,不能是变量

  3. switch () 中 可以接收的类型为

    1. (1、)基本数据类型:byte 、 short 、 char 、 int
    2. (2、)引用数据类型:jdk5可以是枚举、jdk7 后可以是 String字符串。
  4. case 穿透现象:当我们再一个case中没有加上break语句,那么无论匹不匹配,都回到下一个case中执行代码,直到遇到break才停止。(在有些时候,case穿透还可以优化代码)

2.4 switch 多种写法:
        switch(week) {case 1:case 2:case 3:case 4:case 5:System.out.println("工作日");break;case 6:case 7:System.out.println("休息日");default:System.out.println("请合理输入数字!");break;}

下面两种使用的少:

switch(5) {case 1,2,3,4,5:System.out.println("工作日");break;case 6,7:System.out.println("休息日");break;default:System.out.println("输入有误");break;}
        switch(5) {case 1,2,3,4,5 -> System.out.println("工作日");case 6,7 -> System.out.println("休息日");default -> System.out.println("输入有误");}
2.5switch 和 if 选择使用

if语句: 适用于范围性的判断

switch语句:适用于固定值的匹配

三、循环语句 for

循环就和跑圈一样,只要没跑到符合条件的圈数,就重复一直跑。

3.1 for循环格式和执行流程

语法格式

        for (初始化语句; 判断条件; 条件控制语句) {循环体语句;}

执行流程

1、执行初始化语句,在整个循环中,只执行一次
2、执行判断条件,看返回结果是 true  还是 falsetrue执行第三步,false循环结束
3、执行循环体语句
4、执行条件控制语句
5、回到 2 继续...

代码示例

for (int i;i <= 3; i++) {System.out.println("跑圈");
}
3.2 for循环的简单练习
package com.liujintao.test;public class ForTest {public static void main(String[] args) {Print();}/*需求:使用循环打印 结果(自定义): 这里打印十次 内容*/public static void Print() {for (int i = 1;i <= 10; i++) {System.out.println("this is java");}}
}

自定义循环次数

循环多少次,取决于用户输入的数字

同时还做了节流判断

package com.liujintao.test;import java.util.Scanner;
public class ForTest {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int count = sc.nextInt();Print( count);}public static void Print(int count) {if (count < 1) {System.out.println("输入的内容有问题!(节流判断)");} else {for (int i = 1; i <= count; i++) {System.out.println("this is java");}}}
}

打印循环次数

    public static void printNumber() {for (int i = 1; i <= 3; i++) {System.out.println(i);  // i 就是变量,是每次循环 i 的数字, 就是循环的次数。}}

由此可知,变量 i,在循环中还能使用。

for (int i  = 3; i >= 1; i--) {System.out.println(i);  // 倒序
}

通过上面知道,for循环里面的i,不仅能++ ,还能–

四、for循环练习

4.1 练习1(100以内的偶数和)

需求:求1-100之间的偶数和,并把求和结果在控制台输出

步骤分析:
1、使用for循环,获取 1-100数字。

2、循环使用if语句判断,筛选出偶数

3、将筛选出来的数据累加起来

代码实现

        int sum = 0;for (int i = 1;i <= 100; i++) {if (i % 2 == 0) {sum += i;}}	return sum;

第二种方式:

int sum = 0;
for (int i = 2; i <= 100; i += 2) {sum += i;
}
return sum;
4.2 练习2 (打印水仙花数)

需求:在控制台输出所有的 “水仙花数”

什么是水仙花数?:个位、十位、百位的数字立方和等于原数


实现步骤:

100-999之间:

1.获取到所有的三位数

2.将每个三位数:拆分开

for (int i = 100; i <= 999; i++) {// 拆分数字int ge = i % 10;int shi = i / 10 % 10;int bai = i / 100;if (ge * ge *ge + shi * shi * shi + bai * bai * bai == i) {System.out.println(i + "是水仙花数");}}
4.3 拓展:打印水仙花数(并求出个数)

需求就是多了一个统计合数,代码如下:

        int count = 0;for (int i = 100; i <= 999; i++) {int ge = i % 10;int shi = i / 10 % 10;int bai = i  / 100;if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {System.out.println(i + "是水仙花数!");count += 1;}}return count;

五、循环的注意事项

1、 for循环{} 中定义的变量,在每一轮循环结束后,都会从内存释放。

2、for循环()中定义的变量,在整个循环结束后,会从内存中释放。

3、for循环 () 和 {} 之间不要写分号。

六、循环嵌套

循环嵌套:就是在循环中,继续出现循环语句。

需要注意:当循环执行完一次,下一轮循环才会开启。

1、使用循环嵌套打印四行五列的星星

        for (int i = 1; i <= 4; i++) {for (int j = 1; j <= 5; j++) {System.out.print("*");}System.out.println();}

System.out.print() 打印后不换行

System.out.println() 打印后换行

这里就用使用后了这两个输出语句。

2、在控制台用 * 打印五行的直角三角形

        for (int i = 1; i <= 5; i++) {for (int j = 1; j <= i; j++) {System.out.print("*");}System.out.println();}

唯一需要注意的是,外层循环执行一次,内层循环执行一周期。切记!

3、倒直角三角形打印

        for (int i = 5; i >= 1; i--) {for (int j = 1; j <= i; j++) {System.out.print("*");}System.out.println();}

七、while 循环语句

7.1 while循环语句格式
初始化语句;
while(判断条件) {循环语句;条件控制语句;
}
7.2 执行流程

1、执行初始化语句

2、执行判断条件:结果为true,执行循环体。false结束循环

3、条件成立,执行循环体

4、执行条件控制语句

5、回到第二步,重复(直到条件不好吃呢管理)

        int i = 1;while (i <= 5) {System.out.println("Hello world");} 
7.3 用while循环打印水仙花数
package com.liujintao.test;/*使用 while循环 打印水仙花数*/
public class whileTest {public static void main(String[] args) {sxhNum();}public static void sxhNum() {int i = 100;int count = 0;while (i <= 999) {int ge = i % 10;int shi  = i / 10 % 10;int bai  = i / 100;if (ge * ge * ge + shi * shi* shi + bai * bai * bai == i) {System.out.println(i + "是水仙花数");count += 1;}i++;}System.out.println("水仙花个数为:" + count);}}

八、do…while 循环语句

8.1 do…while循环语句格式
    初始化语句do {循环语句;条件控制语句;} while (判断条件);
8.2 执行流程

1、执行初始化语句

2、执行循环语句

3、执行条件判断语句

4、执行条件判断语句: true执行循环体(回到第二步重复),false 结束循环

  • do… while 循环有一个特点:无论判断条件是否成立,他都至少循环一次(用的比较少)
8.3 使用 do… while循环打印 水仙花数
package com.liujintao.loop;/*do....while 语句: 打印水仙花数。*/
public class doWhileDemo {public static void main(String[] args) {doWhileNum();}public static void doWhileNum() {int count = 0;int i = 100;do {int ge = i % 10;int shi = i / 10 % 10;int bai = i / 100;if (ge * ge * ge + shi * shi * shi  + bai * bai * bai == i) {System.out.println(i + "是水仙花");count += 1;}i++;} while (i <= 999);System.out.println(count);}
}

九、三种循环的区别

  • for循环 和 while循环(先判断后执行)
  • do…whiel (先执行,后判断)

for 和 while 的区别:

  • for循环,控制循环的变量,在for循环结束后,就不能在次被使用了。
  • while循环语句中:控制循环的变量,在while循环结束后,依旧可以被使用

总结:for循环能实现的,while循环都能实现,反之如此。根据自己的喜好选择即可。

十、跳转控制语句

10.1 brake语句

brake语句:当代码执行到了该语句,直接跳出循环,终止循环。(前面Switch也用到过break语句)

下面用代码来看看他的使用场景:

package com.liujintao.control;
import java.util.Scanner;
public class BreakDemo {/*需求:模拟用户登录:1、默认密码为123456;2、只有三次机会3、成功则跳出循环*/public static void main(String[] args) {login();}public static void login() {int psd = 123456;int count = 3;Scanner sc = new Scanner(System.in);for (int i = 1; i <= 3; i++) {System.out.println("input password:");int password = sc.nextInt();if (! (psd == password)) {System.out.println("password error" + " residue:" + (3 - i));System.out.println("密码错误!");count -= 1;if (count < 1) {System.out.println("登录失败,次数用尽!");// 我需要结束循环,则使用break语句break;}} else {System.out.println("password true" + " user:" + (3 - i));System.out.println("恭喜你,登录成功!");count -= 1;// 登录成功,我也是要使用break语句终止循环语句。break;}}}}
10.2 continue语句

break是终止循环,不在执行

这里的continue则是跳过当前循环,直接调到下一次循环。

  • 注意事项: continue只能在循环中使用
        for (int i = 1; i<= 10; i++) {if (i == 3 || i == 7) {continue;}System.out.println("我是:" + i); // 3 和 7 则不会被打印}
10.3 共同注意事项
  • break 和 continue语句下面不能写代码。因为不会被执行,还会报错。(IDEA)
10.4 三种循环的死循环写法

for:

for (;;) {}

while :

while (true) {}

do…while :

do {} while (true)
  • 死循环的应用场景:我们再下面会通过案例实现:
10.5 学生管理系统(简单版)

需求:用户选择 1:添加学生、2:删除学生、3:修改学生、4: 查看学生、 5:退出

实现步骤:

1、用户选择,需要键盘录入;

2、退出需要break语句(continue:结束当前)

3、没有明确次数需求;那么就用上面的死循环。通过break结束控制完成需求

代码示例:

package com.liujintao.control;
import java.util.Scanner;
public class ControalDemo {public static void main(String[] args) {initMenu();}public static void initMenu() {Scanner sc = new Scanner(System.in);boolean flag = true;while (flag) {System.out.println("用户选择 1:添加学生、2:删除学生、3:修改学生、4: 查看学生、 5:退出");int num = sc.nextInt();switch(num) {case 1:System.out.println("添加学生");break;case 2:System.out.println("删除学生");break;case 3:System.out.println("修改学生");break;case 4:System.out.println("查看学生");break;case 5:System.out.println("退出");// 退出:表示要结束循环,不在执行了。将循环的boolean值改成false,不成立 (注意: 写在break上面)flag = false;break;}}System.out.println("退出成功!");}
}

flag = true (开关变量),控制循环

特别注意:上面在的 case5 中,使用了修改while(死循环的问题),来结束循环。

十一、Random和猜数字小游戏

Random:产生随机数 (0, 10] == 0 - 9 → 不包含10 那么我 + 1 表示在每一个随机数的基础上 + 1。

使用方法和 Scanner 相似:
1、 导入Random

2、创建实例对象

3、使用产生随机数

import java.util.Random;
Random r = new Randem(); // 这里不需要写 System.in
r.nextInt(10) + 1; // 表示产生:1 - 10 之间的随机数
11.1实际写法
package com.liujintao.random;
import java.util.Random;
public class RandomDemo {public static void main(String[] args) {getRandom();}public static void getRandom () {Random r = new Random();int num = r.nextInt(10) + 1; // 表示 1- 10System.out.println(num);}
}

再例如:我需要。产生 66 - 88 之间的随机数:

int num = r.nextInt(23) + 66;

0 + 66 == 66

23 + 66 == 89 (只能取到88)

11.2 猜数字小游戏:

1-100之间猜数字游戏(十次机会),注意提示哦!

package com.liujintao.test;
import java.util.Random;
import java.util.Scanner;
public class RandomTest {public static void main(String[] args) {getRandom();}public static void getRandom() {Random r = new Random();Scanner sc = new Scanner(System.in);int num = r.nextInt(100) + 1;int count = 10;for (int i = 1; i <= 10; i++) {count -= 1;System.out.println("请输入数字;");int inputNum = sc.nextInt();if (inputNum == num) {System.out.println("恭喜你! 第" + i + "次就猜中了!");break;} else {if (inputNum < num) {System.out.println("数字小了");} else {System.out.println("数字大了");}}}if (count < 1) {System.out.println("次数用尽,欢迎下次继续!");}}
}

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

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

相关文章

王道p18 6.从有序顺序表中删除所有其值重复的元素,使表中所有元素的值均不同(c语言代码实现)

视频讲解在这里&#xff1a;&#x1f447; 顺序表p18 第6题wd数据结构课后代码题&#xff08;c语言代码实现&#xff09;_哔哩哔哩_bilibili 本题代码如下 void deleterepeat(struct sqlist* L) {if (L->length 0)printf("表空");int i 0;int k 0;for (i 1…

vs的使用技巧

vs的使用技巧 1.快捷键&#xff1a;2.代码编辑&#xff1a;3.调试&#xff1a;4.代码导航&#xff1a;5.代码重构&#xff1a;6.解决方案资源管理器&#xff1a;7.自定义设置&#xff1a;8.插件扩展&#xff1a;9.团队合作&#xff1a;10.学习资源&#xff1a; Visual Studio&a…

Android MVI架构的深入解析与对比

什么是MVI&#xff1f; M&#xff1a;model&#xff0c;此处的model并不是传统的数据模块&#xff0c;它是指用来存储视图状态UI State的一个模块 。比如请求数据时的loading、请求失败的提示页面等UI层面的变化状态。 V&#xff1a;view&#xff0c;视图模块 I&#xff1a;…

相比typescript,python的动态类型有什么优缺点?

以下是Python的动态类型相对于TypeScript的静态类型的一些优缺点&#xff1a; 1、Python的动态类型优点&#xff1a; 更灵活&#xff1a;Python的动态类型允许你在运行时更灵活地改变变量的类型&#xff0c;这对于快速原型设计和快速开发非常有帮助。 代码更简洁&#xff1a;…

Mac终端学习

命令1&#xff1a;ifconfig 作用&#xff1a;列出本机所有的网络设备以及其上面的配置&#xff0c;主要指的是ip地址和mac地址 其他用法&#xff1a;sudo ifconfig en4 add 10.10.10.12 netmask 255.255.255.0 作用&#xff1a;给en4加入别的网段 其他用法&#xff1a;sudo i…

Visual Studio Code 常用快捷键大全

Visual Studio Code 常用快捷键大全 快捷键是编码过程中经常使用&#xff0c;且能够极大提升效率的部分&#xff0c;这里给大家介绍一些VS Code中非常有用的快捷键。 打开和关闭侧边栏 Mac — Command B Windows — Ctrl B Ubuntu — Ctrl B 选择单词 Mac — Command D …

Docker数据卷使用过程中想到的几个问题

1.已经创建的容器如何挂载数据卷&#xff1f; 答&#xff1a;已经创建的容器我的理解是不能改变改变数据卷挂载的。 但有一种方法可以将数据卷挂载记录到文件里&#xff0c;通过修改文件而改变数据卷挂载&#xff0c;就是通过使用docker compose&#xff0c;这样每次只要修改在…

GAMP源码阅读:PPP中的模型改正:天线相位中心、天线相位缠绕、潮汐、地球自转效应、引力延迟

原始 Markdown文档、Visio流程图、XMind思维导图见&#xff1a;https://github.com/LiZhengXiao99/Navigation-Learning 文章目录 一、卫星天线相位中心改正1、原理2、文件读取3、setpcv()&#xff1a;设置天线参数4、satantoff()&#xff1a;卫星 PCO 改正5、satantpcv()&…

CorelDRAW2023最新版本号24.5.0.731

CDR2023是一款近年来备受瞩目的工具软件&#xff0c;它提供了数据存储、分析以及处理的能力。但是&#xff0c;对于许多用户来说&#xff0c;CDR2023到底好用不好用还需要进行深入的分析和探讨。在本文中&#xff0c;我们将从多个角度分析CDR2023这款软件。 CorelDRAW2023版win…

【Proteus仿真】【Arduino单片机】RGB彩灯

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器&#xff0c;使用WS2812 RGB彩灯等。 主要功能&#xff1a; 系统运行后&#xff0c;RGB彩灯花样显示。 二、软件设计 /* 作者&#xff1a;嗨小易&#xff08;…

【VS Code】使用 VS Code 登陆远程服务器上的 Docker 容器

以下命令默认已经构建了一个 Docker Image。 # 在服务器上启动 docker (-p 端口映射&#xff0c;用于后续的 ssh 连接) docker run -itd -v /mnt/mount/:/home -p 8124:22 --name container-name --gpus all image-name# 进入容器中 docker exec -it container-name /bin/bas…

如何通过智能管理箱实现高效文件管理:关键字轻松修改文件名

在信息化时代&#xff0c;文件管理变得尤为重要。智能管理箱已经成为我们生活中不可或缺的一部分。它可以帮助我们高效地管理各种文件&#xff0c;使得我们的工作和生活更加便捷。是一种高效的文件管理工具&#xff0c;可以帮助我们轻松地整理和分类文件&#xff0c;提高工作效…

【MediaFoundation】读取音视频

原文链接&#xff1a; 官方文档 Microsoft Media Foundation支持音频和视频捕获。视频捕获设备通过UVC类驱动程序支持&#xff0c;并必须与UVC 1.1兼容。音频捕获设备通过Windows音频会话API&#xff08;WASAPI&#xff09;支持。 在Media Foundation中&#xff0c;捕获设备通…

Linux - 进程控制(下篇)- 进程等待

进程等待 为什么进程需要等待&#xff1f; 我们知道&#xff0c;在Linux 当中&#xff0c;父子进程之间一些结构就是一些多叉树的结构&#xff0c;一个父进程可能管理或者创建了很多个字进程。 而其实我们在代码当中使用fork&#xff08;&#xff09;函数创建的子进程的父进程…

模型训练----对输入变量原地操作(inplace operation)报错

遇到报错one of the variables needed for gradient computation has been modified by an inplace operation。意思是对输入x原地操作&#xff08;inplace operation&#xff09;&#xff0c;一个变量在反向传播过程中被修改了&#xff0c;而不是按照预期的版本&#xff08;ve…

vivo发布“蓝心千询”自然语言对话机器人

&#x1f989; AI新闻 &#x1f680; vivo发布“蓝心千询”自然语言对话机器人 摘要&#xff1a;vivo今日发布了“蓝心千询”自然语言对话机器人&#xff0c;基于蓝心大模型。蓝心千询可以进行知识信息的快速问答&#xff0c;文学创作、图片生成&#xff0c;甚至还能编写程序…

C语言基础知识

C语言基础知识 1. 基本数据类型2. 变量和常量3. 运算符4. 条件语句和循环5. 函数 C语言是一种广泛使用的计算机编程语言&#xff0c;由丹尼斯里奇&#xff08;Dennis Ritchie&#xff09;于1972年在贝尔实验室发明。C语言是一种高级语言&#xff0c;因为它允许使用更抽象的语法…

mit6.s081 笔记

1、系统调用 系统调用具体过程。 在任何地方&#xff0c;当我们需要使用系统调用时&#xff0c;只需要include “user/user.h”&#xff0c;就可以通过里面的函数声明来调系统调用&#xff0c;其函数的具体实现由 user/usys.pl 脚本帮我们生成对应的汇编代码&#xff08;具体代…

ENVI波段合成

1、envi5.3合成&#xff08;这种方法&#xff0c;必须有地理参考才可以&#xff09; 在工具栏处搜索波段&#xff0c;找到波段合成&#xff08;Layer Stacking&#xff09; 设置合成波段&#xff0c;其他默认 2、envi classic&#xff08;没有地理坐标也可以&#xff09; 我们…

https网站加载http资源问题

https网站加载http资源问题 前言&#xff1a;最近项目对接了一个第三方的平台、我们需要展示第三方平台返回来的图片资源、由于我们的服务器设置为了https、但是第三方平台返回的图片链接是 http 资源。所以就出现了图片无法加载出来的问题&#xff0c;在此记录一下问题的解决…