三目运算符语法格式:数据类型  变量名 = (表达式)条件1?:条件2

可以有多个表达式。

执行流程:表达式结果为true,则执行条件1,表达式为false,则执行条件2。

public class Demo4 {
    public static void main(String[] args) {
      int a = 30;
      int c;
     if (a > 0) {
         c=30;
         System.out.println(c);
     } else {
         c=23;
         System.out.println(c);
     }
    }
}
public class Demo4 {
    public static void main(String[] args) {
     int a = 23;
     String s1 = (a > 0)?"这个整数大于0":(a < 0)?"这个整数小于0":"这个整数等于0";
     System.out.println(s1);

     System.out.println("----------------------");

     int b = -1;
     if (b > 0) {
         System.out.println("这个整数大于0");
     } else if (b < 0){
         System.out.println("这个整数小于0");
     } else {
         System.out.println("这个整数等于0");
     }
    }
}

循环结构(重点)

生活中的循环:摩天轮就是循环一圈一圈的转。

                         马拉松的跑道是循环,一圈一圈的

                         风扇也是循环

java代码中的循环:也是一圈一圈的执行,如果为false的则停止

循环结构三个条件:初始化的条件   循环条件   终止条件

while(表达式){

语句体;

++;循环条件;

}执行流程:首先走到while关键字  判断括号里的表达式为true,则执行语句体,++,之后在返回while关键字判断表达式结果为true,则执行当前括号中的语句体,++,再次返回while关键字结果为false则循环结束,不再执行语句体。

public class Demo4 {
    public static void main(String[] args) {
     /*
     a1 =23 走到while关键字
     23 < 30 结果为true,则执行语句体  a1++
     24 < 30 true 则执行语句体 a1++
     25 < 30 true 执行语句体  a1++;
     26 < 30 true 执行语句体 a1++
     27 < 30 true 执行语句体 a1++
     28 < 30 true 则执行语句体  a1++
     29 < 30 true 执行语句体  a1++
     30 < 30 false 循环结束不再执行语句体。        
      */
     int a1 = 23;//初始化的条件
     while (a1 < 30) {//循环的终止条件
         System.out.println(a1+"你好呀");
         a1++;//循环条件
     }
        System.out.println("嘻嘻哒");
    }
}


public class Demo4 {
    public static void main(String[] args) {
     /*
     a=1 1<=5 true 执行语句体1 a++
     a=2 2<=5 true 执行语句体2 a++    
     a=3 3<=5 true 执行语句体3 a++
     a=4 4<=5 true 则执行语句体4 a++
     a=5 5<=5 true 则执行语句体5 a++
     a=6 6<=5 false 则循环结束不在执行   
      */
     int a = 1;
     while (a <= 5) {
         System.out.println(a);
         a++;
     }
        System.out.println("哈哈大");
    }
}

public class Demo4 {
    public static void main(String[] args) {
    /*
    a1=100 100>=97 true 则执行语句体100 a1--
    a1=99  99>=97 true 则执行语句体99 a1--
    a1=98 98>=97 true 则执行语句体98 a1--
    a1=97 97>=97 true 则执行语句体97 a1--
    a1=96 96>=97 false 则循环结束不再执行当前的语句体
     */
    int a1 = 100;
    while (a1 >= 97){
        System.out.println(a1);
        a1--;
    }
        System.out.println("嘻嘻哒");
    }
}
public class Demo4 {
    public static void main(String[] args) {
      /*
      现有1-10位的数
      a1=1 1<=10 true 则进入if
      1%2==1 true 则输出语句体1  a1++
      a1=2 2<=10 2%2==1 false a1++
      a1=3 3<=10 true 3%2==1  true 则输出语句3 a1++
      a1=4 4<=10 true 4%2==1 false a1++
      a1=5 5<=10 true 5%2==1 true 则输出语句5 a1++
      a1=6 6<=10 true 6%2==1 false a1++
      a1=7 7<=10 true 7%2==1 true 则输出语句7 a1++
      a1=8 8<=10 true 8%2==1 false  a1++
      a1=9 9<=10 true 9%2==1 true 则输出语句9 a1++
      a1=10 10<=10 true 10%2==1 false a1++
      a1=11 11<=10 false 则循环结束
       */
      int a1 = 1;
      while (a1 <= 10) {
          if (a1 % 2 == 1) {
              System.out.println(a1);
          }
          a1++;
      }
    }
}
public class Demo4 {
    public static void main(String[] args) {
        /*
        a1=1 1<=10 true 输出语句1 1+=2
        a1=3 3<=10 true 输出语句3 1+=2
        a1=5 5<=10 true 输出语句5 1+=2
        a1=7 7<=10 true 输出语句7 7+=2
        a1=9 9<=10 true 输出语句9 9+=2;
        a1=11 11<=10 false 则不输出语句
         */
      int a1= 1;
      while(a1 <=10){
          System.out.println(a1);
          a1+=2;
      }
    }
}
public class Demo4 {
    public static void main(String[] args) {
   /*
   a1=1 1<=100 true 1%7==0 false a1++
   a1=2 2<=100 true 2%7==0 false a1++
   a1=3 3<=100 true 3%7==0 false a1++
   a1=4 4<=100 true 4%7==0 false a1++
   a1=5 5<=7 true 5%7==0 false a1++
   a1=6 6<=100 true 6%7==0 false  a1++
   a1=7 7<=100 true 7%7==0 true 则输出语句7 a1++
   a1=8 8<=100 true 8%7==0 false a1++
   a1=9 9<=100 treu 9%7==0 false a1++
   a1=10 10<=100 treu 10%7==0 fale a1++
   a1=11 11<=100 true 11%7==0 false a1++
   a1=12 12<=100 true 12%7==0 false a1++
   a1=13 13<=100 true 13%7==0 false a1++  
   a1=14 14<=100 true 14%7==0 true 组输出语句14 a1++   
   以此类推
    */
   int a1 = 1;
   while(a1 <= 100){
       if (a1 % 7 == 0){
           System.out.println(a1);
       }
        a1++;
        }
    }
}

