1. if..else语句
基本语法:
if(布尔表达式)
{
程序代码
}
else
{
程序代码
}
注意:布尔表达式不能为数字类型,和C/C++不同,如if(0) 或if(1)是非法的
import java.util.Scanner;
public class isLeapYear
{
/**
* 判断是否为闰年
*/
public boolean isLeap(int year)
{
boolean istrue;
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
istrue = true;
else
istrue = false;
return istrue;
}
public static void main(String[] args)
{
System.out.println("Please enter your year:");
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
isLeapYear a = new isLeapYear();
System.out.println(a.isLeap(year));
}
}
基本语法:
switch(expr)
{
case value1:
statements;
break;
case value2:
statements;
break;
default:
statements;
break;
}
注意:
(1)expr表达式类型必须是可以自动转换为int的基本类型,所以合法类型只能是byte、short、char、int
(2)valueN 除了必须是上述合法类型外还必须只能是常量且各个case子句中的valueN表达式值不同
(3)在switch语句中最多只能有一个default子句,当expr表达式值不与任何case子句匹配时,程序执行default子句,如果没有default子句程序直接退出switch语句
(4)在决定流程分支的条件表达式的类型与int类型兼容,则使用switch语句更简洁,可读性更强,而if..else语句功能比switch语句功能更强大,能灵活控制各种复杂流程分支
int input=0;
switch(input)
{
case 0:
System.out.println("input值等于0");
//注意当前没有break;
case 1:
System.out.println("input值等于1");
break;//执行到这里才退出
default:
System.out.println("input值没有匹配的");
}
3. while语句
基本语法:
while(循环条件)//当循环条件的布尔表达式的值为true时重复执行循环否则终止循环
{
程序代码
}
注意:
(1)循环条件包含多条语句,必须将其放在大括号内,若只有一条则不必
(2)while语句循环一开始就计算循环条件表达式,若开始值false则1次也不执行
(3)循环体可以为空,语法上是合法的
(4)确保提供终止循环条件,避免死循环
//初始化
int a=1;
int b=2;
System.out.println("while不需要加大括号");
while(a<b)//不需要加大括号
{
System.out.println(a);
a++;
}
//初始化
a=1;
b=2;
System.out.println("while需要加大括号");
while((a<2 && b>0))//加大括号
{
System.out.println(a+" "+b);
a++;
b--;
}
//初始化
a=1;
b=2;
System.out.println("while死循环");
while(a<b)
{
System.out.println(a+" "+b);
a++;//注释掉这句会死循环
}
//循环体为空
System.out.println("while循环体为空");
while(++a<b);//注意这里的;号
System.out.println(a+" "+b);
4.do..while语句
基本语法:
do
{
程序代码
}while(循环条件)
注意:循环条件先执行再判断,任何情况下至少执行一次,即使条件开始就为false
// 初始化
int a = 1;
int b = 2;
do
{
System.out.println(a);
} while (b < a);
5. for语句
基本语法:
for(初始化部分;循环条件;迭代部分)
{
循环体
}
执行顺序,初始化部分->判断循环条件->执行循环体->迭代部分
如果循环条件的布尔表达式值为false则退出for语句,否则依照上述执行顺序,如
for (int a = 0, b = 0; a < 2; b = ++a, System.out.println("b "+ b))
System.out.println("a " + a);
JDK1.5以后加入了foreach语句其格式如下:
for(元素类型 元素变量:遍历对象)
{
引用了变量的java语句;
}
注意:
foreach不是关键字,而是将这种特殊的for语句格式称之为“foreach”语句
String arr[] = {"hello","world","我是= =!"};
for (String x : arr)
System.out.println(x);
6. 流程跳转语句
break:从switch语句、循环语句的代码块退出
int a = 1;
while (true)
{
if (a > 5)
break;// 退出循环
System.out.println(a);
a++;
}
continue:跳过本次循环,执行下一次循环
int a = 1;
while (true)
{
if (a > 5)
break;// 退出循环
if (3 == a)
{
a++;
continue;//跳出本次循环
}
System.out.println(a);
a++;
}
return:退出本方法,跳到上层调用方法,如果本方法的返回类型不是void就需要提供返回值
public int method(int x)
{
if(x>0)return 1;
if(x==0)return 0;
return -1;
}
参考文献:
Java从入门到精通 高宏静
Java面向对象编程 孙卫琴