java入门(流程控制语句)

java入门

流程控制语句

顺序结构 : 从上到下,从左到右
选择结构|分支结构 : 满足条件才能执行一些代码
循环结构 : 让一些代码可以重复执行多次

选择结构 :
if语句
switch语句

if语句

​ 单选泽|单分支
​ if(表达式){
​ 语句体;
​ }
​ 执行流程:
​ 1.计算表达式,得到一个boolean结果
​ 2.如果结果为true,执行{}中的语句体
​ 3.如果结果为false,就不执行直接跳过if结构
​ 双选择|双分支
​ if(表达式1){
​ 语句体1;
​ }else{
​ 语句体2;
​ }
​ 执行流程:
​ 1.计算表达式1,得到一个boolean结果
​ 2.如果结果为true,执行{}中的语句体1
​ 3.如果结果为false,执行{}中的语句体2
​ 多选择|多分支
​ if(表达式1){
​ 语句体1;
​ }else if(表达式2){
​ 语句体2;
​ }else if(表达式3){
​ 语句体3;
​ }…
​ else{
​ 如果以上的if条件都不满足就执行这个语句体n
​ }

注意:
使用多选择与多个单选择之间区别 : 1)语义化结构 2)执行判断次数 3)执行语句体次数
当{}中的语句体只有一句时候,前后的{}可以省略

switch语句

switch : 定值判断
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;

default: --> 接盘侠
语句体n;
break;
}

表达式 : 一般为一个 变量或者一个表达式
类型: byte,short,int,char,枚举(jdk5新增),String(jdk7)
case : 后面接一个定值,不能是区间,使用定值与表达式的结果进行判断,相等执行后面对应的语句体,不相等继续向下判断
break : 结束switch语句
防止case穿透问题
default : 默认的
如果以上的case后的值与表达式的结果都不相等时候,执行default后的代码
位置可变,可以在switch语句{}的任意位置

if语句和switch语句的区别

if与switch与条件运算符之间的区别:
条件运算符: 根据条件做判断 运算符 结构简单,受限制->判断条件单一,直接根据判断条件获取结果,肯定会得到一个结果
结构复杂使用if或者switch
if-> 定值判断,区间判断
switch->定值判断
能用switch的都能if,能用if不一定能用switch

	建议: 简单合适结构可以条件运算符,复杂的,定值

扩展:

如何存储一个boolean类型的变量flag,要求对flag的值进行判定->true false

代码展示

boolean flag = false;
		switch(flag+""){
			case "true":
				System.out.println("true");
				break;
			case "false":
				System.out.println("false");
				break;
		}
		//1)
		int i = flag ? 0 : 1;
		//2)
		if(flag){
			i = 0;
		}else{
			i = 1;
		}
		switch(i){
		case 0:
			System.out.println("true");
			break;
		case 1:
			System.out.println("false");
			break;
	}

循环结构

循环结构:
控制一些代码重复执行多次

for循环
while循环
do…while循环

for循环
for(条件初始化;条件判断;条件变化){
重复执行的语句;
}
条件初始化: 声明一个变量并且第一次赋值 i
条件判断 : 对变量i的值的判断->结果为boolean的值
条件变化 : 变量i自身值的改变

执行流程:
	1.条件初始化,得到一个变量i
	2.条件判断的结果->boolean
	3.true->执行{}中的代码->false结束循环
	4.条件变化
	重复执行第2,3,4步骤

注意:
循环结构中,如果{}中的语句体只有一句,前后的{}可以省略
循环体重可以使用循环的条件变量i,可以不使用
for循环是循环结构中最常用的循环结构

for循环代码展示与拓展

public class Class008_ForTest {
	public static void main(String[] args) {
		//求1-100的和,求1-100的偶数和,求1-100的奇数和
		//1)找到1~100之间的每个数
		//2)求和
		int sum = 0 ; //存储1~100之间整数和
		int sum1 = 0 ; //存储奇数和
		int sum2 = 0 ; //存储偶数和
		for(int i=1;i<=100;i++){
			System.out.println(i);
			sum+=i; //sum = sum+i;
		}
		System.out.println(sum);
	//偶数和
	for(int i=0;i<=100;i++){
		//偶数
		if(i%2==0){
			sum2+=i;
		}else{
			//奇数
			sum1+=i;
		}
	}
	
	sum2 = 0; //归零
	for(int i=0;i<=100;i+=2){
		sum2+=i;
	}
	
	System.out.println("奇数和 = "+sum1);
	System.out.println("偶数和 = "+sum2);
	
	//1-50当中能被4整除的数的和
	sum = 0;
	for(int i=1;i<=50;i++){
		if(i%4==0){
			sum+=i;
		}
	}
	
	System.out.println(sum);

	//求出 1-100当中既能被3整除又能被5整除还能被2整除的和, 
	sum = 0;
	for(int i=1;i<=100;i++){
		if(i%2==0 && i%5==0 && i%3==0){
			sum+=i;
		}
	}
	System.out.println(sum);
	
	//求出 1-100当中能被3整除或者能被5整除或者能被2整除的和
	sum = 0;
	for(int i=1;i<=100;i++){
		if(i%2==0 || i%5==0 || i%3==0){
			sum+=i;
		}
	}
	System.out.println(sum);
	
	//求5的阶乘  5! 5*4*3*2*1 
	int result = 1; //记录乘积
	for(int i=5;i>=1;i--){
		result*=i;
	}
	System.out.println(result);
	
	System.out.println("--------------------------------------------");
	
	//请找出[100,300]之间能被5整除的所有数,每行输出8个数
	int count = 0; //计数器
	for(int i =100;i<=300;i++){
		if(i%5==0){
			System.out.print(i+"\t");
			//计数器+1
			count++;
			//换行的条件  每行输出8个
			/*
			//1.
			if(count==8){
				System.out.println();  //换行
				count = 0; //计数器归零
			}
			*/
			//2.
			if(count%8==0){
				System.out.println();  //换行
			}
		}
	}
	//请找出[100,300]之间能被5整除的所有数,每行输出8个数,每两个数之间用逗号隔开
	System.out.println("--------------------------------------------");
	System.out.println("--------------------------------------------");
	System.out.println("--------------------------------------------");
	
	count = 0; //计数器
	for(int i =100;i<=300;i++){
		if(i%5==0){
			//即将要打印的数据是每行的第一个数据,第一个数据只打印数据值,不打印,
			if(count==0){
				System.out.print(i);
			}else{
				System.out.print(","+i);
			}
			//计数器+1
			count++;
			//换行的条件		
			if(count==8){
				System.out.println();  //换行
				count = 0; //计数器归零
			}
		}
	}
}
}

for循环与while循环的区别

for 次数循环,确定区间范围,确定变量变化的情况,进一步确定要循环的次数
for(条件初始化;条件判断;条件变化){
重复执行的语句体;
}

  • while 条件循环
    条件初始化;
    while(条件判断){
    重复执行的语句体;
    条件变化;
    }

    注意 : 循环之间都可以相互转换

while循环和do while循环的区别

条件初始化;
while(判断条件){
重复执行的语句;
条件变化;
}

条件初始化;
do{
重复执行的语句;
条件变化;
}while(判断条件);

do…while与while之间的区别就是:
do…while无论是否满足条件都至少执行一次
while满足条件执行不满足不执行

注意:
	在使用while或者do..while循环的时候,不要丢掉条件变化

break与continue在循环之间的作用

break与continue
break:
作用 : 终止 结束
应用场景 : switch语句 循环中
continue :
作用 : 跳过当前这一次循环,直接进入到下一次循环
应用场景 : 循环中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值