Java 逻辑控制全面详解

网友投稿 257 2022-09-21


Java 逻辑控制全面详解

目录1 顺序结构2 分支结构2.1 if语句基本语法形式1:示例代码1:基本语法形式2:示例代码2:基本语法形式3:示例代码3:注意事项1:注意事项2:2.2 switch语句基本语法格式示例代码:3 循环结构3.1while循环基本语法格式:示例代码:输出1~103.2 break语句3.3 continue语句3.4 for循环基本语法格式:for循环执行的顺序是:示例代码:3.5 do while 循环基本语法格式:do whiie 循环的执行顺序示例代码1:示例代码2:4 逻辑控制综合案例4.1 输出1000~1200之间所有的闰年4.2 计算1~100之间9出现的次数

1 顺序结构

顺序结构比较简单,就是代码一行一行的执行,本节之前写的所有代码都是顺序结构。

例如:

public static void main(String[] args) {

int a=10;

System.out.println(a);

System.out.println("hhhh");

double f=10.732;

System.out.println(f);

2 分支结构

2.1 if语句

基本语法形式1:

if(布尔表达式){

//条件满足时的要执行的语句

}

示例代码1:

public static void main(String[] args) {

int a=10;

int b=20;

if(a

System.out.println(a);//a是10 b是20 a

}

if(a>b){

System.LBEmEWout.println(b);//a是10 b是20 a>b条件不成立不执行该语句

}

基本语法形式2:

if(布尔表达式){

//条件成立是执行的语句

}

else{

//条件不成立时执行的语句

}

示例代码2:

public static void main(String[] args) {

int a=10;

int b=20;

if(a>b){

System.out.println(a);//a是10 b是20 a>b条件不成立不执行该语句

}

else{

System.out.println(b);//a是10 b是20 a>b条件成立执行该语句

}

}

基本语法形式3:

if(布尔表达式1){

//表达式1为true,执行的代码

}

else if(布尔表达式2){

//表达式2为true,执行的代码

}

else{

//表达式1和表达式2都为falses,执行的代码

}

示例代码3:

public static void main(String[] args) {

int a=10;

int b=10;

if(a>b){

System.out.println(a);//表达式1不成立,该语句不执行

}

else if(b>a){

System.out.println(b);//表达式2不成立。该语句不执行

}

else{

System.out.print("a=b=");//表达式1和表达式2都不成立,该语句执行

System.out.println(a);//注意:表达式成立时执行的语句可以是多条

}

}

注意事项1:

if语句可以嵌套使用,当if(布尔表达式)中的表达式成立时,就会执行对应的语句块 ,在这个对应的语句块中也可以使用if语句

例如:找出三个数中最大的数

public static void main(String[] args) {

int a=50;

int b=70;

int c=20;

System.out.print("最大的数是");

if(a>b){

//a>b不成立,所以不执行改语句块

if(c>a){

System.out.println(c);

}

elshttp://e{

System.out.println(a);

}

}

else{

//a>b不成立,所以执行该语句块

if(c>b){

System.out.println(c)LBEmEW;//c>b不成立,不执行该语句

}

else{

System.out.println(b);//c>b不成立,所以执行改语句

}

}

}

注意事项2:

if语句中的布尔表达式成立时,会执行if所对应的语句块。如果不加“{}”时,就会执行紧随其后的一条语句

例如:

public static void main(String[] args) {

int a=10;

int b=20;

if(a>b)

System.out.println(a);//此时if条件不成立,所以不会执行这条语句

System.out.println(b);//虽然if条件不成立,但是这条语句已经超出了if

//语句块,所以这条语句还会执行

}

2.2 switch语句

基本语法格式

switch ( 整数 | 枚举 | 字符 | 字符串 ){

case 内容 1 : {

内容满足时执行语句 ;

[ break ;]

}

case 内容 2 : {

内容满足时执行语句 ;

[ break ;]

}

...

default :{

内容都不满足时执行语句 ;

[ break ;]

}

示例代码:

public static void main(String[] args) {

int day=5;

switch (day){

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("星期天");

break;

default:

System.out.println("输入错误");

break;

}

}

根据 switch 中值的不同 , 会执行对应的 case 语句 . 遇到 break 就会结束该 case 语句 . 如果 switch 中的值没有匹配的 case, 就会执行 default 中的语句 . 我们建议一个 switch 语句最好都要带上 default.

3 循环结构

3.1while循环

基本语法格式:

while(布尔表达式){

//要执行的语句块;

}

当布尔表达式为true,循环执行要执行的语句块,否则结束循环。

示例代码:输出1~10

public static void main(String[] args) {

int i=1;

while(i<=10){

System.out.println(i);

i++;

}

}

注意事项:

1. 和 if 类似, while 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句. 建议还是加上 { }

2. 和 if 类似, while 后面的 { 建议和 while 写在同一行.

3. 和 if 类似, while 后面不要多写 分号, 否则可能导致循环不能正确执行。

3.2 break语句

break 的功能是让循环提前结束 .

例如:找出1~10中第一个3的倍数

public static void main(String[] args) {

int i=1;

while(i<=10){

if(i%3==0){

System.out.println(i);

break;//遇到break语句,循环结束

}

i++;

}

}

3.3 continue语句

continue 的功能是跳过这次循环 , 立即进入下次循环 .

例如:找出1~10之间所有的偶数

public static void main(String[] args) {

int i=1;

while(i<=10){

if(i%2!=0){

i++;

continue;//遇到continue语句,会直接进入下一次循环,不会执行后面的语句

}

System.out.println(i);

i++;

}

}

3.4 for循环

基本语法格式:

for(表达式1;布尔表达式2;表达式3){

//循执行的语句块

}

for循环执行的顺序是:

首次循环:首先执行表达式1,再执行布尔表达式2,然后执行循环体;最后执行表达式3。

其余循环: 首先执行布尔表达式2,然后执行循环体,最后执行表达式3。

结束循环: 布尔表达式的值为false.

示例代码:

输出1~10之间的所有数

public static void main(String[] args) {

for (int i =1; i <=10 ; i++) {

System.out.println(i);

}

}

注意事项:

1:break和continue对for循环同样适用。

2:和 if 类似 , for 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句 . 建议还是加上 { }

3: 和 if 类似 , for 后面的 { 建议和 while 写在同一行 .

4:和 if 类似 , for 后面不要多写 分号 , 否则可能导致循环不能正确执行

3.5 do while 循环

基本语法格式:

do{

//循环执行的语句

}while(布尔表达式);

do whiie 循环的执行顺序

首先执行循环语句,然后再判断布尔表达式是后为true.

因此,无论布尔表达式的值是否是true,第一次循环都会执行。

示例代码1:

打印1~10

public static void main(String[] args) {

int i=1;

do{

System.out.println(i);

i++;

}while (i<=10);

}

示例代码2:

演示布尔表达式不成立,循环语句执行一次

public static void main(String[] args) {

int i=0;

do{

System.out.println(i);

}while (i>0);//i=0 i>0表达式的值为false

}

4 逻辑控制综合案例

4.1 输出1000~1200之间所有的闰年

public static void main2(String[] args) {

for (int i = 1000; i <=1200 ; i++) {

if(i%100!=0&&i%4==0||i*400==0)

{

System.out.println(i);

}

}

}

4.2 计算1~100之间9出现的次数

public static void main(String[] args) {

int i=1;

int num=0;

while(i<=100){

int j=i;

/*

求出一个数各个位上的数字

循环执行以下操作

第一步:用这个数取余10的到个数

第二步:这个数除等10

第三步:判断这个数是不是0

*/

while (j>0){

if(j%10==9) {

num++;

}

j=j/10;

}

i++;

}

System.out.println(num);//9 19 29 39 49 59 69 79 89 中各出现一次9

//90 91 92 93 94 95 96 97 98中各出现一次9

//99中出现两次9 总共20个9

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:api接口设计怎么做?优秀的API接口设计及相关接口管理、在线文档生成工具
下一篇:路由交换学习笔记(二十一)SNMP(路由与交换技术笔记)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~