一、if语句
如果没有大括号,if就只能控制离它最近的那条语句
三元运算符就是if else的语句简写格式.
简写格式什么时候用?
当if else运算后有一个具体结果时,可以简化写成三元运算符
二、switch语句
switch语句的格式如下:
switch(表达式)//这里的表达式只直持byte short int char这四种类型
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
......
default:
执行语句;
break;
}
注意表达式只直持byte,short,int和char这四种类型.
对于switch语句来说,无论表达式是什么,都会从第一个case开始执行,并且一般每case中都有break语句.
default语句可以省略,但一般不这么做,当case中没有对应的结果,就执行default语句.
记住:default语句可以放任case的位置,但是执行的时候defualt语句都是最后执行.
if语句和switch语句区别
if:
1.对具体的值进行判断
2.对区间判断
3.对运算结果是boolean类型的表达式进行判断switch:
1.对具体的值进行判断
2.值的个数通常是固定的
3.对于几个固定的值判断,建议使用switch语句,因为swich语句会将具体的答案都加载进内在
4.效率相对高一点
5.功能性较差
6.书写麻烦
三、while和do-while语句
while语句的执行过程:先判断条件表达式的结果,如果为true,则执行循环体中的执行语句,然后重复判断和执行,直到条件表达式结果为false时结束.
do-while语句中当条件表达式不成立的时候,还是执行了循环体语句,也就说do-while语句的执行过程是:先执行循环体语句,然后再判断条件表达式,如果为true,重复循环,否则则结束循环.
四、 for语句
class ForDemo
{
public static void main(String[] args)
{
for (int x = 1;x < 3;x++)
{
System.out.println("x="+x);
}
int y = 1;
for (System.out.print("a"); y<3 ; System.out.print("c"))
{
System.out.print("d");
y++;
}//adcdc
//for (int a=0,b=0;a<3 ;a++,b-- )//初始表达式和循环后的表达式都可以是多个表达式
//{
//}
}
}
通过对这三种不同的循环语句的学习基本上对循环语句有了比较清楚的理解,那么我们说什么时候使用循环语句呢?
当对某些代码执行多次时,使用for
当对一个条件进行一次判断时,可以使用if语句
当对一个条件进行多次判断时,可以使用while语句
注意:
在使用循环时,一定要明确哪些语句需要参与循环,哪些不需要
循环通常情况下,需要定义条件,需要控制次数
五、 for循环的嵌套
class ForForTest
{
public static void main(String[] args)
{
/*
九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
……
思路:
从乘法表来看,共有9行
每一行有与行号相同的列数
表达式输出是列数*行号=积的形式
行号是递增,每一行的列数也是递增
*/
for(int i=1;i<=9;i++)
{
for(int j=1;j<=i;j++)
{
System.out.print(j+"*"+i+"="+j*i+"\t");//\t是制表符
}
System.out.println();
}
/*
\n:回车
\t:制表符
\b:退格
\r:按下回车键
不同系统的回车键是不同的
windows系统中回车符其实是由两个字符号组成的 \r\n
linux中回车符是 \n
*/
System.out.println("===============================");
/*
* * * * *
* * * *
* * *
* *
*
这实际上是两个三角形组成
*/
for(int x=1;x<=5;x++)
{
for(int y=1;y<x;y++)//这个就是上一个例子中的第二个小例子,只不过是把*号变成了空格
{
System.out.print(" ");
}
for(int z=x;z<=5;z++)//按递减的方式输出"* ",从每一行的5个到最后一行的1个即可
{
System.out.print("* ");
}
System.out.println();//每一行完成之后换行
}
}
}
六、break语句与continue语句
class BreakContinueDemo
{
public static void main(String[] args)
{
/*
break:跳出.
break作用的范围:要么是switch语句或者是循环语句.
记住:当break语句单独存在时,下面不要定义其他语句,因为执行不到.
break跳出所在的当前循环
如果出现了循环嵌套,break跳出想要跳出指定的循环,可以通过标号来完成.
*/
//break;// 报错
for(int x=0;x<3;x++)
{
//break;//报错,无法执行的语句
System.out.println("x="+x);
break;
}
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
System.out.println("i="+i);
break;
}
}
Mark1:for(int m=0;m<3;m++)
{
Mark2:for(int n=0;n<4;n++)
{
System.out.println("m="+m);
break Mark1;
}
}
/*
continue:继续
作用范围:循环结构,继续循环
continue:结束本次循环,继续下次循环
如果continue单独存在时,下面不要有任何语句,因为执行不到
*/
for(int x=0;x<11;x++)
{
//continue;//报错,无法执行的语句
if(x%2==0)
continue;
System.out.println("x="+x);
//continue;//放到这里没有意义
}
Mark1:for(int m=0;m<3;m++)
{
Mark2:for(int n=0;n<4;n++)
{
System.out.println("m="+m);
continue Mark1;//继续外循环
}
}
}
}