分支结构
if
根据判定的结果(真或假)决定执行某个分支的代码
// 第一种
//if 语句中,如果大括号控制的只有一行代码,则大括号可以省略不写。
if (条件表达式) {
语句体1;
}
//第二种
if (条件表达式) {
语句体1;
}else {
语句体2;
}
//第三种
if (条件表达式1) {
语句体1;
} else if (条件表达式2) {
语句体2;
} else if (条件表达式3) {
语句体3;
}
...
else {
语句体n+1;
}
switch
switch(表达式){
case 值1:
执行代码...;
break;
case 值2:
执行代码...;
break;
...
case 值n-1:
执行代码...;
break;
default:
执行代码n;
}
穿透性:case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
循环结构
for
控制循环的变量只在循环中可以使用。
for (初始化语句; 循环条件; 迭代语句) {
循环体语句(重复执行的代码);
}
//示例
for (i = 0; i <3; i++) {
System.out.println("hello world!");-
}
while
不知道有多少次循环可用!
控制循环的变量在循环后还可以继续使用
初始化语句;
while (循环条件) {
循环语句;
迭代语句;
}
//示例
int i = 0;
while (i<3) {
System.out.println("hello world!);
i++;
}
do—while
特点:一定会先执行一次循环体
初始化语句;
do {
循环体语句;
迭代语句;
}while (循环条件);
// 示例
int i = 0;
do {
System.out.println("Hello world!");
i++;
}while(i < 3);
死循环
for(;;){
System.out.println("Hello world!");
}
//经典做法
while(true) {
System.out.println("Hello world!");
}
do {
System.out.println("Hello world!");
}while(true);
循环嵌套
特点:外部循环每循环一次,内部循环全部执行完一次
// 打印星星
// print打印不换行。println打印并换行
public class StartMatrix {
public static void main(String[] args) {
for (int i = 1;i<=4;i++) {
for (int j =1;j<=5;j++){
System.out.print("*");
}
System.out.println();
}
}
}
跳转关键字
break
跳出并结束当前所在循环的执行
只能用于结束所在循环或者结束所在switch分支的执行
continue
用于跳出当前循环的档次执行,进入下一次循环
只能在循环中进行使用
Random的使用
- 导包:告诉程序去JDK的哪个宝中找随机数技术
- 写一行代码代表得到随机数对象
- 调用随机数的功能获取0-9的随机数
- nextInt(n)功能只能生成:0-n-1之间的随机数,不包含n。
package com.itheima.random;
import java.util.Random;
public class ProduceRandom {
public static void main(String[] args) {
Random r = new Random();
int number = r.nextInt(10);
System.out.println("随机生成了 "+ number);
}
}
// 随机生成一个1-100之间的数据,提示用户猜测,猜大提示过大,猜小提示过小,直到猜中结束游戏
import java.util.Random;
import java.util.Scanner;
public class GuessNumber {
public static void main(String[] args) {
Random r = new Random();
int right = r.nextInt(100);
while(true) {
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
if (number > right){
System.out.println("过大了");
}else if (number < right){
System.out.println("过小了");
}else{
System.out.println("猜对了");
break;
}
}
}
}