代码实现:
public class Demo2 {
public static void main(String[] args) {
int a = 20;
int b = 30 ;
int c = 20;
if(a == b)
{
System.out.println("a和b相等");
}
if(a == c)
{
System.out.println("a和c相等");
}
}
}
执行结果:a和c相等
因为a不等于b,所以不会执行。因为a等于c,所以执行体中的语句会执行
注意:比较表达式无论有多复杂,其结果一定是boolean类型的,还有if后可以不跟大括号,但是只有if后面的一条语句是属于if的,如果语句体中要执行多条语句,就一定要有大括号,建议何种情况下都有大括号。大括号后边不能有分号。
格式2:if(比较表达式){
语句体1;
}else
{
语句体2;
}
首先计算比较表达式,看结果是true还是false。
如果是true,就执行语句体1,如果是false,就执行语句体2.
public class Demo3 {
public static void main(String[] args) {
int a = 20;
int b = 30;
if(a > b)
{
System.out.println("a比b大");
}else
{
System.out.println("b比a大");
}
}
}
运行结果:b比a大
a>b为false,所以语句体1不执行,执行语句体2
注意:只有if后面有括号,else后面没有括号
格式3:if(比较表达式1)
{
语句体1;
}else if(比较表达式2)
{
语句体2;
}
。。。
else
{
语句体n;
}
首先计算比较表达式1,看结果是true还是false,是true执行语句体1,结束流程。如果是false判断比较表达式2,看结果是true还是false,是true执行语句体2,流程结束,如果是false,判断下一个比较表达式的值,如此下去,如果都是false就执行else中的语句体。
代码实现:
public class Demo4 {
public static void main(String[] args) {
int a = 90;
if(a < 10){
System.out.println("小于10");
}else if(a < 40){
System.out.println("小于40");
}else if(a < 100){
System.out.println("小于100");
}else{
System.out.println("太大了");
}
}
}
执行结果:小于100
a<10结果为false,a<40结果为false,a<100结果为true,执行System.out.println("小于100");
注意:else可以省略,没有else流程也会结束,但不建议省略。只要if和else if中有一个满足条件时,流程就结束。
switch语句:
格式:switch(表达式){
case 值1:
语句体1;
case 值2:
语句体2;
case 值3:
语句体3;
。。。
default:
语句体n;
break;
}
格式解释:
1.switch表示这是switch语句,表达式的取值:byte,short,int,char
2.case后面跟的是要和表达式比较的值
3.语句体可以是一条语句,也可以是多条语句
4.break表示中断,结束的意思,可以结束switch语句
5.default表示所有的情况都不满足,就执行该语句体的内容
先计算表达式的值,再和值1,值2等等进行匹配,如果都不满足就执行default中的语句体,如果有满足的,就执行满足表达式的值的语句体,如果语句体中有break,而且被执行到了就结束switch语句。
代码实现:
public class Demo5 {
public static void main(String[] args) {
int a = 3;
switch(a){
case 1 :
System.out.println("是1");
case 2 :
System.out.println("是2");
case 3 :
System.out.println("是3");
break;
case 4:
System.out.println("是4");
default :
System.out.println("没有");
}
}
}
执行结果:是3
表达式是a,a的值是3,语句按顺序找匹配3的,在case 3找到了,便执行System.out.println("是3");,然后是break,结束switch语句。
注意:如果没有break,就会产生case穿透,也就是说程序会一直走下去,执行到switch的结尾,但执行结果可能不是我们想要的,建议不要省略。default也不一定要在最后,也可以省略,但建议在最后。
while:while循环,do{}while循环
for格式:for(初始化表达式;判断条件语句;控制条件语句)
{
循环体语句;
}
格式解释:
a:执行初始化表达式
b:执行判断条件语句,看结果是true还是false,是true就继续执行,时false就结束语句。
c:执行循环体语句。
d:执行条件控制语句。
e:在回到b继续。
一下图解
代码实现:输入从0到5;
public class ForDemo {
public static void main(String[] args) {
for(int x = 0 ; x < =5 ; x++){
System.out.print(x);
}
}
}
执行结果:012345
注意:初始化语句只执行一次。
while格式:
初始化条件语句;
while(判断条件语句)
{
循环体语句;
控制条件语句;
}
格式解释:
a.执行初始化语句
b.执行判断条件语句,看结果是true还是false,是true就继续执行,是false就结束语句
c.执行循环体语句
d.执行控制条件语句
e.回到b
和for循环类似,功能一样,格式不同。
代码实现:输入从0到5;
public class WhileDemo {
public static void main(String[] args) {
int x = 0 ;
while(x <= 5){
System.out.println(x);
x++;
}
}
}
执行结果:012345.
do{}while格式:
初始化条件语句;
do{
循环体语句;
控制条件语句;
}while(判断条件语句)
格式解释:
a:执行初始化条件语句
b:执行循环语句
c:执行控制条件语句
d:执行判断条件语句,看结果是true还是false,是true就继续执行,是false就结束语句
c:回到b
代码实现:从0到5
public class WhileDoDemo {
public static void main(String[] args) {
int x = 0;
do{
System.out.println(x);
x++;
}while(x <= 5);
}
}
执行结果:012345;
三种循环区别:
1.do{}while至少循环一次,而for和while是先进行条件判断再执行循环体
2.如果您想循环结束之后,仍想使用控制条件的那个变量,就使用while,否则使用for。
建议:while和do{}while能实现的for都能实现,而把循环结构中的变量及早释放会节约资源
作用:退出该循环
continue:意义为继续
使用场景:循环语句(注意:没有使用场景而使用是无意义的)
作用:可理解为结束本次循环,进行下一次循环
return:是一个退出方法
作用:跳转到上一层的调用,如果在流程控制语句中执行到了return,就会结束流程控制语句,不管语句执行到那。