分支语句
1.流程控制语句分类:
-
顺序结构
没有特定的语法结构,按照代码的先后顺序,依次执行。
-
分支语句 (if, switch)
-
循环结构 (for, while, do…while)
2. if语句
2.1 if
举例代码:
public class IfDemo{
public static void main(String[] args){
System.out.println("开始");
//定义两个变量
int a = 10;
int b = 20;
//需求:判断a和b的值是否相等,如果相等,就输出打印:a等于b
if(a == b){
System.out.println("a等于b");
}//不执行
//需求:判断a和c的值是否相等,如果相等,就输出打印:a等于c
int c = 10;
if(a == c){
System.out.println("a等于c");
}
System.out.println("结束");
}
}
2.2 if…else
举例代码
public class IfDemo{
public static void main(String[] args){
System.out.println("开始");
//定义两个变量
int a = 10;
int b = 20;
/*需求:判断a是否大于b,如果是,就输出打印:a的值大于b
如果不是,就输出打印:a的值不大于b
*/
if(a > b){
System.out.println("a的值大于b");
}else{
System.out.println("a的值不大于b");
}
System.out.println("结束");
}
}
2.3 if…else if…else
举例代码
import java.util.Scanner;
public class IfDemo{
public static void main(String[] args){
System.out.println("开始");
//需求:键盘录入一个星期数(1,2,...,7),对应输出星期一,星期二,...,星期日
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个星期数(1,2,...,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("结束");
}
}
3. switch语句
3.1 switch语句格式
举例代码1:
import java.util.Scanner;
public class SwitchDemo{
public static void main(String[] args){
System.out.println("开始");
//需求:键盘录入一个星期数(1,2,...,7),对应输出星期一,星期二,...,星期日
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个星期数(1,2,...,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("你输入的星期数有误");
break;
}
System.out.println("结束");
}
}
3.2 case穿透
举例代码:
import java.util.Scanner;
public class SwitchDemo{
public static void main(String[] args){
System.out.println("开始");
//需求:键盘录入一个星期数(1,2,...,7),对应输出星期一,星期二,...,星期日
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个星期数(1,2,...,7): ");
int month = sc.nextInt();
/*
switch(month){
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;
case 8:
System.out.println("夏季");
break;
case 9:
System.out.println("秋季");
break;
case 10:
System.out.println("秋季");
break;
case 11:
System.out.println("秋季");
break;
case 12:
System.out.println("冬季");
default:
System.out.println("你输入的月份数有误");
break;//此处break可以省略
}
*/
//运用case穿透编写
switch(month){
case 1:
case 2:
case 12:
System.out.println("冬季");
break;
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
default:
System.out.println("你输入的月份数有误");
break;//此处break可以省略
}
System.out.println("结束");
}
}
4. for循环语句
举例代码:
public class ForDemo{
public static void main(String[] args){
for(int i=1; i<=5 ; i++){
System.out.println("HelloWorld!");
}
}
}
5. while循环语句
举例代码:
public class WhileDemo{
public static void main(String[] args){
//定义纸张厚度
double paper = 0.1;
//定义珠峰高度
int zf = 8844430;
//定义一个计数器,初始值为0
int count = 0;
while(paper <= zf){
//每次折叠后,纸张厚度加倍
paper *= 2;
//对应折叠多少次
count++;
}
}
}
6. do…while循环语句
public class Do_WhlieDemo{
public static void main(String[] args){
int j = 1;
//do...while循环语句
do{
System.out.println("HelloWorld!");
j++
}while(j<=5);
}
}
三种循环的区别
三种循环区别代码:
public class ForDemo{
public static void main(String[] args){
//for循环
for(int i=3; i<3; i++){
System.out.println("HelloWorld!");
}
System.out.println("----------");
//while循环
int j = 3;
while(j<3){
System.out.println("HelloWorld!");
}
System.out.println("----------");
//do...while循环
int k = 3;
do{
System.out.println("HelloWorld!");
k++
}while(j<=3);
}
}
for和while的区别:
public class ForDemo{
public static void main(String[] args){
//for循环
for(int i=1; i<3; i++){
System.out.println("HelloWorld!");
}
/*System.out.println(i);
此处错报,因为i归属于for循环中,在for循环结束后,不能再访问
*/
System.out.println("----------");
//while循环
int j = 3;
while(j<3){
System.out.println("HelloWorld!");
}
System.out.println(i);
System.out.println("----------");
}
}
7.跳转控制语句
continue:在循环中,基于条件控制,跳过某次循环体内容的执行,继续下一次执行
break:在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前的真个循环体
8.循环嵌套
9. Random
9.1 Random的作用和使用步骤
举例代码:
import java.util.Random;
public class RandomDemo{
public static void main(String[] args){
Random r = new Random();
int number = r.nextInt(10);
System.out.println("number:" + number);
}
}
9.2 案例猜数字
import java.util.Random;
import java.util.Scanner;
public class RandomDemo{
public static void main(String[] args){
//随机生成该数字,范围1到100
Random r = new Random();
int number = r.nextInt(100) + 1;
while(true){
Scanner sc = new Scannner(System.in);
System.out.println("请输入你要猜的数字");
int guessNumber = sc.nextInt();
if(guessNumber > number){
System.out.println("你猜的数字" + guessNumber + "大了");
}else if(guessNumber < number){
System.out.println("你猜的数字" + guessNumber + "小了");
}else{
System.out.println("恭喜你,猜中了");
break;
}
}
}
}