一、分支语句
1.if else语句
if else语句是Java中常用的条件语句之一,它根据if后面的boolean表达式的值来决定执行哪个代码块,如果boolean表达式的值为true执行if语句中的代码块,如果boolean表达式的值为false则执行else语句中的代码块。例如
public static void main(String[] args) {
int a = 1;
if(a > 0){
System.out.println("a是一个大于零的数");
}else {
System.out.println("a是一个小于零的数");
}
if else语句中可以只存在if语句而不存在else语句,不能自存在else语句。
如果if语句或else语句的代码块中含有多条语句,必须要放在大括号内,如果只有一条语句则可以不使用大括号。
if else语句可以嵌套使用,用来处理更加复杂的逻辑问题。例如
public static void main(String[] args) {
int a = 10;
if (a > 0) {
if (a>9){
System.out.println("a是一个大于九的数");
}else {
System.out.println("a是一个小于九的数");
}
}else {
System.out.println("a是一个小于零的数");
}
}
if else语句是一种特殊的串联编程风格。例如
public static void main(String[] args) {
int a = 0;
if (a>0){
System.out.println("大于零");
} else if (a == 0) {
System.out.println("等于零");
} else if (a<0) {
System.out.println("小于零");
}
}
2.switch语句
switch语句是另一种条件语句,是多路分支语句,它根据一个表达式的值来执行不同的代码块。例如
public static void main(String[] args) {
int a = 1;
switch (a){
case 1:
System.out.println("1");break;
case 2:
System.out.println("2");break;
case 3:
System.out.println("3");break;
}
}
switch语句中的表达式必须是与int类型兼容的基本类型(能自动转换为int类型),字符或字符串类型(Java7后开始支持),枚举类型中的一种。
每个case标签后面必须跟着一个break语句(除非有意为之),以防止继续执行下一个case标签中的语句。
default标签是可选的,用于处理所有不匹配的情况。
二、循环语句
1.while语句
while语句是Java语言中最基本的循环语句。
while(boolean表达式){
循环体;
}
当循环条件的boolean表达式为true时,就会重复执行,为false时,就会终止循环。例如
public static void main(String[] args) {
int a = 10;
while (a>0){
System.out.println(a);
a--;
}
}
注意:
循环体包含多条语句时要放在大括号内,如果只有一条语句可以不用。
while语句从一开始就计算循环条件,如果是false则直接 不执行循环体。
while语句的循环体可以为空,这是合法的。
2.do while语句
do while语句会先执行一次循环体,之后再判断循环条件,当循环条件的boolean表达式为true时,继续执行循环体,否则终止循环。
do-while循环的语法如下:
do{
循环体;
}while(boolean表达式);
例如
public static void main(String[] args) {
int a = 10;
do {
System.out.println(a);
}while (a>11);
}
3.for语句
for语句和while语句一样,先判断循环条件,再执行循环体。
for循环的语法结构:
for(表达式1; 表达式2; 表达式3){
循环体;
}
表达式1的作用是给循环变量初始化;表达式2的作用是给出循环条件;表达式3的作用是改变循环变量的值。
如果循环体是多条语句要放在大括号里,如果循环语句只有一条可以不用。
for循环的执行过程:执行表达式1,计算表达式2,如果表达式2的值为true,执行循环体,执行表达式3,改变循环变量的值,再计算表达式2的值,如果是true,再进入循环体,形成循环,直到表达式2的值为false,结束循环,执行for后面的语句。
例如
public static void main(String[] args) {
for (int a=1;a<10;a++){
System.out.println(a);
}
}
注意:
for语句的表达式1、表达式2、表达式3都可以为空,如果都为空则表示为一个无限循环。
4.foreach语句
foreach语句是for语句的特殊简化版本,它可以简化遍历数组和集合的程序代码。
foreach循环的语法结构:
for(元素类型 元素变量x :待遍历的集合或数组){
引用了变量x的Java语句;
}
foreach并不是一个关键字,习惯将符合以上 语法构的for语句称之为foreach语句,foreach语句并不能完全取代for语句,但foreach语句都可以改写成for语句。
5.多重循环
各种循环语句互相嵌套,组成多重循环。例如
public static void main(String[] args) {
for (int i=5;i>0;i--){
for (int j=1;j<=i;j++){
System.out.print("*");
}
System.out.println();
}
}
三、流程跳转语句
1.break语句
break是结束当前最近的一个循环。例如
public static void main(String[] args) {
int a=1,b=0;
while (true){
b+=a++;
if (a==50)break;
}
System.out.println(b);
}
2.continue语句
continue只是结束当前的一次循环,后面还是会继续执行。例如
public static void main(String[] args) {
int a = 0;
for(int b = 1;b<=50;b++){
if (b%2==0)continue;
else a+=b;
}
System.out.println(a);
}
3.return语句
return退出本方法,跳到上层调用方法,如果本方法返回类型不是void,需要提供相应的返回值。例如
public void method(){
System.out.println(amethod(5));//结果是1
}
public int amethod(int x){
if (x>0)return 1;
if (x==0)return 0;
System.out.println("default:x<0");
return -1;
}