三元运算符是一个运算符必须有结果 格式(条件表达式)?表达式1:表达式2;条件为true运行1,false为2.

int x=1,y;
 y=(x>1)?100:200; y=200.
 程序流程控制:判断结构 if语句 三种表达式 1.if(条件表达式)
 {
执行语句;
} 
 2.if(条件表达式)
 {
执行语句;
}
else
{
执行语句
}
 3.if(条件表达式)
 {
执行语句;
}
else if(条件表达式)
{
执行语句;
}
……
{
执行语句;
}
 class IfTest
 {public static void main(String[]args)
{
//需求1:根据用户定义的数值不同,打印对应的星期。
int num=1;
if(num==1)
System.out.println("monday");
else if(num==2)
System.out.println("tusday");
}
 }
 //需求2;根据用户指定月份打印该月季节
 int x=4;
 if(x==3||x==4||x==5)
 System.out.println(x+"春季")
 else if(x==6||x==7||x==8)
 System.out.println(x+"夏季")
 方法2
 if(x>12||x<1)
 System.out.println(x+"不存在")
 if(x>=3&&x<=5)
 System.out.println(x+"春季")
 选择结构 :switch语句 特点
 格式 
 switch(表达式)//byte short int char只包含这四种类型的数
 {
case取值1:
执行语句;
break;
case取值2:
执行语句;
break;
...
default:
执行语句
break;//表示结束 可以省略 没有则运行到}处
}
 例:int a=4,b=2;
 char ch='+';
 switch(ch)
 {
case '-':
System.out.println(a-b);
//break;这样的话会把能执行的都执行完才结束
case '+';
System.out.println(a+b);
//break;
case'*';
System.out.println(a*b);
break;
case '/';
System.out.println(a/b);
break;
default://可以改变顺序 先执行上面的case语句 结束有两种一种到break一种到}
System.out.println("nono")
可以这样执行结果一样的case
case 4
case 5
case 3
System.out.println(x+"夏季")
 }
 /*if和switch语句很像。
 具体使用哪个 如果判断的数值不多 而且符合byte short int char四种类型
 虽然两个语句都可以使用,建议使用swith,因为效率稍高
 其他情况:对区间判断,对结果为boolean类型判断,使用if她的范围广些
 */
 循环结构/*循环结构:while格式:
 while(条件表达式)
 {
执行语句;
 }
 do
 {
执行语句;
 }
 while (条件表达式);//do while特点 条件是否满足循环体至少被执行一次
 for格式
 for(初始化表达式;(合理的出事表达式即可)循环条件表达式;循环后的操作表达式)多表达式用逗号隔开
 {
执行语句;
 }
 */
 class ThreeDay 
 {
public static void main(String[] args) 
{ 
int x=1;
while(x<3)//后面加分号的话就运行不下去了
{
System.out.println("x="+x);//循环语句
x++;//此时x++和++x一样
}
 }
 //do while实例:
 do
 {
System.out.println("do:x="+x);//第一步
x++;
 }
 while (x<3);//执行完上面的一次后才执行while


 //for循环实例:
 for(int x = 0;x<3 ; x++)//定义的int x只在大括号范围内有效 
{
System.out.println("x="+x);
}
 上面的用while法表示
int x=0;
 while(x<3)
{
System.out.println("x="+x);
x++;
 }
 1.变量有自己的作用域,对for来说 如果控制循环的增量定义在for语句中
 那么该变量只在for语句中有效。for语句执行完毕,变量在内存中释放出来
 2.for和while可以进行互换,如果只是定义循环增量用for语句更适合
 总结:
 什么好时候使用循环结构?
 当对某些语句执行很多次时,就是循环结构。
 /*无限循环的最简单表现形式。
 for(;;){}
 while(true){}
 练习1获取1~10的和,并打印*/
 //while语句写法:
 //一、定义变量用于存储不断变化的和。
 int sum = 0;
 //二、定义变量,记录著不断变化的被加的数。
 int x = 1;
 //三、定义循环,重复加法的过程。
 while(x<=10)
{
 sum =sum+x;
 x++;
}
 System.out.println("sum="+sum);
 //for语句写法:
 int sum = 0;
 for(int x = 1;x <= 10;x++)
{
 sum +=x;
}
 System.out.println("sum="+sum);


 //练习2、1~100之间7的倍数的个数并打印。
 思路:
 操作步骤:
 int sum = 0;
 for(int x = 2;x <= 100; x++)
{
 if(x%7==0)
sum++;
}
 System.out.println("sum="+sum);
 //累加思想 原理:通过变量记录住操作的结果。
 //记数器思想 原理:通过一个变量记录住数据的状态变化,也是通过循环完成。


 //语句嵌套形式,就是语句中还有语句。
 //循环嵌套:
 for(int x=0;x<3;x++)
 {
 for(int y=0;y<4;y++)//循环完成后才会回到上一个循环
{
System.out.println("ok");//会打印12个ok
 }
 }
 /*练习打印下列图形
 *****
 ****
 ***
 **
 *
 发现图形有很多行,每一行有很多列
 使用嵌套循环解题
 */
 int z=0;
 for (int x=0;x<5 ;x++ )//因为外循环决定行数 共五行所以x<5
 {
for (int y=z;y<5 ;y++ )//要使每行的元素数减少 故定义一个变量来执行
{
System.out.print("*");
}
System.out.println();
z++;
 }
 简化版://因为y的值随x的值变化
 for (int x=0;x<5 ;x++ )//因为外循环决定行数 共五行所以x<5
 {
for (int y=x;y<5 ;y++ )//要使每行的元素数减少 故定义一个变量来执行
{
System.out.print("*");
}
System.out.println();
 }


 /*练习打印下列图形
 *
 **
 ***
 ****
 *****
 */
 for (int x=0;x<5 ;x++ )//因为外循环决定行数 共五行所以x<5
 {
for (int y=4-x;y<5 ;y++ )//要使每行的元素数增多 故定义一个变量来执行 观察x,y的关系
{
System.out.print("*");
}
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
 */
 for (int x=1;x<=9 ;x++ )//因为外循环决定行数 共五行所以x<5
 {
for (int y=1;y<=x ;y++ )//要使每行的元素数减少 故定义一个变量来执行
{
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
 }
 //规律 尖朝上可以改变条件让条件随着外循环变化,尖朝下可以改变初始化值让初始化值随外循环变化
 break(跳出)应用范围:switch/循环语句 能够结束循环结构
  w:for (int x=0;x<3 ;x++ )
 {
for (int y=0;y<4 ;y++ )
{
System.out.println("x="+x);
break w;//此时break结束的是外循环
}
 }
 continue(继续)只能作用于循环结构
for (int x=o;x<10 ;x++ )
{
if (x%2==1)
continue;//结束本次循环 进行下次循环 上方条件满足不执行continue下的语句
System.out.println("x="+x)
}
 /*
 记住:1.break和continue语句的作用范围
 2.break和continue单独存在时,下面的任何语句都将执行不到
 练习:打印
     *
    * *
   * * *
  * * * *
 * * * * *
 */
 for (int x=0;x<5 ;x++ )
 {
for (int y=x+1;y<5 ;y++ )
System.out.print(" ");
{
 for (int z=0;z<x ;z++ )
 {
System.out.print("* ");
 }
 System.out.println();
}
 }