Java学习记录day2

分支语句

分支语句简单来说就是根据不同情况做出不同选择,执行不同的逻辑。

简单判断语句:

if(表达式(返回值是boolean类型)){
	执行语句1;
}
else{//如果不需要false的部分判断例如列出1~10中的素数,则可不加
	执行语句2;
}

首先判断if中的表达式的值,如果是true则执行执行语句1,如果是false则执行执行语句2。执行语句可以是任何合法代码。
用例:

//判断某一年是否为闰年
if(x % 100 == 0 && x % 400 == 0)
{
	System.out.println(x+"年为闰年\n");
}
else{
	if(x % 4 == 0)
	{
		System.out.println(x+"年为闰年\n");
	}
	else
	{
		System.out.println(x+"年为平年\n");
	}
}

分支嵌套

if(表达式1){
执行语句1;
}else if(表达式2){
执行语句2;
}else{//可有可无
执行语句3;
}
先判断表达式1,若为真则执行执行语句1,之后结束;若表达式1为假,则继续执行判断表达式2,若表达式2为真,则执行执行语句2,然后结束;若表达式2也为假,则执行执行语句3,然后结束。
用例:

//百分制,100~90为A,89~75为B,74~60为C,60以下为D
if(grade >= 90)
{
	System.out.println("A");
}
else if(grade <= 89 && grade >= 75)
{
	System.out.println("B");
}
else if(grade <= 74 && grade >= 60)
{
	System.out.println("C");
}
else
{
	System.out.println("D");
}

switch语句

switch(表达式) {
case 值1:语句块1;
break;
case 值n:语句块n;
break;
dafault:语句块n+1;//可选
break;
}
表达式的返回值为值1,则执行语句块1,然后“break”跳出;不是则检查值2,一直到break或者语句执行完为止。所有case中的值应该是不同的语句块可以是任何合法代码
case可以有n个,后跟的值必须是常量且是byte,char,short,int,String,enum(枚举类型)其中之一。break跳出switch语句,不再执行switch中后续的代,break也可以不写,那就会一直判断执行下去,直到case完。
用例:

//输入1~7,判断今天是周几
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 6: 
		System.out.println("今天是周日");
		break;
}

循环语句

循环语句分为:while,do while,for

while循环

while(条件表达式){
语句块;
}
如果条件表达式返回值为真,则执行语句块,执行完后重新判断条件表达式,以此循环,直到返回为假则循环退出。

//计算1~100所有整数和
int mun = 1,result = 0;
while(mun <= 100)
{
	resule += mun;
	mun++;
}

do while循环

do{
语句块;
}while(条件表达式);
先执行一次语句块,然后判断条件表达式,为真则继续循环,为假则退出。

//计算1~100所有整数和
int mun = 1,result = 0;
do{
	resule += mun;
	mun++;
}while(mun <= 100)

for循环

for(表达式1; 表达式2; 表达式3) {
循环体;
}
表达式1的作用一般是初始化参数,可以省略,也可以在外部(循环上边)声明;
表达式2的是循环条件,用来判断循环是否继续,与while中的条件表达式作用相同,可省略,但省略后会变成死循环;
表达式3的作用一般是更新循环变量,也可省略,写在循环体中,或者直接不写,变成死循环。
分号不能省!!!分号不能省!!!分号不能省!!!
关键字:continue,表示跳过本次循环,进行下一次循环。
执行过程:
①执行表达式1;
②执行表达式2,若返回值为真,则继续循环,若为假则跳出循环;
③若表达式2返回值为真,则执行循环体(循环体可以是任何合法代码);
④循环体执行结束,然后执行表达式3;
⑤表达式3执行结束,则回到②进行循环。
用例:

//打印出0~100中所有能被3整除,但不能被4整除的整数
for(int i = 0;i <= 100;i++)
{
	if(i % 3 == 0 && i % 4 != 0)
		{
			System.out.println(i+",");
		}
}

//也可以将i的初始化写在外面,将i++写在里面
int i = 0
for(;i <= 100;)
{
	if(i % 3 == 0 && i % 4 != 0)
		{
			System.out.println(i+",");
		}
		i++;//根据所需要的情况写在相应位置,例如在这里如果写在if前面,就会少计算一个0
}

备注:如果需要死循环,使用while(true){}是最方便的。
可以试着打印出正反三角和乘法口诀来练习循环语句。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值