条件语句
if条件语句
if条件语句主要用于告知程序某一个条件成立时,需执行满足该条件的相关语句。if条件语句可分为简单的if条件语句、if……else语句和if……else if语句。
简单的if条件语句
语法如下:
if(布尔表达式){
语句;
}
布尔表达式:必要参数,最后返回的结果必须是一个布尔值,它可以是一个单纯的布尔变量或常量,也可以是一个关系表达式。
语句:可以一条或多条语句,当布尔表达式的值为true时执行这些语句,若仅有一条语句,可以省略“{ }”,但为了程序的可读性最好不要省略
例如:
public class Demo {
public static void main(String []args) {
int a=15;
if(a==15){
System.out.println("a的值为15");
}
}
}
注意:
if……else语句
语法如下:
if(表达式){
语句1;
}else{
语句2;
}
if……else if语句
语法如下:
if(表达式){
语句1;
}else if{
语句2;
}……
else if{
语句n;
}
switch多分支语句
通过一个实例代码了解该语句:
import java.util.Scanner;
public class Demo {
public static void main(String []args) {
System.out.println("请输入成绩:");
Scanner sc=new Scanner(System.in)
int grade=sc.nextInt();
switch(grade){
case 10:
case 9:
System.out.println("成绩为优");
break;
case 8:
System.out.println("成绩为良");
break;
case 7:
case 6:
System.out.println("成绩为中");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
System.out.println("成绩为差");
break;
default:
System.out.println("成绩无效");
}
sc.close();
}
}
运行结果如下:
注意:
- 同一个switch多分支语句,case的常量值必须互不相同
- case语句后常量表达式的值可以为int、short、char、byte、String以及enum(枚举类型),例如,case 1.1就是不合法的。
循环语句
while循环语句
while语句的循环方式是通过一个条件来控制是否要继续反复执行这个语句。当条件表达式的值为真时,执行“{ }”中的语句。
语法如下:
while(条件表达式){
执行语句;
}
计算1+……+10的和实例代码如下:
public class Demo {
public static void main(String []args) {
int i=1;
int sum=0;
while(i<=10){
sum+=i;
i++;
}
Sysytem.out.println("sum="+sum);
}
}
do……while循环语句
do……while循环语句与while循环语句类似,它们之间的区别在于while语句是先判断条件是否成立再执行循环体,而do……while语句是先执行一次循环体后,再判断条件是否成立。也就是说,do……while语句“{ }”中的语句至少要执行一次。
语法如下:
do{
执行语句;
}while(条件表达式);
使用该语句进行用户验证登录,如果用户输入的密码不是“123456”,则提示用户反复输入直到输入正确面为止。
实例代码如下:
import java.util.Scanner;
public class Demo {
public static void main(String []args) {
Scanner sc =new Scanner(System.in)
String password;
do{
System.out.println("请输入6位数字密码");
password=sc.nextLine();
}while(!"123456".equals(password));
System.out.println("登录成功!");
sc.close();
}
}
for循环语句
for循环语句如下:
for(表达式1;表达式2;表达式3){
执行语句;
}
表达式1:该表达式通常是一个赋值表达式,负责设置循环的起始值,也就是给控制循环的变量付初值。
表达式1:该表达式通常是一个关系表达式,用控制循环的变量和循环变量允许的范围值进行比较。
表达式1:该表达式通常是一个赋值表达式,对控制循环的变量进行增大或减小。
使用for循环完成1+……+10的计算
实例代码如下:
public class Demo {
public static void main(String []args) {
int i;
int sum=0;
for(i=1;i<=10;i++){
sum+=i;
}
System.out.println("结果为:"+sum);
}
}
foreach语句
foreach语句是for语句的特殊简化版本,但是它并不能完全取代for语句,并不是所有的foreach语句都可以改写成for语句。foreach语句并不是一个关键字,只是习惯的讲这种特殊的for语句格式成为foreach语句,其在遍历数组方面提供很大遍历。
语法如下:
for(循环变量x:遍历对象obj){
引用了x的Java语句;
}
遍历对象obj:依次读取obj中的元素的值
循环变量x:讲obj遍历读取出的值赋给x
使用foreach语句遍历整型数组
实例代码如下:
public class Demo {
public static void main(String []args) {
int arr[]={7,10,1};
System.out.println("一位数组中的元素分别为:");
for(int x:arr){
System.out.println(x)
}
}
}
运行结果如下:
循环语句的嵌套
循环有for、while和do……while3种方式,这3种循环可以相互嵌套。
使用for的循环语句嵌套输出乘法口诀
实例代码如下:
public class Demo {
public static void main(String []args) {
int i,j;
for(i=1;i<10;i++){
for(j=1;j<i+1;j++){
System.out.println(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
}
}
}
运行结果如下:
跳转语句
break语句
使用break语句可以跳出switch语句,同样也可用break语句跳出当前循环体,从而中断当前循环体。
注意:
- 如果遇到循环嵌套的情况,break语句只会使程序流程跳出它的最内层循环,即只跳出一层循环。
- 如果想要break跳出外层循环,Java提供了“标签”的功能,语法如下:
标签名:循环体{
break 标签名;
}
使用break跳出指定的循环
实例代码如下:
public class Demo {
public static void main(String []args) {
Loop:for(int i=0;i<3;i++){
for(int j=0;j<6;j++){
if(j==4){
break Loop;
}
System.out.println("i="+i+" j="+j);
}
}
}
}
运行结果如下:
从这个结果可以看出,当j的值为4时,i的值没有继续增加。
continue语句
continue语句是跳过本次循环结束前的语句,回到循环的条件测试部分,重新开始执行循环。
使用for循环输出1-19之间所有的偶数,如果输出的值为奇数,则使用continue跳过本次循环。
实例代码如下:
public class Demo {
public static void main(String []args) {
for(int i=1;i<20;i++){
if(i%2!=0){
continue;
}
System.out.println(i);
}
}
}
运行结果如下:
注意:
与break一样,continue也支持标签功能,方法同理。