if(条件表达式){
执行语句
}
class Demo {
public static void main(String[] args) {
int a = 1;
if( a > 0){
System.out.println("大于");
}
System.out.println("小于");
}
}
if 后的圆括号中的条件表达式必须为boolean类型,进行真假判断
执行顺序:
遇到 if :
条件表达式为真,则执行花括号内部的语句;
如果为假,则执行跳过整段 if 语句,执行后面的语句。
class Demo {
public static void main(String[] args) {
int a = 1;
if( a > 0){
System.out.println("大于");
}else{
System.out.println("小于");
}
}
}
执行顺序:
遇到 if:
如果条件表达式为真,执行 if 后面花括号里面的值;
如果条件表达式为假,执行 else 后面花括号里面的值。
import java.util.*;
class class05{
public static void main(String[] arge){
//num1系统给出的数字 num2用户给出的数字
Random random=new Random();
Scanner scanner=new Scanner(System.in);
int num1=random.nextInt(90)+10;
//System.out.println(num1);
System.out.print("Please inter a number:");
int num2=scanner.nextInt();
//把数字各位分开
int a=num1/10;
int b=num1%10;
int c=num2/10;
int d=num2%10;
//进行判断
if(num1==num2){
System.out.println("一等奖,奖金10000美元");
}else if(a==d&&b==c){
System.out.println("二等奖,奖金3000美元");
}else if(a==c||a==d||b==c||b==d){
System.out.println("三等奖,奖金1000美元");
}else{
System.out.println("没中奖,谢谢");
}
}
}
执行顺序:
是if-else语句的一个嵌套语句,
在第一个if中不满足条件的else条件中,又增加了一个条件
class demo{
public static void main(String[] ager){
int i=6;
switch(i){
case 1:
System.out.println("no 1");
break;
case 4:
System.out.println("no 4");
break;
case 6:
System.out.println("yes!");
break;
default:
System.out.println("not right");
break;
}
}
}
执行顺序:
开始执行主函数时,遇到switch
将switch里的表达式与case后面的表达式进行比较,执行case后面表达式一样的语句;
如果case后面都没有,就执行default后面的语句
if和switch的区别
class demo{
public static void main(String[] ager){
int i=6;
while(i>0){ //当条件表达式为真时执行
System.out.println("I等于1");
i--;
}
}
执行顺序:
开始执行主函数,当遇到while时,先计算while后面的条件表达式;
当表达式为真时,执行while后面大括号中的语句;
然后再进行while后面的表达式判断,直到表达式为假时,跳出循环。
注意事项:
1.括号中的表达式计算结果必须为boolean类型的值。
2.括号中不能直接写false常量。
3.while循环的括号后面不要写分号,循环控制的语句的代码用大括号扩起来。
4.while循环控制的条件变量一定要更新,保证循环能够正常结束 (防止死循环)
do{
sel=sel+(int)(num%10);
num/=10;
if(num==0){
break;
}
}while(true);
执行顺序:
先执行do后面的语句,当执行完之后再进入条件表达式进行判断,若条件 表达式结果为true继续执行do后面的语句,若条件表达式结果为false,则结束循环。
do while特点是无论条件是否满足,循环体至少被执行一次
for(int i=0;i<num.length();i++){
char c=num.charAt(i);
if(isnumber(c)){
count++;
}
}
执行顺序:
for里面的3个表达式运行的顺序,初始化表达式只读一次,判断循环条 件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找 个过程,直到条件不满足为止
for 与while的不同
for更倾向于知道次数的循环(根据已知条件进行循环),而while更倾向于不知道次数的循环
break:终止该层循环 ,跳出循环,不再执行下面的循环
continue:跳过该层循环,继续下一层循环,循环次数减一
break实例:
if(s1.charAt(i)==s2.charAt(j)){
i=i+j;
}else{
break;
}
//执行break后不执行接下来的数字,跳出该循环
continue实例:
if(s1.charAt(i)==s2.charAt(j)){
i=i+j;
}else{
continue;
j+=1;
}
//执行continue后,不执行j+=1;语句,并继续判断下一个是否满足