第三节 选择结构-if语句-Switch语句
1.流程控制
1.1 流程控制语句概述
1.2 流程控制语句分类
- 顺序结构
- 分支结构(if,switch)
- 循环结构(for、while、do…while)
1.3顺序结构
顺序结构是程序代码中最简单最基本的流程控制,没有特定的语法结构,按照代码先后顺序,依次执行,程序中大多数的代码都是这样执行的。
2.if语句
2.1 if语句格式1
2.2 if语句格式2
public class IfDemo{
public static void main(String[] args){
System.out,println("开始")
int a = 10;
int b = 20;
if(a > b){
System.out.println("a的值大于b");
}else{
System.out.println("a的值不大于b");
}
System.out,println("结束")
}
}
案例
需求:任意给出一个整数,请用程序实现判断该整数是奇数还是偶数,并在控制台输出该整数是奇数还是偶数。
分析:
-
为了体现任意给出一个整数,采用键盘录入一个数据
-
使用键盘录入功能需要导包 import java.util.Scanner; -
创建对象 Scanner sc = new Scanner(System.in); -
接收数据 int number = sc.nextInt(); -
判断整数是偶数还是奇数要分两种情况进行判断,使用if…else结构
-
判断是否是偶数需要使用取余运算符实现该功能number % 2 ==0 if (number % 2 == 0){
语句体1
}else{
语句体2
}
-
根据判定情况,在控制台输出对应的内容 if (number % 2 == 0 ){
System.out.println(number+"是偶数。")
}else{
System.out.println(number+"是奇数。")
}
-
整体代码
import java.util.Scanner
public class IfTest01{
public static void main (String [] args){
Scanner sc = new Scanner(System.in);
System.out,println("请输入一个整数:")
int number = sc.nextInt();
if (number % 2 == 0 ){
System.out.println(number+"是偶数。")
}else{
System.out.println(number+"是奇数。")
}
}
}
2.3 if 语句格式3
执行流程:
- 首先计算关系表达式1的值
- 如果值为true就执行语句体1;如果值为false就计算关系表达式2的值
- 如果值为true就执行语句体2;如果值为false就计算关系表达式3的值
- …
- 如果没有任何关系表达式为true,就执行语句体n+1。
import java.util.Scanner;
public class IfDemo03{
public static void main(String[] args){
System.out.println("开始");
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个星期数(1-7):");
int week = sc.nextInt();
if(week == 1){
System.out.println("星期一");
}else if(week == 2){
System.out.println("星期二");
}else if(week == 3){
System.out.println("星期三");
}else if(week == 4){
System.out.println("星期四");
}else if(week == 5){
System.out.println("星期五");
}else if(week == 6){
System.out.println("星期六");
}else{System.out.println("星期日")
}
System.out.println("结束")
}
}
案例(考试奖励)
分析:
- 小明的考试成绩未知,可以使用键盘录入的方式获取值使用键盘录入需要导包,创建对象,接收数据
- 由于奖励种类较多,属于多种判断,采用if…else…if格式实现
- 为每种判断设置对应的条件
- 为每种判断设置对应的奖励
if(score >=100 || score <= 0){
System.out.println
}
3. switch语句格式
3.1 switch语句格式
格式说明:
- 表达式:取值为byte、short、int、char,JDK5 以后可以是枚举,JDK7以后可以是String。
- case:后面跟的是要和表达式进行比较的值
- break:表示中断,结束的意思,用来结束Switch语句
- default:表示所有情况都不匹配的时候,就执行该处内容,和if语句的else相似。
执行流程:
- 首先计算表达式的值。
- 依次和case后面的值进行比较,如果有对应的值,就会执行响应的语句,在执行过程中,遇到break就会结束。
- 如果所有的case后面的值和表达式都不匹配,就会执行default里面的语句体,然后程序结束掉。
import java.util.Scanner;
public class Switch{
public static void main(String[] args) {
System.out.println("开始");
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数(1-7):");
int week = sc.nextInt();
switch(week){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("你输入的星期数有误!");
System.out.println("结束");
}
}
}
案例:春夏秋冬
分析:
第七节 循环语句
1. for循环语句
1.1 循环语句
特征:
1.2 for循环语句格式
public class ForDemo {
public static void main(String[] args){
for (int i=1;i<=5;i++){
System.out.println("Hello world!");
}
}
}
案例:求和
public class SumDemo{
public static void main(String[] args){
int sum = 0;
for (int i=1;i<=5;i++){
sum +=i;
}
System.out.println("1-5之间的数据之和:"+sum);
}
}
案例:求偶数和
package JavaBasic;
public class SumDemo01{
public static void main(String[] agrs){
int sum = 0;
for (int i = 0; i <= 100; i++){
if(i % 2 ==0){
sum += i;
}
}
System.out.println("1-100之间的总数和是:"+ sum);
}
案例:水仙花
package JavaBasic;
public class shuixianhua {
public static void main(String[] args){
for (int i = 100; i < 1000; i++){
int ge = i %10;
int shi = i /10 %10;
int bai = i /10/10% 10;
if(ge*ge*ge + shi*shi*shi + bai*bai*bai == i){
System.out.println(i);
}
}
}
}
2. while
2.1 while 循环语句格式
package JavaBasic;
public class WhileDemo {
public static void main(String[] args){
for(int i = 1; i<=5 ;i++){
System.out.println("Hello World!");
}
System.out.println("____________");
int j = 1;
while(j<=5){
System.out.println("Hello World!");
j++;
}
}
}
案例:珠穆朗玛峰
package JavaBasic;
public class zhumulangmafeng {
public static void main(String[] args){
double paper = 0.1;
int zf = 8844430;
int count = 0;
while(paper <= zf){
paper *=2;
count++;
}
System.out.println("总折了"+count);
}
}
3. do…whlie循环语句
3.1 do…whlie循环语句格式
package JavaBasic;
public class dowihlieDemo {
public static void main(String[] args){
for (int i=1;i<=5;i++){
System.out.println("Hello world!");
}
System.out.println("____________");
int j = 1;
do{
System.out.println("Hello world!");
j++;
}while(j<=5);
}
}
4.三种循环的区别
5. 跳转控制语句概述
5.1 跳转控制语句概述
- continue 用于循环中,基于条件控制,跳过某次循环体内容执行,继续下一次执行
- break 用于循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前的整个循环
package JavaBasic;
public class TiaoZhuan {
public static void main(String[] args){
for(int i = 1;i <=5 ;i++){
if(i%2 ==0){
break;
}
System.out.println(i);
}
}
}
6. 循环嵌套
6.1 循环嵌套概述
package JavaBasic;
public class XunhuanQiantaoDemo {
public static void main(String[] atgs){
for(int hour = 0; hour<24;hour++){
for(int minute = 0; minute<60;minute++){
System.out.println(hour+"时"+minute+"分");
}
System.out.println("-----------");
}
}
}
7. Random
7.1 Random 的作用和使用步骤
package JavaBasic;
import java.util.Random;
public class RandomDemo {
public static void main(String[] args){
Random r =new Random();
for(int i=0;i<10;i++ ){
int number = r.nextInt(101);
System.out.println(number);
}
}
}
案例:猜数字
|