流程控制
if选择结构
单选择结构
//判断字符是否相等
if (s.equals("hello")) {
System.out.println(s);
}
System.out.println("end");
双选择结构
if (score>60){
System.out.println("合格");
}else {
System.out.println("不合格");
多选择结构
Scanner scanner = new Scanner(System.in);
int score = scanner.nextInt();
if (score==100){
System.out.println("恭喜满分!");
}else if (score>=90&&score<100){
System.out.println("A");
}else if (score>=80&&score<90){
System.out.println("B");
}else if (score>=70&&score<80){
System.out.println("C");
}else if (score>=60&&score<70){
System.out.println("D");
}else if (score<60){
System.out.println("不及格!");
}else {
System.out.println("非法输入");
}
Switch 多选择结构
Switch 变量类型:支持比较int、char、short、byte,JDK7之后可以用string
字符的本质是数字,深层理解:Switch在比较字符时,比较字符的hashcode,对应到case里是对应的数字。
case穿透现象:若无break,则将所有可能都输出。
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("未知等级");
}
while
死循环 :while(TRUE){操作} 用于 客户端检查,定时检查等。
//输出1+2+3+4...+100
int i=0;
int s=0;
while (i<=100){
i++;
s=s+i;
}
System.out.println(s);
do while循环
程序至少执行一次 do {} while (){},先执行再判断。while 先判断再执行。
int j=0;
int s2=0;
do {
j++;
s2=s2+j;
}while (j<100);
System.out.println(s2);
for 循环
for (int i = 0; i < 100; i++) { }
- 支持迭代的通用结构,最有效,最灵活。
- idea 100.for回车 自动生成
- int i = 0; 为初始化语句,可以为空,即 for (; i < 100; i++)。
- i < 100;执行布尔表达式的值,也可以为空,即 for (;; i++)。
- 死循环,for (; ; )。
例1:输出从0-100的奇数与偶数
int oddsum=0;//奇数和
int evensum=0;//偶数和
for (int i = 0; i < 100; i++) {
if (i%2==0){
evensum+=i;
}else{
oddsum+=i;
}
}
System.out.println("奇数的和是"+oddsum);
System.out.println("偶数的和是"+evensum);
例2:输出1-1000之间可以被5整除的数,并且每行输出3个
int k=0;
for (int j = 0; j <= 1000; j++) {
if (j%5==0){
k++;
if (k%3==0){
System.out.println(j);
}else{
System.out.print(j+"\t");// \t空格
}
}
}
例3:打印九九乘法表
for (int n = 1; n<=9; n++) {
for (int m = 1; m<=n; m++) {
System.out.print(m+"*"+n+"="+(m*n)+"\t");
}
System.out.println();
}
增强for循环
用来循环数组或者集合的增强型for循环
int [] numbers={10,20,30,40,50};
//遍历数组的元素
for (int x:numbers){
System.out.println(x);
}
break与continue
break可用于任何循环语句的主体部分,强行退出循环。
continue 在循环体语句内,终止某次循环。
通过标签label(label只在循环语句中有)实现goto语句(java中无goto)