当前位置: 首页 > news >正文

台州黄岩住房和城乡建设网站wordpress 外链图片自动

台州黄岩住房和城乡建设网站,wordpress 外链图片自动,网站专题页策划,东莞企业网站建立报价java ——程序流程控制 ✍作者#xff1a;电子科大不知名程序员 #x1f332;专栏#xff1a;java学习指导 各位读者如果觉得博主写的不错#xff0c;请诸位多多支持#xff1b;如果有错误的地方#xff0c;欢迎在评论区指出 目录java ——程序流程控制分支结构if-elsesw…java ——程序流程控制 ✍作者电子科大不知名程序员 专栏java学习指导 各位读者如果觉得博主写的不错请诸位多多支持如果有错误的地方欢迎在评论区指出 目录java ——程序流程控制分支结构if-elseswitch-casescanner循环for 循环while 循环do-while 循环嵌套循环break和continuebreak和continue三种基本流程结构顺序结构、分支结构、循环结构 分支结构 if-else 三种结构 if(条件表达式){执行代码块; }//二选一 if(条件表达式){执行代码块1; } else{执行代码块2; }//多选一 if(条件表达式1){执行代码块1; }else if(条件表达式2){执行代码块2;} ......else{执行代码块n;}switch-case 1.格式 switch(表达式){ case 常量1语句1;//break; case 常量2语句2;//break; ...... case 常量N语句N; break; default语句;//break; }//break的意思是不一定要用break public class SwitchCaseTest {public static void main(String[] args) {int number2;switch(number) {case 0:System.out.println(zero);case 1:System.out.println(one);case 2:System.out.println(two);case 3:System.out.println(three);default:System.out.println(other);}} }运行结果如下 【说明】 1.根据switch表达式中的值一次匹配各个case中的常量一旦匹配成功进入相应case结构中调用其执行语句当调用完执行语句后则仍然继续向下执行其它case结构中的执行语句直到遇到break关键字或者switch-case末尾结束为止 2.要想像if-else那样的多选一需要在每一个case后加break break可以使用在switch-case结构中表示一旦执行到此关键字就跳出switch-case结构 3.switch结构中的表达式只能是如下的6种数据类型之一byte、short、char、int、枚举类型、String类型 boolean isRightture; switch(isRight){ //wrong...... }4.case后放的是常量不能作范围判断相当于判断 5.break关键字在switch结构中是可选的绝大多数情况要加 6.default相当于if-else结构中的else中类型当前面情况case都不满足时执行 ​ default也是可选的且位置是灵活的用不到 实例1 import java.util.Scanner; public class SwitchCase3 {//对于学生成绩大于60分的输出“合格”。低于60分的输出不合格public static void main(String[] args) {Scanner scannew Scanner(System.in);int score_1scan.nextInt();int score_2score_1/10;switch(score_2) {case 1:case 2:case 3:case 4:case 5:System.out.println(Failed);break;case 6:case 7:case 8:case 9:case 10:System.out.println(pass);break;}} }优化switchscore_1/60)——这样就分成了及格和不及格的两种情况了 实例2: package my_first_java_code;import java.util.Scanner; public class SwitchCase4 {public static void main(String [] args){//编写程序从键盘上输入2022年的月份和日期通过程序求得这是2022的第几天Scanner scannew Scanner(System.in);System.out.println(Please enter a month:);int monthscan.nextInt();System.out.println(Please enter a day:);int dayscan.nextInt();//定义一个变量来保存总天数int sumDays0;/*方法1过于的冗余* switch(month) {case 1:sumDaysday;case 2:sumDays31day;case 3:...}*///方法2:我们不妨思考因为我们到下个月的时候正好要将前面所有月的天数相加因此不妨将前几个月的天数写在下面那么没有break的情况下就会自动执行switch(month) {case 12:sumDays30;case 11:sumDays31;case 10:sumDays30;case 9:sumDays31;case 8:sumDays31;case 7:sumDays30;case 6:sumDays31;case 5:sumDays30;case 4:sumDays31;case 3:sumDays28;case 2:sumDays31;case 1:sumDaysday;}System.out.println(2022年的第month月第day日是第sumDays天);//注意用连接符连接} }通过实例2我们再次强调break是可选的马根据实际要求来 实例3不仅仅考虑2022年我们加入对年的思考——需要判断是否是闰年 import java.util.Scanner; public class SwitchCaseTest5 {public static void main(String[] args) {Scanner scannew Scanner(System.in);System.out.println(Please enter a year:);int yearscan.nextInt();System.out.println(Please enter a month:);int monthscan.nextInt();System.out.println(Please enter a day:);int dayscan.nextInt();//定义一个变量来保存总天数int sumDays0;switch(month) {case 12:sumDays30;case 11:sumDays31;case 10:sumDays30;case 9:sumDays31;case 8:sumDays31;case 7:sumDays30;case 6:sumDays31;case 5:sumDays30;case 4:sumDays31;case 3://根据是否是闰年来决定//sumDays28;if(year%40year%100!0||year/4000) {sumDays29; //是闰年}else {sumDays28; //不是闰年}case 2:sumDays31;case 1:sumDaysday;}System.out.println(year年的第month月第day日是第sumDays天);} }scanner 如何从键盘获取不同类型的变量需要使用scanner类 具体实现步骤 1.导包import java.util.Scanner; 2.Scanner的实例化Scanner scannew Scanner(System.in); 3.调用Scanner类的相关方法next()/nextXxx()来获取指定类型的变量 ​ 对于String类字符串型采用next()其它的采用/nextXxx()注意首字母大写 import java.util.Scanner; public class ScannerTest {public static void main(String[] args) {Scanner scannew Scanner(System.in);int numscan.nextInt(); //int型System.out.println(num);} }import java.util.Scanner; public class ScannnerTest02 {public static void main(String[] args) {Scanner scannew Scanner(System.in);System.out.println(Please enter your name);String namescan.next();System.out.println(name);System.out.println(Please enter your age);int agescan.nextInt();System.out.println(age);System.out.println(Please enter your weight);double weightscan.nextDouble();System.out.println(weight);System.out.println(Whether you join us (true/false));boolean isjoinscan.nextBoolean();System.out.println(isjoin);} }注意我们需要根据相应的方法来输入指定类型的值。如果输入的数据类型与要求的类型不匹配时会报异常InputMisMatchExce导致程序终止 循环 循环的四个组成部分 1.初始化部分------2.循环条件部分(boolean类型-------3.循环体部分------4.迭代部分 for 循环 for(1初始化部分;2循环条件部分;4迭代部分){3循环体部分; }实例输入两个数正整数m和n求其最大公约数和最小公倍数 最大公约数首先要确定范围1-两数间的较小数若要满足最大那么从两数间的较小数开始循环找到第一个满足条件的数即可(然后退出循环break) 最小公倍数范围两数中的较大数-两数的乘积后续同理 package my_first_java_code; import java.util.Scanner; public class ForTest {public static void main(String[] args) {Scanner scannew Scanner(System.in);System.out.println(请输入第一个正整数);int first_numscan.nextInt();System.out.println(请输入第二个正整数);int second_numscan.nextInt();//求最大公约数//先求出两数的较小数——三目运算符int min(first_numsecond_num)?first_num:second_num;for(int imin;i1;i--) {if(first_num%i0second_num%i0) {System.out.println(最大公约数为i);break;}}int max(first_numsecond_num)?first_num:second_num;for(int jmax;jfirst_num*second_num;j) {if(j%first_num0j%second_num0) {System.out.println(最小公倍数为j);break;}}} }while 循环 1初始化条件 while(2循环条件){3循环体;4迭代条件; }do-while 循环 1初始化条件 do{3循环体;4迭代条件; }while(2循环条件)说明 1.do-while循环至少会执行一次循环体 2.当循环会执行多次时do-while循环和while循环没有区别 实例从键盘读入个数不确定的整数并判断读入数的个数输入0时为结束条件 import java.util.Scanner; public class CirculateEG {public static void main(String[] args) {Scanner scannew Scanner(System.in);int count0;while(true) {int import_numscan.nextInt();if(import_num!0) {count;System.out.println(输入的个数为count);}elsebreak;}} }对于该类无法确定循环次数的问题whiletrue/for( ; ; ),然后再用break来控制 【总结】结束循环的方式循环条件返回false循环体中执行break 嵌套循环 外层控制行数内层控制列数 常见模型 /* * ** *** **** ***** */ 规律ij(行列) for(int i1;i5;i){for(int j1;ji;j){System.out.print(*);}System.out.println(); //换行 }/* ***** **** *** ** * */ 规律ij5(行列) for(int i1;i5;i){for(int j1;j5-i;j){System.out.print(*);}System.out.println(); //换行 }实例1九九乘法表 public class Nine_nine_multiplication_table {public static void main(String[] args){for(int i1;i9;i) {for(int j1;ji;j) {System.out.print(i*ji*j );}System.out.println();}} }实例2输出质数 1 public class Output_prime_numbers {public static void main(String[] args){for(int i2;i100;i) {boolean isFlagtrue;for(int j2;ji;j) { //判断i是否是质数if(i%j0) {isFlagfalse;}}if(isFlagtrue) {System.out.println(i);}}} }这里使用到一个标志是否除尽需要特别注意的是每次在判断完后需要重置isflag的值 2.优化 判断质数时若已经被整除了那么就不用再循环下去了break对非质数有效 为了判断优化是否有效我们通过记录运行时间来直观的看是否优化单位毫秒 public class Output_prime_number_optimized_V1 {public static void main(String[] args){//获取当前时间距离1970-01-01 000000的时间差long start_timeSystem.currentTimeMillis();for(int i2;i100000;i) {boolean isFlagtrue;for(int j2;ji;j) { //判断i是否是质数if(i%j0) {isFlagfalse;break;}}if(isFlagtrue) {System.out.println(i);}}//获取当前时间距离1970-01-01 000000的时间差long end_timeSystem.currentTimeMillis();System.out.println(该程序运行时间为(end_time-start_time));} }优化前程序运行时间与优化后程序运行时间如下 很明显时间相差10倍 这里使用到了 long start_timeSystem.currentTimeMillis();System.currentTimeMillis();的返回值为整型 3.再优化 方法数学上有个规律对于一个小于n的整数x若n不能整除x则n必定不能整数n/x那么带来一个明显的优化就是循环控制语句从2到根号n即可。 修改为 for(int j2;jMath.sqrt(i);j)这里对i求根号用到了数学方法 Math.sqrt(); //括号内放开根数再次优化后程序运行时间如下 break和continue 1.breakswitch-case/循环结构中 作用结束当前循环 2.continue循环结构中 作用结束当次循环 相同点在break和continue之后是不能声明执行语句 3.对于嵌套循环内break默认跳出包裹此关键字最近的一层循环 ​ ------若要结束某一特定的for循环使用标签continue同理 label:for( ; ;){for( ; ;){break label; //结束指定标识的一层循环结构} }实例输出质数的另一种写法 label:for(int i2;i100;i) {for(int j2;jMath.sqrt(i);j) { //判断i是否是质数if(i%j0) { //如果出现了整除continue label;}}//能执行到此步骤的都是质数System.out.println(i); }7591011354)] break和continue 1.breakswitch-case/循环结构中 作用结束当前循环 2.continue循环结构中 作用结束当次循环 相同点在break和continue之后是不能声明执行语句 3.对于嵌套循环内break默认跳出包裹此关键字最近的一层循环 ​ ------若要结束某一特定的for循环使用标签continue同理 label:for( ; ;){for( ; ;){break label; //结束指定标识的一层循环结构} }实例输出质数的另一种写法 label:for(int i2;i100;i) {for(int j2;jMath.sqrt(i);j) { //判断i是否是质数if(i%j0) { //如果出现了整除continue label;}}//能执行到此步骤的都是质数System.out.println(i); }
http://www.hyszgw.com/news/103033.html

