顺序结构
if选择结构
简述:
- 我们很多时候需要取判断一个东西是否可行,然后我们才要去执行,这样一个过程在程序中用if语句来表示
基本结构:
if单选择结构
- 语法:
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
- 流程图:
if双选择结构
- 语法:
if(布尔表达式){
//语句1
//如果布尔表达式为true将执行的语句
}else{
//语句2
//如果布尔表达式为false将执行的语句
}
- 流程图:
if多选择结构
- 语法:
if(布尔表达式1){
//如果布尔表达式为true将执行的语句
}else if(){
//如果布尔表达式为true将执行的语句
}else if(){
//如果布尔表达式为true将执行的语句
}else {
//如果以上布尔表达式都不为true执行代码
}
- 流程图:
嵌套的if结构
- 语法
if(布尔表达式1){
//如果布尔表达式为true将执行的语句
if(布尔表达式2){
//如果布尔表达式为true将执行的语句
}
}
switch多选择结构
简述:
- switch case语句判断一个变量与一系列值中某一个值是否相等,每一个值称为一分支
switch语句中的变量类型可以是:
- byte、short、int、char
- 支持String类型(从JavaSE 7开始)
- 同时case标签必须为字符串常量或字面量
语法
switch(expression){
case value:
//语句
break;//可选 跳出当前语句块
case value:
//语句
break;//可选
//可以有任意数量的case语句
default://可选
//语句
}
代码演示:
//case 穿透
//switch 匹配一个具体的值
char grade = 'C';
switch (grade){
case 'A':
System.out.println("成绩为优秀");
break;
case 'B':
System.out.println("成绩为良好");
break;
case 'C':
System.out.println("成绩为一般");
break;
case 'D':
System.out.println("低空飞过");
break;
case 'E':
System.out.println("挂科炸裂");
break;
default:
System.out.println("成绩无效");
}
输出:
成绩为一般
注意:
- case后面要加break,否则会发生穿透事件(开始没有设置break的语句都将执行)
循环结构:
while循环
简述:
- 循环在每次循环开始前,首先判断条件是否成立。如果计算结果为
true
,就把循环体内的语句执行一遍,如果计算结果为false
,那就直接跳到while
循环的末尾,继续往下执行。
语法:
while(布尔表达式){
//循环内容
}
代码演示:
//计算1-100的总和
int sum = 0; //累加的和,初始化为0
int count = 1;
while (count<=100){ //循环条件是n<=100
sum+=count; //将count加入到sum中
count++; //count自增+1
}
System.out.println(sum);
输出:
5050
do while循环
简述:
- 总是保证循环体会被至少执行一次
语法:
do {
//代码语句
}while(布尔表达式)
代码演示:
//计算1-100的总和
int sum = 0; //累加的和,初始化为0
int count = 1;
do {
sum+=count; //将count加入到sum中
count++; //count自增+1
}while (count<=100);//循环条件是n<=100
System.out.println(sum);
输出:
5050
for循环
简述:
- for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构
语法:
for (初始条件; 循环检测条件; 循环后更新计数器) {
// 执行语句
}
注意说明:
- 在
for
循环执行前,会先执行初始化语句int i=1
,它定义了计数器变量i
并赋初始值为1
,然后,循环前先检查循环条件i<=100
,循环后自动执行i++
,因此,和while
循环相比,for
循环把更新计数器的代码统一放到了一起。在for
循环的循环体内部,不需要去更新变量i
。)
代码演示:
- 计算0到100之间的奇数和偶数和
//计算0到100之间的奇数和偶数和
int evenSum = 0;
int oddSum = 0;
for (int i = 1; i <= 100 ; i++) {
if (i%2==0){
evenSum+=i;
}else {
oddSum+=i;
}
}
System.out.println("偶数和:"+evenSum);
System.out.println("奇数和:"+oddSum);
输出:
偶数和:2550
奇数和:2500
- 用for循环输出1-1000之间能被5整除的数,并且每行输出3个
//用for循环输出1-1000之间能被5整除的数,并且每行输出3个
int count = 0;
for (int i = 1; i <= 1000; i++) {
if (i%5==0){
System.out.print(i+" ");
count++;
if (count==3){
System.out.println();
count=0;
}
}
}
输出:
5 10 15
20 25 30
35 40 45
50 55 60
65 70 75
......
- 打印九九乘法表
//打印九九乘法表
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j+"*"+i+"="+(i*j)+"\t");
}
System.out.println();
}
输出:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
- 打印三角形
//打印三角形
for (int i = 1; i <= 5; i++) {
for (int j = 5; j >= i ; j--) {
System.out.print(" ");
}
for (int j = 1; j <= i ; j++) {
System.out.print("*");
}
for (int j = 1; j < i ; j++) {
System.out.print("*");
}
System.out.println();
}
输出:
*
***
*****
*******
*********
增强for循环
简述:主要用于数组或集合的增强型for循环
语法:
for(声明语句:表达式)
{
//语句块
}
- 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配,其作用域在循环语句块,其值在此时数组元素的值相等
- 表达式:表达式是要访问的数组名,或者是返回值为数组的方法
代码演示:
int[] numbers = {10,20,30,40,50};
for (int number : numbers) {
System.out.println(number);
}
输出:
0
20
30
40
50
break和coutinue
简述:
- break:
- break在任何循环语句的主题部分,均可用break控制循环的流程
- break用于强制退出循环,不执行循环中剩下的语句
- continue:
- 用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定