流程控制

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说,程序的流程对运行结果 有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现 我们要完成的功能。其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:

  • 顺序结构:程序从上到下逐行地执行,中间没有任何判断和跳转。
  • 分支结构:根据条件,选择性地执行某段代码,有if…else和switch-case两种分支语句。
  • 循环结构:根据循环条件,重复性的执行某段代码。有while、do…while、for三种循环语句。

顺序结构

  • 程序从上到下逐行地执行,中间没有任何判断和跳转。

顺序结构执行流程图

                                                                             

代码举例

// 顺序结构
public class Demo01Sequence {public static void main(String[] args) {//顺序执行,根据编写的顺序,从上到下运行System.out.println("今天天气不错");System.out.println("挺风和日丽的");System.out.println("我们下午没课");System.out.println("这的确挺爽的");}
}

选择结构

选择结构有if…else和switch-case两种分支语句。

接下来要学习的if条件语句分为三种语法格式,每一种格式都有它自身的特点,下面我们分别进行介绍。

if语句第一种格式: if

格式:

执行流程

  1. 首先判断关系表达式看其结果是true还是false
  2. 如果是true就执行语句体
  3. 如果是false就不执行语句体

 if语句代码执行流程图

                                       

代码示例:

/*if语句格式1格式:if (关系表达式) {语句体;    }执行流程:1:首先计算关系表达式的值2:如果关系表达式的值为true就执行语句体3:如果关系表达式的值为false就不执行语句体4:继续执行后面的语句内容
*/
public class Demo {public static void main(String[] args) {//定义两个变量int a = 10;int b = 20;//需求:判断a和b的值是否相等,如果相等,就在控制台输出:a等于bif (a == b) {System.out.println("a等于b");}//需求:判断a和c的值是否相等,如果相等,就在控制台输出:a等于cint c = 10;if (a == c) {System.out.println("a等于c");//a等于c}System.out.println("结束");//结束}
}

扩展知识:

如何从键盘输入数据

/*
如何从键盘获取不同类型的变量:需要使用Scanner类具体实现步骤:
1.导包:import java.util.Scanner;
2.Scanner的实例化:Scanner scan = new Scanner(System.in);
3.调用Scanner类的相关方法(next() / nextXxx()),来获取指定类型的变量注意:
需要根据相应的方法,来输入指定类型的值。如果输入的数据类型与要求的类型不匹配时,会报异常:InputMisMatchException
导致程序终止。
*/
//1.导包:import java.util.Scanner;
import java.util.Scanner;class ScannerTest{public static void main(String[] args){//2.Scanner的实例化Scanner scan = new Scanner(System.in);//3.调用Scanner类的相关方法System.out.println("请输入你的姓名:");//获取String类型数据String name = scan.next();System.out.println(name);System.out.println("请输入你的芳龄:");//获取int 类型数据int age = scan.nextInt();System.out.println(age);System.out.println("请输入你的体重:");//获取double 类型数据double weight = scan.nextDouble();System.out.println(weight);System.out.println("你是否相中我了呢?(true/false)");//获取boolean 类型数据boolean isLove = scan.nextBoolean();System.out.println(isLove);//对于char型的获取,Scanner没有提供相关的方法。只能获取一个字符串System.out.println("请输入你的性别:(男/女)");String gender = scan.next();//"男"char genderChar = gender.charAt(0);//获取索引为0位置上的字符System.out.println(genderChar);}}

if语句第二种格式: if...else

格式:

执行流程

  • 首先判断关系表达式看其结果是true还是false
  • 如果是true就执行语句体1
  • 如果是false就执行语句体2

if…else语句代码执行流程图

                                          

代码示例:

import java.util.Scanner;/*if语句格式2格式:if (关系表达式) {语句体1;} else {语句体2;}执行流程:1:首先计算关系表达式的值2:如果关系表达式的值为true就执行语句体13:如果关系表达式的值为false就执行语句体24:继续执行后面的语句内容需求:任意给出一个整数,请用程序实现判断该整数是奇数还是偶数,并在控制台输出该整数是奇数还是偶数。
*/
public class Demo {public static void main(String[] args) {//为了体现任意给出一个整数,采用键盘录入一个数据。(导包,创建对象,接收数据)Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数:");//获取从外界输入的数字int number = sc.nextInt();/*判断整数是偶数还是奇数要分两种情况进行判断,使用if..else结构判断是否偶数需要使用取余运算符实现该功能 number % 2 == 0    根据判定情况,在控制台输出对应的内容*/if (number % 2 == 0) {System.out.println(number + "是偶数");} else {System.out.println(number + "是奇数");}}
}

if语句第三种格式: if...else if ...else

格式:

执行流程

  • 首先判断关系表达式1看其结果是true还是false
  • 如果是true就执行语句体1
  • 如果是false就继续判断关系表达式2看其结果是true还是false
  • 如果是true就执行语句体2
  • 如果是false就继续判断关系表达式…看其结果是true还是false
  • 如果没有任何关系表达式为true,就执行语句体n+1。

if...else if ...else代码执行流程示意图

                                

代码演示

/*if语句格式3格式:if (关系表达式1) {语句体1;} else if (关系表达式2) {语句体2;}…else {语句体n+1;}执行流程:1:首先计算关系表达式1的值2:如果值为true就执行语句体1;如果值为false就计算关系表达式2的值3:如果值为true就执行语句体2;如果值为false就计算关系表达式3的值4:…5:如果没有任何关系表达式为true,就执行语句体n+1。
需求:
小明快要期末考试了,小明爸爸对他说,会根据他不同的考试成绩,送他不同的礼物,
假如你可以控制小明的得分,请用程序实现小明到底该获得什么样的礼物,并在控制台输出。奖励:95~100        山地自行车一辆90~94        游乐场玩一次80~89        变形金刚玩具一个80以下        胖揍一顿说明:
1. else 结构是可选的。
2. 针对于条件表达式:> 如果多个条件表达式之间是“互斥”关系(或没有交集的关系),哪个判断和执行语句声明在上面还是下面,无所谓。> 如果多个条件表达式之间有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明在上面。> 如果多个条件表达式之间有包含的关系,通常情况下,需要将范围小的声明在范围大的上面。否则,范围小的就没机会执行了。
*/import java.util.Scanner;public class Demo {public static void main(String[] args) {//小明的考试成绩未知,可以使用键盘录入的方式获取值Scanner sc = new Scanner(System.in);System.out.println("请输入一个分数:");int score = sc.nextInt();/*由于奖励种类较多,属于多种判断,采用if...else...if格式实现为每种判断设置对应的条件为每种判断设置对应的奖励*///数据测试:正确数据,边界数据,错误数据if (score > 100 || score < 0) {System.out.println("你输入的分数有误");} else if (score >= 95 && score <= 100) {System.out.println("山地自行车一辆");} else if (score >= 90 && score <= 94) {System.out.println("游乐场玩一次");} else if (score >= 80 && score <= 89) {System.out.println("变形金刚玩具一个");} else {System.out.println("胖揍一顿");}}
}

小结选择结构if语句

  • 条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量
  • 语句块只有一条执行语句时,一对{}可以省略,但建议保留
  • if-else语句结构,根据需要可以嵌套使用
  • 当if-else结构是“多选一”时,最后的else是可选的,根据需要可以省略
  • 当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓
  • 当多个条件是“包含”关系时,“小上大下 / 子上父
  • 在某些简单的应用中,if语句是可以和三元运算符互换使用的。 三元运算符的执行效率比if语句要高,if语句的适用范围比三元运算符要多的多。
  • 对于if语句来说,在任何情况下只能有1个分支执行,不可能存在2个或者更多个分支执行。if语句中只要有1个分支执行了,整个if语句就结束了。
  • 凡是带有else分支的,一定可以保证会有一个分支执行。

if语句和三元运算符的互换

在某些简单的应用中,if语句是可以和三元运算符互换使用的。 三元运算符的执行效率比if语句要高,if语句的适用范围比三元运算符要多的多。

代码演示

// 题目:使用三元运算符和标准的if-else语句分别实现:取两个数字当中的最大值
public class DemoMax {public static void main(String[] args) {int a = 105;int b = 20;// 首先使用三元运算符// int max = a > b ? a : b;// 使用今天的if语句int max;if (a > b) {max = a;} else {max = b;}System.out.println("最大值:" + max);//最大值:105}
}

if语句嵌套,代码举例

/*
说明:
1. if-else结构是可以相互嵌套的。
2. 如果if-else结构中的执行语句只有一行时,对应的一对{}可以省略的。但是,不建议大家省略。*/
public class IfTest02 {public static void main(String[] args) {// 接收用户键盘输入java.util.Scanner s = new java.util.Scanner(System.in);// 提示信息System.out.print("请输入您的性别,输入1表示男,输入0表示女:");// 程序停下来等待用户的输入int gender = s.nextInt();// 提示信息System.out.print("请输入当前的天气,1表示雨天,0表示晴天:");// 等待用户的输入int weather = s.nextInt();if (weather == 1) {//System.out.println("雨天");if (gender == 1) {// 男System.out.println("下雨了,小哥哥,出门的时候记得拿一把大黑伞哦!");} else if (gender == 0) {// 女System.out.println("下雨了,小姐姐,出门的时候记得带一把小花伞哦!");}} else if (weather == 0) {//System.out.println("晴天");if (gender == 1) {// 男System.out.println("外面的天气不错,老铁们出去玩耍吧!");} else if (gender == 0) {// 女System.out.println("外面的天气晴朗,小姐姐要保护好皮肤哦,擦点防晒霜!");}}}
}

选择语句之switch语句

格式:

执行流程

  • 首先计算出表达式的值
  • 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。
  • 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

switch执行流程示意图

示例代码

/*switch语句格式:switch(表达式) {case 值1:语句体1;break;case 值2:语句体2;break;…default:语句体n+1;[break;]}格式说明:表达式:取值为byte、short、int、char,JDK5以后可以是枚举,JDK7以后可以是String。case:后面跟的是要和表达式进行比较的值。break:表示中断,结束的意思,用来结束switch语句。default:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。执行流程:首先计算表达式的值。依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。如果所有的case后面的值和表达式的值都不匹配,就会执行default里面的语句体,然后程序结束掉。2.说明:
① 根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case结构中,调用其执行语句。当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构末尾结束为止。② break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构③ switch结构中的表达式,只能是如下的6种数据类型之一:byte 、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)④ case 之后只能声明常量。不能声明范围。⑤ break关键字是可选的。⑥ default:相当于if-else结构中的else.  default结构是可选的,而且位置是灵活的。
题目:1、系统接收一个学生的考试成绩,根据考试成绩输出成绩的等级。2、等级:优:[90~100]良:[80~90) 中:[70-80)及格:[60~70)不及格:[0-60)3、要求成绩是一个合法的数字,成绩必须在[0-100]之间,成绩可能带有小数。必须使用switch语句来完成,你该怎么办?
*/
public class SwitchTest02{public static void main(String[] args){// 提示用户输入学生成绩java.util.Scanner s = new java.util.Scanner(System.in);System.out.print("请输入学生成绩:");double score = s.nextDouble();if(score < 0 || score > 100){System.out.println("您输入的学生成绩不合法,再见!");return; // 这个代码的执行,会让main结束。}int grade = (int)(score / 10); // 95.5/10结果9.55,强转为int结果是9String str = "不及格";switch(grade){case 10: case 9:str = "优";break;case 8:str = "良";break;case 7:str = "中";break;case 6:str = "及格";}System.out.println("该学生的成绩等级为:" + str);}
}

case的穿透性:在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运行,直到遇到break,或者整体switch结束。

代码举例

import java.util.Scanner;/*需求:
一年有12个月,分属于春夏秋冬4个季节,键盘录入一个月份,请用程序实现判断该月份属于哪个季节,并输出。春:3、4、5夏:6、7、8秋:9、10、11冬:1、2、12
*/
public class Demo {public static void main(String[] args) {//键盘录入月份数据,使用变量接收Scanner sc = new Scanner(System.in);System.out.println("请输入一个月份:");int month = sc.nextInt();//case穿透switch (month) {case 1:case 2:case 12:System.out.println("冬季");break;case 3:case 4:case 5:System.out.println("春季");break;case 6:case 7:case 8:System.out.println("夏季");break;case 9:case 10:case 11:System.out.println("秋季");break;default:System.out.println("你输入的月份有误");}}
}

switch语句有关规则

  • switch(表达式)中表达式的值必须是下述几种类型之一:byte,short, char,int,枚举 (jdk 5.0),String (jdk 7.0);switch 虽然只能探测 int 类型,但是也可以将 byte,short,char 类型放到小括号当中,因为这些类型会自动转换成 int 类型(小容量向大容量转换称为自动类型转换)。 
  • case子句中的值必须是常量,不能是变量名或不确定的表达式值;
  • 同一个switch语句,所有case子句中的常量值互不相同;
  • break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾
  • default子句是可任选的。同时,位置也是灵活的。当没有匹配的case时,执行default
  • case的穿透性:在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运行,直到遇到break,或者整体switch结束。

小练习

/*
从键盘分别输入年、月、日,判断这一天是当年的第几天注:判断一年是否是闰年的标准:1)可以被4整除,但不可被100整除或2)可以被400整除说明:
1. 凡是可以使用switch-case的结构,都可以转换为if-else。反之,不成立。
2. 我们写分支结构时,当发现既可以使用switch-case,(同时,switch中表达式的取值情况不太多),又可以使用if-else时,我们优先选择使用switch-case。原因:switch-case执行效率稍高。*/import java.util.Scanner;class SwitchCaseExer {public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("请输入year:");int year = scan.nextInt();System.out.println("请输入month:");int month = scan.nextInt();System.out.println("请输入day:");int day = scan.nextInt();//定义一个变量来保存总天数int sumDays = 0;switch (month) {case 12:sumDays += 30;case 11:sumDays += 31;case 10:sumDays += 30;case 9:sumDays += 31;case 8:sumDays += 31;case 7:sumDays += 30;case 6:sumDays += 31;case 5:sumDays += 30;case 4:sumDays += 31;case 3://sumDays += 28;//判断year是否是闰年if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {sumDays += 29;} else {sumDays += 28;}case 2:sumDays += 31;case 1:sumDays += day;}System.out.println(year + "年" + month + "月" + day + "日是当年的第" + sumDays + "天");}
}

循环语句

在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。一组被重复执行的语句称之为循环体,能否继续重复,取决于循环的终止条件。循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。循环语句是由循环体及循环的终止条件两部分组成的。 

循环语句之一:for循环

格式:

执行流程:

执行顺序:①②③④>②③④>②③④…②不满足为止。

  • ①负责完成循环变量初始化。初始化部分(init_statement)在循环开始最初执行,而且只做唯一一次。初始化部分可以声明多个变量,但必须是同一个类型,用逗号分隔
  • ②负责判断是否满足循环条件,不满足则跳出循环。循环条件部分(test_exp) :如果成立,则循环继续;如果不成立,则循环退出。循环条件部分必须是boolean类型表达式,当值为false时,退出循环
  • ③具体执行的语句。循环体部分(body_statement):重复要做的事情内容,若干行语句。
  • ④循环后,循环条件所涉及变量的变化情况。迭代部分(alter_statement):每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次。可以有多个变量更新,用逗号分隔。

for循环代码执行示意图

代码示例

/*for语句格式:for(初始化语句;条件判断语句;条件控制语句) {循环体语句;}执行流程:1:执行初始化语句2:执行条件判断语句,看其结果是true还是false如果是false,循环结束如果是true,继续执行3:执行循环体语句4:执行条件控制语句5:回到2继续*/
/*统计需求:统计"水仙花数"一共有多少个,并在控制台输出个数
*/
public class Demo {public static void main(String[] args) {//定义变量count,用于保存“水仙花数”的数量,初始值为0int count = 0;//输出所有的水仙花数必然要使用到循环,遍历所有的三位数,三位数从100开始,到999结束for (int i = 100; i < 1000; i++) {//在计算之前获取三位数中每个位上的值int ge = i % 10;int shi = i / 10 % 10;int bai = i / 10 / 10 % 10;//在判定水仙花数的过程中,满足条件不再输出,更改为修改count的值,使count+1if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {count++;}}//打印输出最终结果System.out.println("水仙花共有:" + count + "个");}
}

for循环有各种变形,如下所示

/*1、for循环的语法机制以及运行原理?语法机制:for(初始化表达式; 条件表达式; 更新表达式){循环体; // 循环体由java语句构成}注意:第一:初始化表达式最先执行,并且在整个循环中只执行一次。第二:条件表达式结果必须是一个布尔类型,也就是:true或false执行原理:先执行初始化表达式,并且初始化表达式只执行1次。然后判断条件表达式的结果,如果条件表达式结果为true,则执行循环体。循环体结束之后,执行更新表达式。更新完之后,再判断条件表达式的结果,如果还是true,继续执行循环体。直到更新表达式执行结束之后,再次判断条件时,条件为false,for循环终止。更新表达式的作用是:控制循环的次数,换句话说,更新表达式会更新某个变量的值,这样条件表达式的结果才有可能从true变成false,从而终止for循环的执行,如果确实更新表达式,很有可能会导致死循环。*/
public class ForTest02{public static void main(String[] args){// 最常见的for循环// 循环10次,输出0~9/*强调一下:对于以下的这个for循环,其中int i = 0;最先执行,并且只执行一次,而且i变量属于for循环的局部变量,for循环结束之后i的内存就释放了。这个i变量只能在for循环中使用。这个i变量属于for循环域。在main方法中没有办法直接使用。*/for(int i = 0;i < 10;i++){System.out.println("i = " + i); // 0 1 2 3....9}//错误: 找不到符号//System.out.println(i);// i变量的作用域就扩大了。int i = 0;for(;i < 10;i++){System.out.println("i --> " + i); // 0 1 2 3....9}System.out.println("这里的i可以访问吗?i = " + i); // 这里的i可以访问吗?i = 10// 变形for(int k = 1; k <= 10; k++){System.out.println("k --> " + k); // 1 2 ..... 9 10}// 变形for(int k = 1; k <= 10; ){System.out.println("k --> " + k);  // 1 2 ..... 9 10k++;}// 变形for(int k = 1; k <= 10; ){k++;System.out.println("value --> " + k); // 2 3 4 5 6 7 8 9 10 11}// for的其它形式for(int a = 10; a > 0; a--){System.out.println("a = " + a); // 10 9 8 7 6 5 4 3 2 1}// 变形for(int b = 0; b < 10; b += 2){System.out.println("b = " + b); // 0 2 4 6 8}}
}

for循环嵌套

所谓嵌套循环,是指一个循环的循环体是另一个循环。将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for ,while ,do…while均可以作为外层循环或内层循环。 实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开 始下一次的循环。请反复理解这句话:整个内循环,就是外循环的一个循环体,内部循环体没有执行完毕,外循环是不会继续向下执行的。结论:外循环执行一次,内循环执行一圈 

格式:

   

嵌套循环执行流程:

  • 执行顺序:①②③④⑤⑥>④⑤⑥>⑦②③④⑤⑥>④⑤⑥
  • 外循环一次,内循环多次。
/*
1、所有合法的“控制语句”都可以嵌套使用。
2、for循环嵌套一个for循环执行原理是什么?提示一下:大家不要因为for循环中嵌套了一个for循环,就感觉这个程序比较特殊,实际上大家可以这样看待:for(){//在分析外层for循环的时候,把里面的for就当做一段普通的java语句/代码.for(){}}
*/
public class ForTest02 {public static void main(String[] args) {// 单层for循环for (int i = 0; i < 2; i++) {System.out.println("i = " + i);}for (int k = 0; k < 2; k++) { // 循环2次for (int i = 0; i < 3; i++) {System.out.println("i ---> " + i);}}}}

小练习


/*
100000以内的所有质数的输出。实现方式二
质数:素数,只能被1和它本身整除的自然数。-->从2开始,到这个数-1结束为止,都不能被这个数本身整除。对PrimeNumberTest.java文件中质数输出问题的优化
*/
class PrimeNumberTest2 {public static void main(String[] args) {int count = 0;//记录质数的个数//获取当前时间距离1970-01-01 00:00:00 的毫秒数long start = System.currentTimeMillis();label:for(int i = 2;i <= 100000;i++){//遍历100000以内的自然数for(int j = 2;j <= Math.sqrt(i);j++){//j:被i去除if(i % j == 0){ //i被j除尽continue label;}}//能执行到此步骤的,都是质数count++;}//获取当前时间距离1970-01-01 00:00:00 的毫秒数long end = System.currentTimeMillis();System.out.println("质数的个数为:" + count);System.out.println("所花费的时间为:" + (end - start));//17110 - 优化一:break:1546 - 优化二:13}
}

循环语句之二:while 循环

格式:

执行流程

执行顺序:①②③④>②③④>②③④…②不满足为止。

  • ①负责完成循环变量初始化。
  • ②负责判断是否满足循环条件,不满足则跳出循环。
  • ③具体执行的语句。
  • ④循环后,循环变量的变化情况。

while循环代码执行示意图

代码举例

/*while循环:1、while循环的语法机制以及执行原理语法机制:while(布尔表达式){循环体;}执行原理:判断布尔表达式的结果,如果为true就执行循环体,循环体结束之后,再次判断布尔表达式的结果,如果还是true,继续执行循环体,直到布尔表达式结果为false,while循环结束。2、while循环有没有可能循环次数为0次?可能。while循环的循环次数是:0~n次说明:
1.写while循环千万小心不要丢了迭代条件。一旦丢了,就可能导致死循环!
2.我们写程序,要避免出现死循环。
3.for循环和while循环是可以相互转换的! 区别:for循环和while循环的初始化条件部分的作用范围不同。*/
public class Demo {public static void main(String[] args) {//定义一个计数器,初始值为0int count = 0;//定义纸张厚度double paper = 0.1;//定义珠穆朗玛峰的高度int zf = 8844430;//因为要反复折叠,所以要使用循环,但是不知道折叠多少次,这种情况下更适合使用while循环//折叠的过程中当纸张厚度大于珠峰就停止了,因此继续执行的要求是纸张厚度小于珠峰高度while (paper <= zf) {//循环的执行过程中每次纸张折叠,纸张的厚度要加倍paper *= 2;//在循环中执行累加,对应折叠了多少次count++;}//打印计数器的值System.out.println("需要折叠:" + count + "次");//需要折叠:27次}
}

循环语句之三:do...while

格式:

执行流程

执行顺序:①③④>②③④>②③④…②不满足为止。

  • ①负责完成循环变量初始化。
  • ②负责判断是否满足循环条件,不满足则跳出循环。
  • ③具体执行的语句
  • ④循环后,循环变量的变化情况

do...while 代码执行示意图

示例:

/*do...while语句基本格式:do {循环体语句;}while(条件判断语句);完整格式:初始化语句;do {循环体语句;条件控制语句;}while(条件判断语句);执行流程:        1:执行初始化语句2:执行循环体语句3:执行条件控制语句4:执行条件判断语句,看其结果是true还是false如果是false,循环结束如果是true,继续执行5:回到2继续说明:
1.do-while循环至少会执行一次循环体!
2.开发中,使用for和while更多一些。较少使用do-while*/
public class DoWhileDemo {public static void main(String[] args) {//需求:在控制台输出5次"HelloWorld"//for循环实现for(int i=1; i<=5; i++) {System.out.println("HelloWorld");}System.out.println("--------");//do...while循环实现int j = 1;do {System.out.println("HelloWorld");j++;}while(j<=5);}
}

三种循环的区别

  • for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
  • do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)

for循环和while的区别

  • 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了
  • 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用
  • 在已知循环次数的时候使用推荐使用for,循环次数未知的时推荐使用while。

死循环

死循环:也就是循环中的条件永远为true,死循环的是永不结束的循环。最简单“无限” 循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,需要根据循环体内部某些条件,来控制循环的结束。在后期的开发中,会出现使用死循环的场景,例如:我们需要读取用户输入的输入,但是用户输入多少数据我们并不清楚,也只能使用死循环,当用户不想输入数据了,就可以结束循环了,如何去结束一个死循环呢,就需要使用到跳出语句了。

死循环(无限循环)的三种格式

  • for(;;){}
  • while(true){}
  • do {} while(true);

代码示例

/*
永远停不下来的循环,叫做死循环。最常用的死循环的标准格式:
while (true) {循环体
}
*/
public class DemoDeadLoop {public static void main(String[] args) {while (true) {System.out.println("I Love Java!");}// System.out.println("Hello"); 错误,永远执行不到的代码,不能编写}
}

程序流程控制关键字

关键字:break

  • 用在switch语句当中,一旦执行,整个switch语句立刻结束。
  • 用在循环语句当中,一旦执行,整个循环语句立刻结束。打断循环。
  • break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是 哪一层语句块

代码示例:

/*break;语句:1、break;语句比较特殊,特殊在:break语句是一个单词成为一个完整的java语句。另外:continue也是这样,他俩都是一个单词成为一条语句。2、break 翻译为折断、弄断。3、break;语句可以用在哪里呢?用在两个地方,其它位置不行第一个位置:switch语句当中,用来终止switch语句的执行。用在switch语句当中,防止case穿透现象,用来终止switch。第二个位置:break;语句用在循环语句当中,用来终止循环的执行。用在for当中用在while当中用在do....while..当中。4、以下程序主要是以for循环为例学习break转向语句。5、break;语句的执行并不会让整个方法结束,break;语句主要是用来终止离它最近的那个循环语句。6、怎么用break;语句终止指定的循环呢?第一步:你需要给循环起一个名字,例如:a: for(){b:for(){}}第二步:终止:break a;
*/
public class BreakTest01{public static void main(String[] args){for(int i = 0; i < 10; i++){if(i == 5){// break;语句会让离它最近的循环终止结束掉。break; // break;终止的不是if,不是针对if的,而是针对离它最近的循环。}System.out.println("i = " + i); // 0 1 2 3 4}// 这里的代码照常执行。break;的执行并不会影响这里。System.out.println("Hello World!");// 这个for循环两次for(int k = 0; k < 2; k++){ // 外层forfor(int i = 0; i < 10; i++){ // 内层forif(i == 5){break; // 这个break;语句只能终止离它最近的for}System.out.println("i ===> " + i); }}System.out.println("------------------------------------------");// 以下讲解的内容,以后开发很少用。不要紧张。// 这种语法很少用,了解一下即可。a:for(int k = 0; k < 2; k++){ b:for(int i = 0; i < 10; i++){if(i == 5){break a; // 终止指定的循环。}System.out.println("i ===> " + i); }}System.out.println("呵呵");}
}

关键字:continue 

  • continue只能使用在循环结构中
  • continue语句用于跳过其所在循环语句块的一次执行,继续下一次循环
  • continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环

代码示例:

/*continue;语句:continue翻译为:继续continue语句的作用是:终止当前"本次"循环,直接进入下一次循环继续执行。for(){if(){ // 当这个条件成立时,执行continue语句continue; //当这个continue语句执行时,continue下面的代码不执行,直接进入下一次循环执行。}// 以上的continue一旦执行,以下代码不执行,直接执行更新表达式。code1}4、continue语句后面可以指定循环吗?可以的。这里就不再讲了,自己测试以下。a:for(;;更新表达式1){b:for(;;更新表达式2){if(){continue a;}code1;}}
*/
public class ContinueTest01{public static void main(String[] args){for(int i = 0; i < 10; i++){if(i == 5){break;}System.out.println("i = " + i);}System.out.println("----------------------------");for(int i = 0; i < 10; i++){if(i == 5){continue;}System.out.println("i = " + i); }}
}

特殊流程控制语句说明

  • break只能用于switch语句和循环语句中。
  • continue 只能用于循环语句中。
  • 二者功能类似,但continue是终止本次循环,break是终止本层循环。
  • break、continue之后不能有其他的语句,因为程序永远不会执行其后的语句。
  • 标号语句必须紧接在循环的头部。标号语句不能用在非循环语句的前面。
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. python学习笔记:细品print()

    python学习笔记:细品print() 1、print()基本用法 print()函数用于打印,其格式如下: print(值1, 值2, ..., sep=内容1, end=内容2, file=sys.stdout, flush=False))sep表示用内容1来作为值之间的连接,默认为空格 end表示用内容2来作为打印的结尾,默认为\n(换行) file表…...

    2024/5/4 22:52:09
  2. J2EEd 13个规范

    J2EE也叫JavaEE,下面是它的规范。JDBC(Java Database Connectivity) 用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。 个人理解:跟微软的ODBC很像,应该说是ODBC和ADO的结合。可以理解为面向对象的ODBC,毫无疑问,…...

    2024/5/4 17:33:25
  3. 企业平台架构--Apache配置与应用 理论加实验详解

    文章目录前言:Apache连接保持:Apache访问控制概述:基于客户端地址的访问控制:实验验证用户授权控制日志分割:rotatelogs分割工具小实验:第三方工具cronolog小实验:AWStats日志分析系统介绍AWStats日志分析系统实验 前言: Apache HTTP Server 之所以受到众多企业的青睐,…...

    2024/4/15 20:05:37
  4. 网红地标白玉兰广场,从这遥望陆家嘴,你看过吗?

    上海白玉兰广场(Shanghai Magnolia Plaza)地处上海北外滩黄浦江沿岸地区,位于上海市虹口区东长治路588号,东临提篮桥地区,南面与陆家嘴隔江相望,西接外滩,北眺上海音乐谷。占地5.6万平方米,总建筑面积42万平方米,包括一座办公塔楼和酒店塔楼,办公塔楼高320米,拥有69…...

    2024/5/4 17:48:23
  5. 免费ip代理是否有风险?

    回答是肯定的,不推荐免费的IP代理 1、安全级别最低免费的IP池通常是http协议,没有加密,安全性低。使用免费http代理时,访问的网站信息以及登录信息都有可能会被窃取信息容易被泄露。 以http代理访问淘宝为例,你访问淘宝等等这些网站所有的访问信息都可以被提供代理的主机看…...

    2024/4/29 18:18:20
  6. 为什么要做短视频软件开发,短视频与长视频的不同

    短视频的能量是长视频的9倍?很多人看到这个结论立马就开始激动了:9倍是如何算出来的?为什么不是8倍或者90倍?淡定!写东西还是遵循基本逻辑滴!具体的数值不重要,看逻辑:9倍是如何算出来的?一个简单的公式为:3*3*3/3=9为什么这么算??这就要开始本文的主题了——从内容…...

    2024/4/20 15:47:37
  7. 关于在Windows10 上PPT 2016不能插入Flash动画问题

    官网补丁: https://gallery.technet.microsoft.com/scriptcenter/Registry-keys-to-reenable-7cd9f723/view/Discussions#content 下载后直接执行一下Reg即可:微软官方提供的补丁包,无需自己手动修改注册表。 简单有效快捷方便且安全。...

    2024/4/23 21:34:06
  8. C语言顺序程序设计练习题-求圆柱体的相关信息

    C语言顺序程序设计练习题 描述 要求用户自己输入圆柱的半径和高来求圆柱体的圆周长、圆面积、圆球表面积、圆球体积和圆柱体积的相关信息。(谭浩强 C 语言 第三版 89 页第 4.8 题 ) 题目 设圆半径 r = 1.5,圆柱高 h = 3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。…...

    2024/5/4 14:52:18
  9. 重装Windows系统

    操作系统 Windows 10 1、系统工具1.1 编辑器Vscode Notepad++1.2 下载工具FreeDownLoad Manager 没广告1.3 网络管理Xmanager 6 MobaXterm 终端管理工具 Vmware Workstation1.4 其他PotPlayer 视频播放器,开源没广告 ConEmu Windows下的命令行工具 PDF-XChange Viewer 百…...

    2024/5/4 17:46:52
  10. 使用alibaba的easyExcel自定义工具类进行导入导出操作

    平常工作经常遇到excel导入导出,easyExcel也是基于poi开发的,但是相对来说内存占用比较小,功能也更丰富,根据本人日常工作需要,抽取了excel导入导出的工具类,若有不足,请指出一起成长~ POM依赖<dependency><groupId>com.alibaba</groupId><artifac…...

    2024/4/22 15:50:10
  11. 御丽诗妃,Python安装第三方库太慢?

    今天在升级下载Python第三方库的时候特别慢,最后去升级pip的时候竟然还time out了,哇心态炸了。 问题想清楚了该怎么解决呢? 咱们可以用国内的镜像源啊,于是我在网上搜了一下国内的镜像源。哇还真不少呢。 阿里云:http://mirrors.aliyun.com/pypi/simple/ 清华:https://p…...

    2024/4/15 13:50:11
  12. GBASE智慧政务-信用信息共享交换系统解决方案

    项目介绍 本项目依托天津市电子政务外网和互联网,实现与国家、市级、区级各类社会征信系统和平台的互联互通,整合政务诚信、商务诚信、社会诚信和司法公信等领域信用信息,打造全市统一、覆盖全面的天津市信用信息共享交换中心。强化对信用主体的服务和监管,加强守信激励、联…...

    2024/4/15 13:50:10
  13. 【论文翻译】Nonlinear Dimensionality Reduction by Locally Linear Embedding

    【论文翻译】Nonlinear Dimensionality Reduction by Locally Linear Embedding 【论文题目】:Nonlinear Dimensionality Reduction by Locally Linear Embedding 【论文来源】:Nonlinear Dimensionality Reduction by Locally Linear Embedding 【翻译人】:BDML@CQUT实验室…...

    2024/4/22 13:03:58
  14. 【干货】提升个人能力的宝藏。适合大学生学习的网站

    想要成为一个优秀的人,应该不管在什么样的情况下都停止抱怨。其实,这中间只差一个选择。你本可以让自己有个脱胎换骨的蜕变,可能就在抱怨中,会让自己变得平庸。如何让自己变得优秀,就是选择正确的方向不断学习,不断进步,让自己的优点更加突出,或者让自己的缺点更少或更…...

    2024/4/23 13:57:49
  15. k8s基于kubeadm安装(1.15.0)

    k8s基于kubeadm安装 该文章基于mac系统 + vmware虚拟机(由于需要多台机且配置要求不低,所以决定省钱用虚拟环境) 1虚拟机安装(已经安装或不想看着内容直接目录跳到k8s安装) 1.首先下载centos的镜像,我这里选择的centos7版本 阿里云centos镜像下载地址 2.安装vmware,这个…...

    2024/4/25 7:27:56
  16. SpringBoot+Vue项目打jar包

    一、打包Vue项目(开发工具webStorm)vue搭建脚手架报错:rollbackFailedOptinal:verb npm-session建议使用外网,不要用公司内网添加依赖:npm install进行打包:npm run build之后会出现dist文件夹将dist下的文件放到idea中的static下添加静态资源访问的配置和依赖<!--导入…...

    2024/4/17 9:07:57
  17. 动手学深度学习:6.3 语言模型数据集(周杰伦专辑歌词)

    6.3 语言模型数据集(周杰伦专辑歌词)本节将介绍如何预处理一个语言模型数据集,并将其转换成字符级循环神经网络所需要的输入格式。为此,我们收集了周杰伦从第一张专辑《Jay》到第十张专辑《跨时代》中的歌词,并在后面几节里应用循环神经网络来训练一个语言模型。当模型训练…...

    2024/4/15 20:05:31
  18. 面试冲刺:48---Redis的集群模式是如何实现的呢?

    一、Redis集群Redis Cluster是Redis的分布式解决方案,在3.0版本正式推出,有效地解决了Redis分布式方面的需求当遇到单机内存、并发、流量等瓶颈时,可以采用Cluster架构方案达到负载均衡的目的二、槽分配Redis Cluser采用虚拟槽分区,所有的键根据哈希函数映射到0~16383整数槽…...

    2024/4/28 19:53:54
  19. 基于DLP4500的结构光3DScan应用手册

    基于DLP4500的结构光3D|Scan应用手册 本文以博众视觉的DLP4500光机作为演示,其他厂商的光机操作方法可能会有所不同,建议选择性的参考本教程。​ 主要介绍了DLP4500的GUI软件及固件,固件制作,固件上传,结构光图案的制作、合成,pattern sequence的设置等。并总结了使用者经…...

    2024/4/28 6:02:24
  20. Mvc+jquery EasyUI+三层 后台管理系统(二)

    搭建用户实体以及辅助类 1.建立用户实体类: /// <summary>/// 用户类/// </summary>public class UserEntity{/// <summary>/// 主键 Id/// </summary>public int ID { get; set; }/// <summary>/// 用户登录 UserId/// </summary>public…...

    2024/4/19 10:23:43

最新文章

  1. 如何学习 Unreal Engine

    学习Unreal Engine&#xff08;简称UE&#xff09;&#xff0c;尤其是最新的UE5&#xff0c;是一项复杂但值得的任务&#xff0c;因为它是游戏开发和实时3D内容创建的强大工具。以下是一些建议来帮助您开始学习Unreal Engine&#xff1a; 1. **了解基础知识**&#xff1a;在深…...

    2024/5/4 23:26:51
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. Docker实战教程 第1章 Linux快速入门

    2-1 Linux介绍 为什么要学Linux 三个不得不学习 课程需要&#xff1a;Docker开发最好在Linux环境下。 开发需要&#xff1a;作为一个后端程序员&#xff0c;是必须要掌握Linux的&#xff0c;这是找工作的基础门槛。 运维需要&#xff1a;在服务器端&#xff0c;主流的大型服…...

    2024/5/4 6:28:47
  4. 【浅谈面向过程和面向对象的区别】

    面向对象和面向过程是两种不同的编程范式&#xff0c;它们在处理问题和构建软件时有着显著的区别。 一、面向过程 1、基本概念 面向过程编程是一种早期的程序设计范型&#xff0c;它以事件为中心&#xff0c;主要关注“怎么做”&#xff0c;即完成任务的具体步骤。它将问题分…...

    2024/5/3 21:16:21
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/4 12:05:22
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/4 11:23:32
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/4 14:46:16
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/3 16:00:51
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/4 12:10:13
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/3 21:22:01
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/3 23:17:01
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/4 14:46:12
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/4 14:46:11
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/4 14:46:11
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/4 2:14:16
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/4 21:24:42
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/4 12:39:12
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/4 13:16:06
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/4 16:48:41
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/4 14:46:05
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/4 2:00:16
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/3 22:03:11
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/4 9:07:39
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/4 14:46:02
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57