一. 判断结构
if else结构
简写格式: 变量=(条件表达式)?表达式1:表达式2;
三元运算符:
优点:可以简化if else代码
缺点:因为是一个运算符,所以运算完必须有一个结果
class IfTest
{
public static void main(String[] args)
{
//根据数据打印相应的星期
int num=2;
if(num==1)
System.out.println("Monday");
else if(num==2)
System.out.println("Tuesday");
//根据数据打印相应的月份
int month=4;
if (month>12||month<1)
System.out.println(month+"月份不存在");
else if(month>=3&&month<=5)
System.out.println(month+"春季");
else if(month>=6&&month<=8)
System.out.println(month+"夏季");
else if(month>=9&&month<=11)
System.out.println(month+"秋季");
else
System.out.println(month+"冬季");
}
}
二. 选择结构
1. switch语句特点
(1)switch语句选择的类型只有四种:byte、short、int、char
(2)case和default没有顺序,先执行第一个case,没有匹配的case执行default
(3)结束switch语句的两种情况:遇到break;执行到switch的大括号结束处
(4)如果匹配的case或default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束
2. switch和if-else区别
if和switch语句很像;
如果判断的具体数值不多,而且符合byte、short、int、char四种类型,建议使用switch(效率稍高);
其他情况:对区间判断、对结果为Boolean类型判断,建议使用if(if的适用范围更广)
class switchTest
{
public static void main(String[] args)
{
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:
System.out.println("feifa");
}
}
}
class SwitchTest
{
public static void main(String[] args)
{
int x=4;
switch(x)
{
case 3:
case 4:
case 5:
System.out.println(x+"春季");
break;
case 6:
case 7:
case 8:
System.out.println(x+"夏季");
break;
case 9:
case 10:
case 11:
System.out.println(x+"秋季");
break;
case 12:
case 1:
case 2:
System.out.println(x+"冬季");
break;
default:
System.out.println(x+"非法");
}
}
}
三. 循环结构
1. while结构
while(条件表达式)
{
执行语句;
}
2. do while结构
条件无论是否满足,循环体至少被执行一次
do
{
执行语句;
}while(条件表达式);
3. for结构
for为了循环而定义的变量在for循环结束就是在内存中释放;
while循环使用的变量在循环结束后还可以继续使用。
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
4. 最简单无限循环格式
while(true);
for(;;);
5. 循环嵌套
例子:九九乘法表
class ForDemo
{
public static void main(String[] args)
{
//九九乘法表
for(int x=1;x<=9;x++)
{
for(int y=1;y<=x;y++)
{
System.out.print(y+"x"+x+"="+y*x+"\t");//使用制表符控制间距
}
System.out.println();
}
}
}
四. 其他流程控制语句
1. break
应用范围:选择结构(switch)和循环结构(for/while/do while)
用break跳出内循环
class ForDemo
{
public static void main(String[] args)
{
for(int x=0;x<3;x++)
{
for(int y=0;y<4;y++)
{
System.out.println("x="+x);
break;
}
}
}
}
用标号,让break作用于指定的范围
class ForDemo
{
public static void main(String[] args)
{
w:for(int x=0;x<3;x++)
{
q:for(int y=0;y<4;y++)
{
System.out.println("x="+x);
break w;
}
}
}
}
2. continue
应用范围:循环结构,结束本次循环继续下次循环
class ForDemo
{
public static void main(String[] args)
{
for(int x=1;x<=10;x++)
{
if(x%2==1)
continue;
System.out.println("x="+x);
}
}
}
用标号,让continue作用于指定的范围
class ForDemo
{
public static void main(String[] args)
{
w:for(int x=1;x<=10;x++)
{
for(int y=0;y<4;y++)
{
System.out.println("x="+x);
continue w;
}
}
}
}