复合语句
Java中的复合语句是以整个块区为单位的语句,所以又称块语句。复合语句是有“{”开始,“}”结束的语句。对于复合语句中的每个语句都是从上到下被执行的。复合语句可以用在任何一个单独语句可以用到的地方,并且复合语句是可嵌套的。
注意:复合语句为局部变量创建了一个作用域,只能在此作用域中使用此变量。
条件语句
if条件语句
if语句是用于在某条件成立的情况下执行某段程序,而在另一种情况下执行另一段代码。if的后面跟着一个“布尔表达式”作为条件,表达式的结果为true则执行后面语句块中代码,否则不执行。if语句可分为简单的if语句、if...else语句和if...else if多分支语句。
1、简单if条件语句
语法格式:
布尔表达式:必要参数,表示最后返回的结果必须是布尔值,它可以是一个布尔变量和常量,或者使用关系或布尔运算符的表达式。
语句序列:可选参数,可以是一条或多条语句,布尔表达式的结果 为true时执行。如果语句序列中仅有一条语句,大括号可以省略。
int a = 100;
if(a == 100)
System.out.println("a的值为:" + a);
注意:虽然if语句后面的大括号可以省略,但是为了程序的阅读性,建议还是不要省略。
2、if...else语句
if...else语句表示为,如果满足某种条件,就进行某种处理,否则就进行另一种处理。语法格式如下:
同if语句一样,表达式的结果必须是boolean类型的,为true执行表达式后面的语句块,为false执行else后面的语句块。
3、if...else if多分支语句
if...esle if语句是针对某一事件的多种情况进行处理。通常表示为“如果满足条件,就进行某种操作,否则如果满足另一种条件就进行另一种操作”。语法格式如下:
注意:if语句只执行条件为true的命令语句,其他语句都不会执行。
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
//创建扫描器
Scanner scan = new Scanner(System.in);
System.out.print("请输入用户名:");
//获得输入的值
String userName = scan.nextLine();
System.out.println("请输入密码:");
//获得输入的值
String password = scan.nextLine();
//判断用户名
if (!userName.equals("wc")) {
System.out.println("用户名非法");
} else if (!password.equals("wcsoft")) {//判断密码
System.out.println("登录密码错误");
} else {
System.out.println("登录成功");
}
}
}
switch多分支语句
在编程中比较常见的问题就是检测一个变量是否符合某个条件,如果不匹配就用另一个值来检测,以此类推。当然这个问题if语句也可以处理,但是比较笨重,这种情况推荐使用switch语句。在Java中,可以使用switch语句将动作组织起来,以一种简单明了的方式来实现“多对一”的选择。语法如下:
switch语句中表达式的值必须是整型或字符型,在JDK1.7之后支持String类型。如果表达式的值和某个case后面的值相同,则执行case后面的语句直到遇到break语句为止。此时的case语句中没有break语句,就继续执行,知道遇到break或大括号为止。default语句是可选的,表示默认,如果没有一个常量值与表达式的值相同,则执行default。
注意:同一个switch语句,case常量值必须互不相同。常量值不可以是字符串。
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
// 创建扫描器
Scanner scan = new Scanner(System.in);
// 获得输入
int achievement = scan.nextInt();
// 成绩对10取余
achievement = achievement % 10;
// 根据成绩判断学生的等级
switch (achievement) {
case 9:
System.out.println("优");
break;
case 8:
System.out.println("良");
break;
case 7:
System.out.println("中");
break;
case 6:
System.out.println("差");
break;
default:
if (achievement >= 0 && achievement <= 10) {
System.out.println("不及格");
} else {
System.out.println("输入的数不是有效分数");
}
break;
}
}
}
循环语句
循环语句就是在满足一定条件的情况下反复执行的某一个操作。Java中提供了三种循环语句,分别是:while语句、do...while语句和for循环。
while语句
while语句也成为条件判断语句,循环方式:利用条件来控制是否继续反复执行这个语句。语法如下:
当条件返回的结果为真则执行语句块,并重新判断条件,知道条件不满足时退出循环。
public class Demo {
public static void main(String[] args) {
int a = 100;
while (a > 60) {
// System.out.println(a);
a--;
}
System.out.println(a);
}
}
do...while语句
do...while语句与while语句类似,它们之间的区别是while语句是先判断条件知否成立在执行循环体,do...while语句是先执行一遍循环体在判断条件是否成立。也就是说do...while语句循环体至少被执行一次。语法如下:
public class Demo {
public static void main(String[] args) {
int b = 100;
do {
b--;
} while (b == 60);
System.out.println(b);
}
}
for循环
for循环是Java程序设计中最常用的循环语句。一个for循环可以用来重复执行某条语句,知道某个条件得到满足。在JDK1.5之后新增了foreach语法,又称增强for循环,语法上更为简洁。
for语句
语法如下:
表达式1:初始化表达式,负责完成变量的初始化。
表达式2:循环条件表达式,值为boolean型的表达式,指定循环条件。
表达式3:循环后操作表达式,负责修整变量,改变循环条件。
for循环的执行循序:
首先执行表达式1,完成变量的初始化工作;下一步 判断表达式2的值,为true进入循环体;执行完循环体后执行表达式3,这部分通常是增加或减少循环控制变量的一个表达式。直到循环条件不满足时跳出循环。
/**
* 打印九九乘法表
*
* @author Administrator
*
*/
public class Demo {
public static void main(String[] args) {
// 外层循环 被乘数
for (int i = 1; i <= 9; i++) {
// 内层循环 乘数
for (int j = 1; j <= i; j++) {
// 打印九九乘法表
System.out.print(j + "*" + i + "=" + j * i + "\t");
}
// 输出换行
System.out.println();
}
}
}
foreach语句
foreach语句是for语句的特殊简化版,foreach并不能完全取代for循环,然而任何的foreach语句都可以改写成for循环。
foreach语句中的变量x,不必对其进行初始化。foreach语句在遍历数组方面提供了很大的方便。
public class Demo {
public static void main(String[] args) {
// 定义一个数组
int[] arr = { 1, 2, 3, 4 };
// 遍历数组
for (int i : arr) {
System.out.print(i + "\t");
}
}
}
跳转语句
Java中提供了3种跳转语句,分别是break、continue和return。
break语句
break语句在switch中是用于终止下面的case,也可以用在循环语句中,表示结束循环,也就是忽略循环体中任何其他语句和循环条件的限制。
注意:在循环语句嵌套的情况下break是只能结束当前循环,想要结束外层循环可以使用标记来实现。
public class Demo {
public static void main(String[] args) {
// 定义一个变量
int a = 100;
// 循环
a: while (a > 60) {
a--;
break a;
}
System.out.println(a);
}
}
continue语句
continue语句只能用于循环语句中,表示跳出本次循环,进行下一次循环。
/**
* 输出10以内的全部奇数
*
* @author Administrator
*
*/
public class Demo {
public static void main(String[] args) {
// 定义一个变量i
int i = 0;
// 循环
while (i < 10) {
i++;
// 如果i对2取余等于0就跳出本次循环
if (i % 2 == 0) {
continue;
}
// 输出i的值
System.out.print(i + "\t");
}
}
}
return语句
return语句可以从一个方法返回,并把控制权交给调用它的语句。语法如下:
表达式:可选参数,表示要返回的值。它的数据类型必须与方法中声明的返回值类型一致,可以通过强制类型转换实现。
return语句通常被放在调用方法的最后,用于退出当前方法并返回一个值。
参考文献《Java从入门到精通》