分支结构和循环

一、if 分支

1.基本结构:

1.
if(判断条件/布尔表达式){
   //语句

}

eg:if(i > 3){
	   System.out.println("正确");
			}
执行原理:若判断条件成立,结果为true,执行{}中的语句,若为false,则不执行。

2.if(i>3){
     System.out.println("您输入的数字大于3");
}else{
     System.out.println("您输入的数字小于3");
}

2.多重if结构

(1) 语法:
if(判断条件/布尔表达式){
    	// 语句1
    }else if(判断条件/布尔表达式){
    	// 语句2
    }else if(判断条件/布尔表达式){
    	// 语句3
    }else{
    	// 语句4
    }
(2) 执行流程:从上以此判断条件,哪一个条件成立,则执行对应{}中的语句,否则执行else中内容

3.if的嵌套结构

(1) 语法:
    if(判断条件/布尔表达式){
    	if(判断条件/布尔表达式){
    		// 语句
    	}else if(判断条件/布尔表达式){
    		
    	}else{}
    }else{
    
    }
(2) 执行流程:先判断外层 if条件,条件成立,再判断内层if条件
二、等值分支结构(switch..case)
switch(表达式){
	case 值1: 语句1; break;
	case 值2: 语句2; break;
	case 值3: 语句3; break;
	....
	default:语句n;break;
}



注意:(1) switch()中表达式的结果类型必须是byte、short、int、char、String(jdk7.0及以上支持)
(2) break:终止switch..case结构,防止case穿透
(3) default没有位置要求,可以定义在所有case的上面,匹配时是先匹配case,没有成功的,再执行default
三、局部变量

1.概念:定义在函数或方法内部的变量

2.特点:

(1) 必须先赋值,再使用
    否则报的错误为:可能尚未初始化变量
(2) 作用范围:从定义位置开始,到定义它的代码块结束
    否则报的错误为: 找不到符号
(3) 在重合的作用范围内,不允许命名冲突
    否则报的错误为: 已在方法 main(String[])中定义了变量

四、循环

分类:while、do...while,for循环

1.while
while

1.语法:
// 循环变量的初始化;

while(循环条件){
	// 循环体(重复执行的代码)
	
	// 循环变量的改变(统计)
}

2.原理:
执行 循环变量的初始化,先判断循环条件是否成立,结果是否为-true,成立-true,则执行 {}中循环体,然后循环变量进行改变,再次判断循环条件,成立-true;继续执行{}中循环体,然后循环变量发生改变,直到循环条件结果为false,终止整个循环结构。

3.注意:
(1) while循环的特点:先判断,再执行,执行次数为::0~n次
(2) 如果循环初始数据给的不合理,则循环有可能一次都不执行
    int n = 5;
    while(n<=3){   // 一次都不执行
    	...
    	n++; 
    }
(3) 如果循环条件给不理、循环变量没有发生改变,则有可能导致程序出现死循环(循环一直执行下去);利用 ctrl+c终止掉
2.do...while
语法:

// 循环变量的初始化
do{
	// 循环体 
	// 循环变量的改变
}while(循环条件);   // 分号不能省

注意:

(1) do..while循环的特点:先执行,再判断;执行次数为:1~n次
(2) do..while循环第一次执行不受循环条件限制的
3.for循环
1.语法:

for(循环变量的初始化;循环条件;循环变量的改变){
	// 循环体
}

2.注意:

(1) for的循环执行特点:先判断,再执行,执行的次数为 0~n次
(2) 如果循环的初始化或是循环条件给的不合理,则有可能循环一次都不执行
    for(int i=3; i<=2;i++){}
(3) 循环变量的初始化可以定义在for循环的上面,定义在for循环上面,则循环变量的作用范围扩大,循环结束后,循环变量继续有效的;
    如果将循环变量定义在for()中,作用范围仅在循环内部有效,循环结束,循环变量失效,提高空间利用率
    int i = 3;
    for( ;i<=5;i++){}
    
    for(int i=3;i<=5;i++){}  --->建议
(4) 当循环判断条件为空语句时,则默认为 true,程序不加其他控制,则进入死循环
    for(int i=1; ; i++){}
(5) 循环变量的改变语句可以定义循环{}中,但是 不要重复,可能出现逻辑错误
    for(int i=1;i<=10; ){
    	//..
    	i++; 
    }
4.循环控制语句
  1. break:终止、结束循环结构;还可以应用在 switch..case中,防止case穿透

  2. continue:中断、结束本次循环,从而进入下一次循环。

5.循环的嵌套
  1. 理解:在一个循环结构中再定义一个循环结构

    // 外层循环
    for(int i=1;i<=3;i++){
    	// 内层循环
    	for(int j=1;j<=3;j++){}
    }
    
  2. 循环次数:外层循环的循环次数*内层循环的循环次数

  3. 利用循环打印图形时,通常利用外层循环控制行,内存循环控制列

    Scanner sc = new Scanner(System.in);
            System.out.println("输入一个行数:");
            int n = sc.nextInt();
            // 外层循环控制行
            for(int i=1;i<=n;i++){
                // 内层循环控制列:内存的列数受 所在 行
                for(int j=1;j<=i;j++){
                    System.out.print("* ");
                }
                System.out.println(); // 换行
            }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值