选择语句
if语句
if语句有四种使用形式:
-
if(条件)
{
//代码块
} -
if ( 条件 )
{
//代码块1
} else
{
//代码块2
}
多重if语句
-
if ( 条件1)
{
//代码块1
}
else if (条件2)
{
//代码块2
}
…
else
{
//代码块3
}
嵌套if语句
-
if(条件1)
{ if(条件2)
{
//代码块1
} else
{
//代码块2
}
} else
{
//代码块3
}
switch语句
1. switch语法规则
表达式expr的值必须是下述几种类型之一:
byte、short、int、char、enum(枚举);java7之后可以是String。
case子句中的值const 必须是常量值(或final的变量),case中的值不能是一个范围
所有case子句中的值应是不同的,否则会编译出错
default子句是可选的(不是必须的)
break语句用来在执行完一个case分支后使程序跳出switch语句块;否则会继续执行下去
语法格式
switch(表达式expr){
case const1:
statement1;
break;
case const2:
statement2;
break;
… …
case constN:
statementN;
break;
default:
statement_dafault;
break;
}
break 帮助跳出switch 语句的, 如果执行过程中 没有遇到break 继续向下执行直到遇到break为止
特殊用法 :case穿透
case穿透: 产生这种现象的原因:由于某个case语句中缺少或者漏写break语句所导致的结果.
// 需求: 打印输出指定的月份的天数
Scanner sc = new Scanner(System.in);
int month = sc.nextInt();
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("31天");
break;
case 2:
System.out.println("28天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("30天");
break;
}
System.out.println("Hello World!");
}
循环语句
1. while循环语句
#include <stdio.h>
int main()
{
int i;
i=1; //程序循环前的初始值
while(i<=10) //控制条件
{
printf("%d.生日快乐!\n",i);
i=i+1;
}
}
while循环属于当型循环,也就是先判断表达式的值是否为真的(也可以理解为条件是否成立),若为真则循环,否则退出循环。
2. do—while循环语句
/*判断qq密码*/
#include "stdio.h"
int main()//登录
{
//定义变量并初始化
int password;
do
{
printf("请输入qq登录密码:");
scanf("%d",&password);
}while(password!=123456); //条件表达式
printf("登录成功");
}
/*登录*/
#include "stdio.h"
#include "stdlib.h"
void main()//登录
{
//定义变量并初始化
int password;
while(1)
{
printf("请输入qq登录密码:");
scanf("%d",&password);
if(password==123456)
{
printf("登录成功");
break;
}
}
}
3.for循环语句
for语句的一般格式
(1)
for(表达式1;表达式2;表达式3)
语句;
(2)
for(表达式1;表达式2;表达式3)
{
语句块;
}
for语句的注意事项
(1)各表达式之间分号不能省略
(2)表达式1与表达式2与表达式3均可省略,一般是不省略的。
①当表达式1省略时,相当于省去了为循环变量赋初值,此时应在for语句之前给循环变量赋初值
②当表达式2省略时,表示不判断循环条件,也就是认为表达式2始终为真, 这时应在循环体内设法结束循环,否则将成为死循环
③当表达式3省略时,即省去修改循环变量的值,但此时应在循环体内设法结束循环