1 条件分支语句
1.1 if语句
1)if语句的语法格式
if(表达式){
若干语句
}
2)在if语句中,如果复合语句中只有一条语句,{}可以省略。
1.2 if…else语句
1)if…else语句的语法格式
if(表达式){
若干语句
}
else{
若干语句
}
2)在if…else语句中,如果复合语句中只有一条语句,{}可以省略。
1.3 if…else if…else语句
1)if…else if…else语句的语法格式
if(表达式){
若干语句
}
else if(表达式){
若干语句
}
…
else{
若干语句
}
2)if嵌套
if(表达式){
若干语句
}
else{
if(表达式){
若干语句
}
}
案例一:根据分数输出相应信息,小于60不及格,[60,80)为及格,[80,100]为优秀
import java.util.Scanner;
class Score{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入成绩:");
int score=input.nextInt();
if(score<0||score>100){
System.out.println("输入错误");
}
else if(score<60){
System.out.println("成绩不合格");
}
else if(score<80){
System.out.println("成绩合格");
}
else{
System.out.println("成绩优秀");
}
}
}
案例二:根据数字输出对应星期
import java.util.Scanner;
class EnglishLearning{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入想要表示的星期数:");
int day = input.nextInt();
if(day==1){
System.out.println("Monday");
}else if(day == 2){
System.out.println("Thuesday");
}else if(day == 2){
System.out.println("Wednesday");
}else if(day == 2){
System.out.println("Thursday");
}else if(day == 2){
System.out.println("Friday");
}else if(day == 2){
System.out.println("Saturday");
}else if(day == 2){
System.out.println("Sunday");
}else{
System.out.println("输入错误");
}
}
}
2 switch开关语句
2.1 switch 一般格式定义
switch(表达式){
case 常量值1:
若干语句;
break;
case 常量值2:
若干语句;
break;
…
case 常量值m:
若干语句;
break;
default:
若干语句;
}
表达式:表达式的值可以为byte、short、char、int型、枚举类型、String类型
break:如果某个case中没有使用break语句,当表达式的值与该case后的值相同时,程序不仅执行该case中的若干语句,还会继续执行后续case中的若干语句,直到遇到break语句为止。
案例三 季度判断
import java.util.*;
class TestSeason{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
while(true){
System.out.println("----根据月份判断季节----");
System.out.print("请输入月份:");
int month = input.nextInt();
switch(month){
case 3:
case 4:
case 5:
System.out.println("Spring");
break;
case 6:
case 7:
case 8:
System.out.println("Summer");
break;
case 9:
case 10:
case 11:
System.out.println("Autumn");
break;
case 12:
case 1:
case 2:
System.out.println("Winter");
break;
default:
System.out.println("输入错误");
}
System.out.println("是否继续");
int x=input.nextInt();
if(x!=1){
break;
}
}
}
}
3 循环语句
1)循环要素
①起始点
②结束点
③变化量
④执行过程
3.1 for循环语句
for语句语法结构:
for(①表达式1;②表达式2;③表达式3){
④若干语句;
}
案例四:打印乘法表
class Test99{
public static void main(String[] args){
//实现9*9乘法表
int x;
int y;
for (y=1;y<10;y++){
for (x=1;x<=y;x++){
if(x<y){
System.out.print(x+"*"+y+"="+y*x+"\t");//Tab 转义字符
}
else{
System.out.println(x+"*"+y+"="+y*x);
}
}
}
}
}
3.2 增强for循环
Java5 中引入了一种主要用于数组的增强型 for 循环。
增强 for 循环语法格式:
for(循环变量类型 循环变量名称 : 要被遍历的对象){
若干语句;
}
class Test{
public static void main(String[] args){
int[] array = {1,2,3,4,5};
for(int value:arry){
System.out.println(value);
}
}
}
3.2 while循环语句
while语句语法结构:
while(表达式){ //执行次数未知
若干语句;
}
条件不满足,跳出循环
3.3 do…while循环语句
do…while语句语法结构:
do {
若干语句;
}while(表达式);
条件不满足,跳出循环
4 break语句
案例五:寻找一个100~1000内3和7的公倍数
class TestBreak{
public static void main(String[] args){
for(int x=100;x<1000;x++){
if(x%3==0&&x%7==0){
System.out.println("该数为"+x);
break;//终断的是循环
}
}
}
}
break 标记
break 默认跳出最内层循环。
break跳出指定层循环需在指定层循环做标记。
案例六 :打印乘积小于70的乘法表
class Test99{
public static void main(String[] args){
//实现9*9乘法表
int x;
int y;
over:for (y=1;y<10;y++){
for (x=1;x<=y;x++){
if(x*y>=70){
break over;
}
if(x<y){
System.out.print(x+"*"+y+"="+y*x+"\t");//Tab 转义字符
}
else{
System.out.println(x+"*"+y+"="+y*x);
}
}
}
}
}