1.格式一:
if ( 条件表达式 )
{
执行语句;
}
执行语句;
}
3.格式三:
if(条件表达式)
{
执行语句;
}
else if (条件表达式)
{
执行语句;
}
……
else
{
执行语句;
}
{
执行语句;
}
else if (条件表达式)
{
执行语句;
}
……
else
{
执行语句;
}
if语句特点:
1、每一种格式都是单条语句。
2、第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。
3、条件表达式无论写成什么样子,只看最终的结构是否是true或者false。
1、每一种格式都是单条语句。
2、第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。
3、条件表达式无论写成什么样子,只看最终的结构是否是true或者false。
if else 结构 简写格式: 变量 = (条件表达式)?表达式1:表达式2;
三元运算符:
好处:可以简化if else代码。
弊端:因为是一个运算符,所以运算完必须要有一个结果。
三元运算符:
好处:可以简化if else代码。
弊端:因为是一个运算符,所以运算完必须要有一个结果。
2-1-2 选择结构,switch语句
格式:
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…...
default:
执行语句;
break;
}
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…...
default:
执行语句;
break;
}
switch语句特点:
1、switch语句选择的类型只有四种:byte,short,int,char。1.7增加了支持String
2、case与default没有顺序。先执行第一个case,没有匹配的case执行default。
3、结束switch语句的两种情况:①遇到break,②执行到switch语句结束。
4、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
1、switch语句选择的类型只有四种:byte,short,int,char。1.7增加了支持String
2、case与default没有顺序。先执行第一个case,没有匹配的case执行default。
3、结束switch语句的两种情况:①遇到break,②执行到switch语句结束。
4、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
5、进入switch语句后,执行顺序是先执行case,然后从上到下,最后再执行default。即使default放在case上面,执行顺序也不变。
2-1-3 if和switch的应用:
if:
1、对具体的值进行判断。
2、对区间判断。
3、对运算结果是boolean类型的表达式进行判断。
switch:
1、对具体的值进行判断。
2、值的个数通常是固定的。
对于几个固定的值判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存,效率相对高。
1、对具体的值进行判断。
2、对区间判断。
3、对运算结果是boolean类型的表达式进行判断。
switch:
1、对具体的值进行判断。
2、值的个数通常是固定的。
对于几个固定的值判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存,效率相对高。
2-1-4 循环结构
关键词:while,do while,for。
while语句格式:
while( 条件表达式 )
{
执行语句;
}
while( 条件表达式 )
{
执行语句;
}
do while语句格式:
do
{
执行语句;
}
do
{
执行语句;
}
while( 条件表达式 );
while和do while的区别
do while语句的特点:无论条件是否满足,循环体至少执行一次。
while如果条件不满足,循环体一次都不会执行。
do while语句的特点:无论条件是否满足,循环体至少执行一次。
while如果条件不满足,循环体一次都不会执行。
For语句格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;(循环体)
}
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;(循环体)
}
for里面的三个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。
最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
在使用循环时候,一定要明确哪些语句需要参与循环,哪些不需要。循环通常情况下,需要定义条件,需要控制次数。
练习:
class ShangXing
/*
需求:打印如下图案
*
**
***
****
*****
*/
{
public static void main(String[] args)
{
for (int i=0; i<5; i++)
{
for (int j=0; j<=i; j++)
{
System.out.print("*");
}
System.out.println();
}
}
}
class Multiply
/*
需求:打印99乘法表
九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
*/
{
public static void main(String[] args)
{
Multi(9,9);
}
public static void Multi(int a, int b)
{
for (int i=1; i<=a; i++)
{
for (int j=1; j<=i; j++)
{
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
}
}
<span style="font-family: 微软雅黑;">/**</span>
需求:打印如下图形
*
* *
* * *
* * * *
* * * * *
* * * * *
* * * *
* * *
* *
*
* @author user
*
*/
public class ForTest {
public static void main(String[] args) {
//分为上下两部分,这段循环控制上部分
for (int i=0; i<5; i++){
//控制输出空格,空格越来越少
for (int j=i+1; j<5; j++){
System.out.print(" ");
}
//控制* 输出,*越来越多
for (int k=0; k<=i; k++){
System.out.print("* ");
}
System.out.println();
}
//
for (int i=0; i<5; i++){
//控制输出空格,空格越来越多
for (int j=0; j<i; j++){
System.out.print(" ");
}
//控制* 输出,*越来越少
for (int k=i; k<5; k++){
System.out.print("* ");
}
System.out.println();
}
}
}
2-1-5 其他流程控制语句
break语句:应用范围:选择结构和循环结构。
continue语句:应用于循环结构。
注:
a,这两个语句离开应用范围,存在是没有意义的。
b,这个两个语句单独存在下面都不可以有语句,因为执行不到。
c,continue语句是结束本次循环继续下次循环。
d,标号的出现,可以让这两个语句作用于指定的范围。
练习:
class BreakTest
{
public static void main(String[] args)
{
int i,j;
//指定标签,break可以跳出制定循环
a:for(i=0; i<3; i++)
{
for(j=0; j<3; j++)
{
System.out.println("*");
break a;
}
}
}
}