相关文章:

  • 英文网站怎么做WordPress多种类文件上传
  • php网站开发案例pdf如何建立网站后台程序
  • 专业手机网站制作公司软件工程师招聘简章pdf
  • 海报设计 网站如何了解和掌握一个网站的权重
  • 学校网站建设好么网络营销的渠道
  • 宿迁网站建设电话wordpress 客户端 出错
  • 网站搜索怎么做的网络营销服务策略
  • 图片分页网站模板四川建设人才信息网查询
  • 鲲鹏建设集团有限公司网站做的网站
  • wordpress 固定连接西安官网seo诊断
  • 网址自动生成手机网站宝塔wordpress伪静态
  • 公司的网站建设费进入什么科目大于二高端网站建设
  • 福州网站制如何在微信上投放广告
  • 怎么看网站是谁家做的广州网站建设 易点
  • 北京网站建设公司华网设计制作一个ppt的完整步骤
  • 怎么制作网站获取ip浦口区网站建设经验丰富
  • 网站素材图网站的二级菜单怎么做
  • 为什么不能自己做网站做网站要的带宽是什么
  • 为什么有网网站打不开怎么回事啊网站建设的活动方案
  • 互联网网站解决方案咖啡网站建设策划书
  • 品牌网站建设只询大蝌蚪买域名之后怎样做网站
  • 网站的描述哪个网站可以做名片
  • 视频教学网站开发宣传片拍摄内容
  • 企业网站首页效果图网站用cms
  • 无锡专业做网站建设制作网页软件有哪些
  • 购物网站的建设思维导图手机建网站公司
  • 做网站应该掌握的技术住房和城乡建设网站 上海
  • 网站培训班营销网站建设技术
  • 旅游平台网站建设方案网站开发好后要做什么
  • 文登城乡建设局网站凡客商城