do-while循环几乎不用

do{

语句体;

}while(表达式);

执行流程:首先走到do关键字,执行一次语句体,之后走到while关键字,判断括号里的表达式位true,则再次返回do则执行语句体,之后在到while关键字判断表达式为true,则到do打括号里执行语句体,再次判断while(括号里的结果为false)则循环结束。不再执行。

public class Demo4 {
    public static void main(String[] args) {
        /*
        a=1 执行语句体一次晚上加班 a++  1<=10 
        a=2 执行第二个语句体晚上加班 a++ 2<=10
        a=3 执行第三个语句体晚上加班 a++ 3<=10
        a=4 执行第四给语句体晚上加班 a++ 4<=10
        a=5 执行第五个语句体晚上加班 a++ 5<=10 
        a=6 执行第六个语句体晚上加班 a++ 6<=10
        以此类推
         */
        int a = 1;
        do{
           System.out.println(a+"晚上加班");
           a++;
        }while(a <= 10);
    }
}

重点:while循环和do while循环的区别

while循环:先判断  在执行

do=while:先执行一次语句体  在判断

for循环(重点)

循环的三个条件:初始化的条件  终止条件  循环条件

for循环语法格式:for(表达式1;表达式2;表达示3){

                              循环体;

                              }

表达式1:初始化的条件 

表达示2:终止条件

表达示3:循环条件

执行流程:首先走到for关键字,先执行表达式1,在判断表达式2,结果为true,则执行语句体,在执行表达式3,之后在走到for关键字执行表达示1,在判断表达式2,结果为true则执行语句体,在执行表达式3,再次走到for关键字先执行表达式1,在次判断表达式结果为false,则循环结束。

public class Demo4 {
    public static void main(String[] args) {
      /*
      a=1 1<=3 true 则执行语句体云想衣裳花想容  a++
      a=2 2<=3 true 则执行语句体云想衣裳花想容  a++
      a=3 3<=3 true 则执行语句体云想衣裳花想容  a++
      a=4 4<=3 false 则循环结束
       */
      for(int a = 1; a<=3;a++){
          System.out.println("云想衣裳花想容");
       }
      //案例1:打印1-10以内的奇数
      /*
      a1=1 1<=10 则进入if判断
      1%2==1 true 则执行语句体1  a1++
      a1=2 2<=10 则进入if判断
      2%2==1 false a1++
      a1=3 3<=10 true 则进入if判断
      3%2==1 true 则输出语句3 a1++
      a1=4 4<=10 true 则进入if判断
      4%2==1 false a1++
      a1=5 5<=10 true 则进入if判断
      5%2==1 true 则执行语句体5  a1++
      a1=6 6<=10 true 则进入if判断
      6%2==1 false a1++
      a1=7 7<=10 true 则进入ifp判断
      7%2==1 true 则执行语句7 a1++
      a1=8 8<=10 true 则进入if判断
      8%2==1 false a1++
      a1=9 9 <=10 true 则进入if判断
      9%2==1 true 则执行语句体9  a1++
      a1=10 10<=10 true 则进入if判断
      10%2==1 false 则循环结束
       */
      for(int a1 = 1; a1<=10; a1++){
          if (a1 % 2 == 1){
              System.out.println(a1);
          }
      }
    }
}
public class Demo4 {
    public static void main(String[] args) {
        /*
        a=0 a<=100 true 则执行语句体0 a+=2
        a=2 2<=100 true 则执行语句体2 a+=2
        a=4 4<=100 true 则执行语句体4 a+=2
        a=6 7<=100 true 则执行语句体6 a+=2
        a=8 8<=100 true 则执行语句体8 a+=2
        a=10 10<=100true 则执行语句体10 a+=2
        a=12 12<=100 true 则执行语句体12 a+=2'
        a=14 14<=100 true 则执行语句体14 a+=2
        a=16 16<=100 true 则执行语句体16 a+=2
        a=18 18<=100 true 则执行语句体18 a+=2
        a=20 20<=100 true 则执行语句体20 a+=2
        a=22 22<=100 true 则执行语句体22 a+=2
        a=24 24<=100 true 则执行语句体24 a+=2
        以下也是这样执行
         */
        //打印100以内的偶数
        for(int a = 0; a<=100;a+=2){
            System.out.println(a);
        }
        //dayin100以内的奇数
        for(int a1 = 1; a1<=100;a1+=2){
            System.out.println(a1);
        }
    }
}
public class Demo4 {
    public static void main(String[] args) {
        //100以内的逢7过  凡是7的倍数和带7 的都要给我打印"过"   其他都是打印数字
        for (int a = 1; a<= 100;a++) {
            if (a % 7 == 0 || a /10 == 7 || a % 10 == 0){
                System.out.println("过");
            }else {
                System.out.println(a);
            }
        }
    }
}
public class Demo4 {
    public static void main(String[] args) {
        //0<=100 true j+=i  0+=0  i++
        //1<=100 true 0+=1 i++
        //2<=100 true 0+=1+2 i++
        //3<=100true 0+=1+2+3  i++
        //以此类推到99
        //99<=100 true 0=1+2+3+4+5+6+7+8...+99   i++
        //100<=100 true 0=0+1+2+3+4+5+6+7+8+9+10...+100
        //求1-100数的和
        int j = 0;
        for (int i = 0; i<=100; i++) {
            j+=i;
        }
        System.out.println(j);
    }
}

