六.程序流程控制
1.判断结构:if语句
if语句:a.if(条件表达式){
执行语句
}
public class Example{
public static void main(String[] args){
int a = 3;
if(a>3){
System.out.println("我执行了");
System.out.println("结束")
}
}
}
当条件表达式为true时,回去执行我们的执行语句。
当条件表达式为false时,不会执行我们的执行语句。
注:当执行语句只有一条时,大括号可以省略,但不推荐。
条件表达式只会接受我们的boolean类型。
这种写法只能条件为真时做什么。
b.if(条件表达式){
执行语句1
}else{
执行语句2
}
public class Example{
public static void main(String[] args){
int a = 3;
if(a>3){
System.out.println("a是大于3的");
}else{
System.out.println("a是不大于3的");
}
}
}
当条件表达式为true时,会去执行我们的执行语句;
当条件表达式为false时,会去执行我们的执行语句2;
为了模拟真实情况,我们通过用户输入账号密码的情况来通过if条件是否可以登录。
1.导包
import java.utill.Scanner
2.位置
必须放在class的上面
3.创建一个Scanner对象
import java.utill.Scannerv
public class Example{
public static v oid main(String[] args){
Scanner in = new Scanner(System.in);
System.out.println("请输入你的密码(6位数字)");
int num1 = in.nextInt();
int num2 = 666666;
if(num1==num2){
System.out.println("密码正确,可以取钱了");
}else{
System.out.println("密码错误");}
}
}
c.if(条件表达式1){
执行语句1
}else if(条件表达式2){
执行语句2
}
……
else{
执行语句n+1
}
import java.utill.Scanner
public class Example{
public static v oid main(String[] args){
Scanner in = new Scanner(System.in);
System.out.println("请输入学生的成绩");
int num = in.nextInt();
if(num1>=90&&num<=100){
System.out.println("很优秀");
}else if(num1>=70&&num<=89){
System.out.println("良好");
}else if(num1>=60&&num<=69){
System.out.println("及格");
}else if(num1>=0&&num<=59){
System.out.println("不及格");
}else{
System.out.println("你输入的成绩有误");
}
}
}
2.选择结构:swich语句
swich(表达式){
case 取值1:
执行语句;
break(中断):
case 取值2;
执行语句;
break:
……
default
执行语句:
break:
}
含义:swich接受一个表达式,然后这个表达式会和所有case里面的取值进行比较,表达式里面的值和case的值相等了,就会执行执行语句。然后执行完执行语句后,遇到了break就会跳出swich。
注意:a.在表达式中可传入的类型:在jdk5.0版本以前byte、short、int、char
在jdk7.0版本可以装入string
b.一般会加入break
public class Example{
public static void main(String[] args){
int a = 3;
swich(a){
case 1:
System.out.println("a=1");
break;
case 2;
System.out.println("a=2");
break;
case 3:
System.out.println("a=3");
default:
System.out.println("没有一个匹配");
break
}
}
3.循环结构
a:while语句(不确定循环次数时使用)
while(条件语句){
执行语句;
}
当条件表达式为true时,会去执行执行语句;
当条件表达式为false时,不会去执行执行语句;
while和if可以相互嵌套。
注意事项:1.不要出现死循环
2.一定要有跳出循环的方法(if方法)
public class Example{
public static void main(String[] args){
while(true){
if(a==10){
break;
}
System.out.println("hello.java");
}
}
}
b:do{}……while()
不管条件成不成立会优先执行代码然后再判断条件是否成立
如果条件成立则继续执行代码,如果不成立就跳出循环
public class Example{
public static void main(String[] args){
int a= 2;
do{
System.out.println("我执行了");
a++;
}while(a<10);
}
}
c.for(确定循环此时时使用)
for(表达式1;表达式2;表达式3){
执行循环语句
}
表达式1会无条件执行,一般用于一个变量的初始化声明
表达式2是进行条件判断
如果条件为真
1.执行循环语句
2.执行表达式3 修改条件
3.再执行表达式2进行条件判断,并且回到2
如果条件为假:跳出循环
public class Example{
public static void main(String[] args){
for(int i=0;i<10;i++){
System.out.println("我循环了:"+1+"次");
}
}
}
4.其他流程控制
a.break:跳出
public class Example{
public static void main(String[] args){
for(int i=0;i<10;i++){
if(i==4){
break;
}
System.out.println("打印了");
}
System.out.println("执行完毕");
}
}
continue:继续(跳出当次循环,并且继续循环)
public class Example{
public static void main(String[] args){
for(int i=0;i<10;i++){
if(i==4){
continue;
}
System.out.println("打印了"+i);
}
System.out.println("执行完毕");
}
}
return:返回