1、分支结构
1.1 if……else……
int score = 45;
if(score>=80){
System.out.println("恭喜你,优秀");
}else if(score>=60 && score<=80){
System.out.println("恭喜你,及格了");
}else{
System.out.println("很遗憾,你没有及格");
}
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入你的身高:(cm)");
int height = scan.nextInt();
System.out.println("请输入你的财富:(千万)");
double money = scan.nextInt();
System.out.println("请输入你是否帅: (true or flase)");
boolean isHandsome = scan.nextBoolean();
if(height>=180 && money>=2 && isHandsome == true){
System.out.println("我一定要嫁给他");
}else if(height>=180 || money>=2 || isHandsome == true){
System.out.println("比上不足比下有余,嫁吧")
}else{
System.out.println("不嫁");
}
}
}
1.2 switch……case……结构
注意
- 根据switch中的表达式,依次匹配各个case中的常量,一旦匹配成功,则进入相应的case结构中,调用其执行语句,当调用完执行语句后,则仍然继续执行其他case结构中的执行语句,直到遇到break关键字或swicth-case结构末尾为止结束
- break可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出swicth-case结构
- swicth中的表达式,只能是以下六种数据结构之一:byte、short 、char、 int、 枚举类型、 String
- case之后只能声明常量,不能什么范围
int number = 0;
switch (number){
case 0:
System.out.println("one");
break;
case 1:
System.out.println("two");
break;
case 2:
System.out.println("three");
break;
default:
System.out.println("other");
break;
}
2、循环结构
2.1 for循环
int sum = 0; // 记录所有偶数的总和
int count = 0; // 记录偶数的个数
for(int i = 1;i<=100;i++){
if(i % 2==0) {
System.out.println(i); // 输出100以内的偶数
sum += i;
count++;
}
}
System.out.println("总和为:"+sum);
System.out.println("个数为:"sum);
}
- break关键字使用
int a = 12;
int b = 16;
// 获取两个数较大值
int min = (a > b)? b : a;
// 获取两个数较小值
int max = a > b ? a :b;
// 获取最小公倍数
for(int i=min;i >= 1;i--){
if(a % i ==0 && b % i ==0){
System.out.println(i);
break;
}
}
// 获取最大公约数
for(int i=max;i<a*b;i++){
if(i % a == 0 && i % b == 0){
System.out.println(i);
break;
}
}
2.2 while循环
for循环和while循环是可以相互转换的
int i = 1;
while(i <= 100){
if(i % 2 == 0){
System.out.println(i);
}
i++
}
2.3 do……while循环
int num = 1;
do{
if(num % 2 == 0 ){
System.out.println(num);
}
num++;
}while(num <= 100);
2.4 嵌套循环
- 内层循环结构遍历一遍,只相当于外层循环体执行了一次
- 假设外层循环需要执行m次,内层循环需要执行n次,此时内层循环的循环体一共执行了:m*n次
for(int i =0;i<=5;i++){
for(int j= 0;j<=5;j++){
System.out.print("*");
}
System.out.println();
}
实现99乘法表
for(int i =1;i<=9;i++){
for(int j= 1;j<=i;j++){
System.out.print(j+"*"+i+"="+(i*j)+" ");i
}
System.out.println();
}
输入100以内所有质数
for(int i=2;i<=100;i++){
boolean isFlag = true;
for(int j=2;j<i;j++){
if (i%j ==0){
isFlag = false;
break;
}
}
if(isFlag==true){
System.out.println(i);
}
}
2.5 break和continue
- break:结束当前循环
- continue:结束当次循环
for(int i=1;i<5;i++){
if(i==3){
break;
}
System.out.println(i); // 1 2
}
for(int i=1;i<5;i++){
if(i==3){
continue;
}
System.out.println(i); // 1 2 4 5
}