循环的嵌套

一个循环里面还有一个内层循环

秉承着一点内层循环结束之后,在回到外层循环执行。

 

public class Demo4 {
    public static void main(String[] args) {
        //*****
        //*****
        //*****
        /*
        i=1 1<=3 true 进入内层循环  
        i1=1 1<=4 true 则打印一颗星* i++
        i=2  2<=4 true 则打印两颗星星** i1++
        i1=3 3<=4 true 则打印三颗星星*** i1++
        i1=4 4<=4 true 则打印四颗星**** i1++
        i1=5 5<=4 false 则循环结束  换行 i++
        i=2 2<=3 true 则进入内层循环
        i1=1 1<=4 true 打印一颗星* i1++
        i1=2 2<=4 true 打印两颗行** i1++
        i1=3 3<=4 true 打印三颗星*** i1++
        i1=4 4《=4 true 打印四颗星星**** i1++
        i1=5 5<=4 false 则内层循环结束  i++
        以此类推
         */
        for (int i = 1; i<=3; i++) {
            for(int i1 = 1; i1<=4;i1++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

打印*

       ***

       *****

       ******* 

public class Demo4{
    public static void main(String[] args) {
        /*
        *
        ***
        *****
        *******  判断四行  没有空格
         */
        /*
        i=1 1<=4 true 进入内层循环
        j=1 1<=1 true 打印一颗星* j++
        j=2 2<=1 false 循环结束  i++
        i=2 2<=4 true 进入内层循环
        j=1 1<=3 true 打印一颗星* j++
        j=2 2<=3 true 打印两颗星** j++
        j=3 3<=3 true 打印三颗星*** j++
        j=4 4<=3 false 则循环结束  i++
        i=3 3<=4 true 则进入内层循环 
        j=1 1<=5 true 打印一颗星* j++
        j=2 2<=5 true 打印两颗星** j++
        j=3 3<=5 true 打印三颗星*** j++
        j=4 4<=5 true 打印四颗星**** j++
        j=5 5<=5 true 打印五颗星***** j++
        j=6 6<=5 false 则循环结束   以此类推 
         */
        for (int i = 1; i<=4;i++) {
          for(int j = 1; j<=2*i-1;j++){
              System.out.print("*");
           }
            System.out.println();//换行
        }
    }
}

打印99乘法表

public class Demo4{
    public static void main(String[] args) {
        //打印99乘法表
        for (int i = 1; i<=9; i++){
            for(int j = 1; j<=i;j++){
                System.out.print(j+"*"+i+"="+i*j+"\t");
            }
            System.out.println();
        }
    }
}
1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81

作业:替换两个数中的值。 

public class Demo4{
    public static void main(String[] args) {
        int a1 = 90;
        int a2 = 45;
        if (a1 > a2){
            int a3;
            a3=a1;
            a1=a2;
            a2=a3;
            System.out.println("a1="+a1);
            System.out.println("a2="+a2);
        } else {
            System.out.println("a1="+a1);
            System.out.println("a2="+a2);
        }
    }
}