java入门教程day03-流程控制结构

17 篇文章 0 订阅
17 篇文章 0 订阅

一、流程控制结构

1.顺序结构

绝大部分代码都是按照从上往下,从左往右依次执行

2.选择结构

2.1 if语句
if语句的格式1:
if(表达式){
语句体;}
执行流程:
先去计算if语句的表达式的值,如果值是true,就执行语句体,执行完语句体if语句整体结束。
如果值是false,就跳过if语句不执行。

if语句格式2:
if(表达式){
语句体1;
}else{
语句体2;}
执行流程:
计算出表达式的值,如果是true就执行语句体1,if语句结束。
如果值是false就执行语句体2,if语句结束。

if语句格式2和三目的关系:
只有if语句有返回值时才和三目运算符等效

if语句格式3:
if(表达式1){
语句体1;
}else if(表达式2){
语句体2;
}else if(表达式3){
语句体3;
}

else{
语句体n+1;}

执行流程:
计算表达式1的值,如果是true就执行语句体1,if语句结束
如果是false就计算表达式2,如果值为true就执行语句体2,if语句结束。
如果是false就计算表达式3,如果值是true就执行语句体3,if语句结束。
如果所有的表达式都是false就执行语句体n+1,if1语句结束。

2.2 switch语句
switch语句
格式
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;

default:
语句体n+1;
break;
}
执行流程:
先去计算表达式的值,拿这个值和所有的case值进行比较,如果有相等的case值就会执行对应的语句体接着执行break,switch语句结束。如果所有的case值比较都不相等就执行语句体n+1接着执行break,switch语句结束

注意:
1.switch语句的表达式支持byte、short、int、char,从jdk1.5开始支持枚举类型,从jdk1.7开始支持String类型
2.case值是常量且不能重复
3.java支省略break,出现case穿透效果(月份返回季节?)
4.java支持省略default(选择题)
5.结束的标志:1.遇见break结束、2.执行到代码最后一行

3.循环结构

for循环、while循环、dowhile循环

3.1 for循环
/*

for循环
格式
for(初始值;判断条件;控制条件){
循环体;
}
执行流程:
先去计算初始值,拿着初始值和判断条件进行比较,如果是true,接着执行循环体,拿着初始值执行控制条件改变初始值,拿着改变之后的初始值和判断条件进行比较,如果还是true重复上述操作。知道比较的值为false,for循环结束了

3.2 while循环
while循环格式
初始值
while(判断条件){
循环体;
控制条件;
}
执行流程:
先去计算初始值,拿着初始值和判断条件进行比较,如果是true,接着执行循环体,拿着初始值执行控制条件改变初始值,拿着改变之后的初始值和判断条件进行比较,如果还是true重复上述操作。知道比较的值为false,while循环结束了

3.3 dowhile循环

dowhile循环格式
初始值;
do{
循环体;
控制条件;
}while(判断条件);

执行流程:
计算初始值,执行循环体,执行控制条件,拿着改变之后的初始值和判断条件进行比较如果是true接着执行循环体,执行控制条件,再拿改变之后的初始值和判断条件进行比较如果是true重复上述操作直到比较结果为false时循环结束
第一个:for循环 第二个:while循环 第三个: dowhile
在这里插入图片描述

3.4 三种循环的区别和联系
a.优先选择for循环,其次是while循环
b.dowhile循环最少执行一次
c.死循环
d.for循环的初始值在for执行完毕之后不能使用
e.三种循环可以等效转换

二、练习

1.for循环表白程序


```java
/**
 *写来哄老婆开心的
 * 总共分为4部分
 * 第一部分为心得前三行
 * 第二部分为心得中间三行
 * 第三部分为第7-倒数第二行
 * 最后一部分为最后一行
 * @author XuTianYi
 *
 */
public class Love {
	public static void main(String[] args) {
		for(int i = 0,j=0;i <=13 ;i++){
			if(i<3){
				for(j=0;j<5-2*i;j++){
					System.out.print(" ");
					}
				if(i<2){
					for(j=0;j<6+i*4;j++){
						System.out.print('*');
					}
					for(j=0;j<7-i*4;j++){
						System.out.print(' ');
					}
					for(j=0;j<6+i*4;j++){
						System.out.print('*');
					}
				}else{
					for(j=0;j<13;j++){
						System.out.print('*');
					}
					System.out.print(' ');
					for(j=0;j<13;j++){
						System.out.print('*');
					}
				}
			}//上部分 前三行
			if(i==3||i==4||i==5){
				for(int c=0;c<29;c++){
					System.out.print('*');
				}
			}//中间三行
			else if(i>5&&i<=12){
				for(j=0;j<1+2*(i-6);j++){
					System.out.print(' ');
				}
				for(j=0;j<27-4*(i-6);j++){
					System.out.print('*');
				}//7-13行
			}
			if(i==13){
				for(j=0;j<14;j++){
					System.out.print(' ');
				}
				System.out.print('*');
			}
		System.out.println();//最终换行
		}
	}
}

输出的结果是心形,小伙伴们自行尝试 ,去和心爱的女生表白吧!这 或许就是程序员的浪漫吧~

2.打印99乘法表

这个小伙伴们自行尝试,当做课后作业,代码就不公布了。要多学多练多操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值