判断结构
if(条件表达式){执行语句} 一层判断
条件表达式的 结果为 true 的时候 就执行后面大括号里面的语句 ,结果为false的时候 就不执行后面大括号里面的语句,而是跳过 。例如 int x =9;
if(x>3){System.out.println(“执行”);}
int x =2;
if(x>3){System.out.println(“执行”);} 表达式结果为false 跳过后面的代码而向下继续执行
if(条件表达式){执行代码1} else{执行代码2}
如果条件表达式里面的结果为true 则执行 代码1运行。如果结果为false 执行代码2 运行。
二层判断
class IfDemo
{
public static void main(String[] args)
{
int x = 8;
if (x>9)
{
System.out.println("hello 1");
} else
{
System.out.println("hello 2");
}
}
}
if(条件表达式){执行代码1} elseif(条件表达式2){执行代码2} else if (条件表达式3){执行代码3}…………………….else {} 多层判断
class IfDemo
{
public static void main(String[] args)
{
int x = 8;
if (x>9)
{
System.out.println("hello 1");
} else if (x>7)
{
System.out.println("hello 2");
} else if(x>3)
{
System.out.println("hello 3");
} else
{System.out.println("over");}
}
}
多层判断 只要满足其中任何一个条件 就会自动执行后面的代码 然后结束整条语句
选择结构 switch
格式
switch (参与选择的值 ) //里面的值 只能是byte short int char 四种类型的
{
case 1:
代码1;
break;
case 2:
代码2;
break;
case 3:
代码3;
break;
case 4:
代码4;
break;
..........................................
case n:
代码n;
break;
default:
代码;
break;
}
实例: 根据给出的月份值 来判断是属于哪个季节
思考: 一年只有12个月 3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12,1,2 冬季
有具体的值 而且数量不多 并且数值 属于byte 类型数据,所以我们选择switch选择结构的语句来完成
class SwitchDemo
{
public static void main(String[] args)
{
byte x = 2;
switch(x)
{
case 3:
System.out.println("这是春季哦");
break;
case 4:
System.out.println("这是春季哦");
break;
case 5:
System.out.println("这是春季哦");
break;
case 6:
System.out.println("这是夏季哦");
break;
case 7:
System.out.println("这是夏季哦");
break;
case 8:
System.out.println("这是夏季哦");
break;
case 9:
System.out.println("这是秋季哦");
break;
case 10:
System.out.println("这是秋季哦");
break;
case 11:
System.out.println("这是秋季哦");
break;
case 12:
System.out.println("这是冬季哦");
break;
case 2:
System.out.println("这是冬季哦");
break;
case 1:
System.out.println("这是冬季哦");
break;
default:
System.out.println("输入的数值错误,没有对应月份儿存在");
break;
}
}
}
如果switch 里面有相同的执行代码 而只是对比选择的值不同,那么可以将 相同代码的选择值合并也就是去掉那些break
class SwitchDemo
{
public static void main(String[] args)
{
byte x = 2;
switch(x)
{
case 3:
case 4:
case 5:
System.out.println("这是春季哦");
break;
case 6:
case 7:
case 8:
System.out.println("这是夏季哦");
break;
case 9:
case 10:
case 11:
System.out.println("这是秋季哦");
break;
case 12:
case 2:
case 1:
System.out.println("这是冬季哦");
break;
default:
System.out.println("输入的数值错误,没有对应月份儿存在");
break;
}
}
循环语句 while
格式
初始化表达式
while (条件表达式){执行语句}
class WhileDemo
{
public static void main(String[] args)
{
byte x = 9;
while (x<20)
{
System.out.println("Hello World!"+"x ="+x);
x++;
}
}
}
循环语句 for
class WhileDemo
{
public static void main(String[] args)
{
for (byte y =9;y<20 ;y++ )
{
System.out.println("Hello World!"+"y ="+y);
}
}
}
while 与for 两种循环体的区别 两种循环体可以想好转换 while 初始化变量是在循环体的外面 循环结束后 内存中还是贮存着 那个变量 for 循环控制循环体增量的变量 的作用域是在for的里面,循环结束后 变量也就随之释放了。相对来说节省一点点内存,如果循环体结束后,后续程序还是需要应用那个变量就使用WHILE ,如果那个控制循环体的变量只是单纯的控制循环那么就使用for。
计数器思想
将 1-100之间的9的整倍数的数的个数 打印到控制台
分析:9的整数倍的数的特点 /9后余数为0 if(X/9==0) 如果里面的表达式结果为true了 那么X 就是9的整数倍的数
从1-100里面找出 所有满足条件的数 需要 一个一个的去利用上面的方法去 找也就是重复上面的动作100次 所以要用循环体去做 。 for(byte x=1;x<=100;x++)
{
if(x/9==0);
}
既然符合要求的数挑出来了,我们只是需要看看 总共有多少个而已 ,所以每次挑出来之后计数就好。定义一个变量count 来计数
for(byte x=1;x<=100;x++)
{
if(x/9==0);
count++;
}
For嵌套
以*号打印一个长方形
class ForforTest
{
public static void main(String[] args)
{
for (byte x=0;x<4 ;x++ )
{
for (byte y=0;y<6 ;y++ )
{
System.out.print("*");
}
System.out.println();
}
}
}
分析:
for (byte y=0;y<6 ;y++ )
{
System.out.print("*");
}
内层的for循环 控制列的变化 也就是每行中的星星的个数
外层的for 循环控制行的变化 也就是打印几行星星
变化 1 打印一个尖儿向下的星星
class ForforTest
{
public static void main(String[] args)
{
for (byte x=0;x<4 ;x++ )
{
for (byte y=x;y<4 ;y++ )
{
System.out.print("*");
}
System.out.println();
}
}
}
分析 :打印几行星星没有变化还是那几行,所以 外层的for 不用变化 ,只变化内层就可以