一、要点总结
流程控制语句:复合语句、条件语句、循环语句。
使用复合语句可以为变量定义一个有效区域;
通过使用if与switch语句,可以基于布尔类型的测试,将一个程序分成不同的部分;
通过while、do...while循环语句和for循环语句,可以让程序的一部分重复的执行,直到满足某个终止循环的条件。
二、几个小练习
1、计算1+1/2!+1/3!...+1/20!
/**
* 计算1+1/2!+1/3!...+1/20!
* @author DELL
*
*/
public class Eight {
public static void main(String[] args) {
int j=1;//j表示第几个数
double sum=0,a=1;
while(j<=20){
sum=sum+a;
j++;
a=a*(1.0/j);//1一定要写成1.0
}
System.out.println(sum);
}
}
2、打印菱形
/**
* 打印菱形
* @author DELL
*
*/
public class Seven {
public static void main(String[] args) {
int line=5;//总行数
int maxLine=(line+1)/2; //最中间的一行*最多
for(int i=1;i<=maxLine;i++){//i表示行数
for(int space=1;space<=maxLine-i;space++){//空格数=maxLine-当前行数
System.out.print(" ");
}
for(int star=1;star<=(i*2)-1;star++){//星数=当前行数*2-1
System.out.print("* ");
}
System.out.println();//换行
}
for(int i=1;i<=maxLine-1;i++){//剩余行数=中间行数-1
for(int space=1;space<=i;space++){
System.out.print(" ");//空格数等于当前行数
}
for(int star=1;star<=(maxLine-i)*2-1;star++){//星数=从下往上数的行数*2-1
System.out.print("* ");
}
System.out.println();//换行
}
}
}
3、百钱买百鸡
/**
* 百钱买百鸡
* @author DELL
*
*/
public class six {
public static void main(String[] args) {
int cock,hen,chick;
for(cock=1;cock<=20;cock++){
for(hen=1;hen<=33;hen++){
for(chick=3;chick<=99;chick+=3){
if(cock*5+hen*3+chick/3==100){//百钱
if(cock+hen+chick==100){//百鸡
System.out.println("公鸡:"+cock+"母鸡:"+hen+"小鸡:"+chick);
}
}
}
}
}
}
}
4、计算从1加到100的和
/**
* 使用for循环,计算从1加到100的和
* @author DELL
*
*/
public class five {
public static void main(String[] args) {
int sum=0;
for(int i=1;i<=100;i++){
sum=sum+i;
}
System.out.println(sum);
}
}
/**
* 求1到100的和 使用while循环
* @author DELL
*
*/
public class Three {
public static void main(String[] args) {
int i=1;
int sum=0;
while(i<=100){
sum=sum+i;
i++;
}
System.out.println("值为"+sum);
}
}
5、密码验证如何实现
import java.util.Scanner;
/**
* 密码验证使用do...while
* @author DELL
*
*/
public class Four {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);//扫描器
String pwd1="0";
String pwd2="-1";
do{
System.out.println("请输入密码");
pwd1=sc.nextLine();
System.out.println("请再次输入密码");
pwd2=sc.nextLine();
if(!pwd1.equals(pwd2)){
System.out.println("您输入的密码不一致,请再次输入!");
}
}while(!pwd1.equals(pwd2));
System.out.println("您已成功设置密码");
}
}
6、判断奇数还是偶数
/**
* 判断一个数是奇数还是偶数
* @author DELL
*
*/
public class Two {
public static void main(String[] args) {
int num=5;
if(num%2==0){
System.out.println(num+"是偶数");
}else{
System.out.println(num+"是奇数");
}
}
}
三、易错点
1、if条件语句
- if(表达式)后加;
- 不加{}
2、if...else语句
- 如果有多个if,语句序列又未加{},那么else会和最近的if对应
- else不能单独使用,必须和if关键字一起出现
3、布尔表达式书写规范
- ==:逻辑判断 =:赋值
- if(flag==true)正确 if(flag=true)错误
- 直接写成if(flag) flag本身就是逻辑表达式
4、while循环语句
- while(条件表达式)表达式不允许为空
- 表达式不应该是常数
- while(true){循环体}会无限循环
- 循环体中要有改变条件表达式值的语句,否则将成为死循环eg:x++
5、do...while循环语句
- while后不要少写分号
- while(条件表达式)表达式不允许为空
- 表达式不应该是常数
- 循环体中要有改变条件表达式值的语句,否则将成为死循环eg:x++
6、break和continue的区别
- break会跳出包含它的最内层的循环结构
- continue不是立即跳出循环体,而是跳过本次循环结束前的语句,回到循环的条件测试部分,重新开始执行循环