选择语句
---
if-else语句:
if(条件1){
语句a //如果条件1为true,则执行a
}else if(条件2){
语句b //如果条件1为false,条件2为true,则执行b
}else{
语句c //如果条件1为false且条件2为false,则执行c
}
switch -case语句:
//jdk1.8之前表达式只能是整数(int,byte,char,short)表达式,switch不能处理long和其他类型。
//条件只能是整数(int,byte,char,short),不能是变量及表达式。
//语句可以为空
//如果每一个case不跳出的话,则会出现"穿透"一直执行截下来的代码
switch(表达式){
case 条件1:
语句a;
break;
case 条件2:
语句b;
break;
defalut: //如果没有满足case的条件的一切情况都会执行defalut下的语句
语句c;
break;
}
循环语句
---
while循环: //先判断后执行
//先判断条件是否为true,再去执行循环体
while(条件){
循环体;
//在条件判断结果为true时,循环执行while种的循环体
}
do-while循环://先执行后判断
//执行了一次循环体后再去判断条件是否成立,如果成立在执行下一次
do{
循环体
}while(条件);
for循环:
/*在for循环中定义变量并赋予初始值,给定结束循环条件,并每次执行循环变量变化一次,直至变化到给定的条件。*/
例如:
for(int i = 0 ; i < 5; i++ ){
循环体;
}
例题:
1.水仙花数(多重for循环)
//例如 153 :1*1*1+5*5*5+3*3*3 = 100*1+10*5+3
//a*a*a+b*b*b+c*c*c=100*a+10*b+c
for(int i=1;i<10;i++){
for (int j = 0; j <10; j++) {
for (int q = 0; q <10; q++) {
if(i*i*i+j*j*j+q*q*q==100*i+10*j+q){
System.out.println("水仙花数:"+(100*i+10*j+q));
}
}
}
}
2.计算1-100质数和(for循环和if语句)
//定义变量a并初始化值为0,用来接收质数的和
int a = 1;
//需要循环得到2-100的所有数,长度确定,选用for循环
//并且1不属于质数,那么for循环从2开始循环
for(int i = 2; i <=100; i++){
//拿到2-100的所有数后要对其进行条件筛选
//由质数特性可得满足条件 i%2!=0 && i%3!=0 && i%5!=0 && i%7!=0的即为质数
if(i%2!=0 && i%3!=0 && i%5!=0 && i%7!=0){
a = a + i;
}
//因为在条件判断时排除了2,3,5,7,所以在最后结果相加时,需要补上这些值
System.out.println("质数和"+(a+2+3+5+7));