Java程序三大结构,顺序、选择(分支)、循环

博主介绍:💐大家好,我是不行,还得练
博客主页:🔍@不行,还得练的个人主页
————👀努力坚持向技术大牛看齐的菜鸟
————🌊时代浪潮,不进则退
🌸本文章为个人在学习中遇到的困难及解决方案,对学习内容的知识总结等等,希望对您有帮助,初入博客,文章简陋粗浅,如有错误,欢迎批评指正✌

Java语言基础

程序三大结构,顺序、选择(分支)、循环



引言

当谈到编程语言的基础知识时,Java 中的顺序、选择(分支)和循环结构是至关重要的概念。它们是帮助我们控制程序流程的重要工具。在本文中,我们将深入了解这些结构,并学习如何在 Java 中使用它们。


一、顺序结构

顺序结构是程序语言中最常见的结构。它表示语句按照编写顺序依次执行。Java 中的语句以分号作为结束符,每个语句占据一行代码。

例如,下面是一个简单的顺序结构示例:

int a = 5;
int b = 10;
int sum = a + b;
System.out.println("和为:" + sum);

二、选择结构

根据已知条件进⾏逻辑判断,满⾜条件后执⾏相应操作。

1.基本if选择结构

语法:
if(逻辑表达式) {
    //代码块
}

执行流程:

  • 对逻辑表达式进行判断
  • 结果为true,则先执行代码块,在执行后续代码
  • 结果为false,则跳过代码块,直接执⾏后续代码

示例:

public static void main(String[] args){
	double score = 100.0;
	if(score == 100){
		System.out.println("恭喜,满分");
	}
	System.out.println("程序结束");
}

2.if else选择结构

语法:
if (逻辑表达式) {
    //代码块1
} else {
    //代码块2
}

执行流程:

  • 对布尔表达式进⾏判断
  • 结果为true,则先执⾏代码块1,再退出整个结构,执⾏后续代码
  • 结果为false,则先执⾏代码块2,再退出整个结构,执⾏后续代码

示例:

public static void main(String[] args){
 	double score = 100.0;
 	if (score == 100.0){
 		System.out.println("恭喜,满分");
 	} else {
 		System.out.println("不是满分,下次努力");
	 }
 	System.out.println("程序结束...");
 }

3.if…else if else…多重选择结构

语法:
if (逻辑表达式1 ) {
	//代码块1
} else if (逻辑表达式2) {
   	//代码块2
} else if (逻辑表达式3) {
	//代码块3
} else {
   	//代码块4
}

执行流程:

  • 表达式1为true,则执⾏代码块1,再退出整个结构
  • 表达式2为true,则执⾏代码块2,再退出整个结构
  • 表达式3为true,则执⾏代码块3,再退出整个结构
  • 以上均为false,则执⾏代码块4,再退出整个结构

相互排斥,有⼀个为true,其他均不再执⾏

示例:

public static void main(String[] args){
 	int money = 110; //单位:万
	if(money > 100){
 		System.out.println("帕拉梅拉");
 	}else if(money > 50){
		System.out.println("宝⻢5系");
 	}else if(money > 10){
 		System.out.println("奥迪A4L");
 	}else{
 		System.out.println("自己走");
 	}
 	System.out.println("程序结束");
 
 }

4.嵌套if选择结构

语法:
if (外层表达式) {
    if ( 内层表达式) {
    //内层代码块1
    } else {
    //内层代码块2
    }
} else {
 //外层代码块
}

执行流程:

  • 当外层条件满⾜时,再判断内层条件

⼀个选择结构中,可嵌套另⼀个选择结构,嵌套格式正确的情况下,⽀持任意组合

示例:

public static void main(String[] args){
 
	 /*
	 运动会百⽶赛跑
	 ⽤时10秒之内的⼈进⼊总决赛,否则淘汰
	 */
	 
	 int timer = 9;
	 
	 char sex = '男';
	 
	 if(timer <= 10){//外层条件
	 
		 //进⼊总决赛
		 if(sex == '男'){//内层条件
		 	System.out.println("男⼦组决赛");
		 }else{
		 	System.out.println("⼥⼦组决赛");
		 }
	 }else{
	 	System.out.println("淘汰");
	 }
 }

5. switch分支结构

语法:
switch(变量 | 表达式){
	case 值1:
	 	逻辑代码1;
	case 值2:
	 	逻辑代码2;
	case 值n:
		 逻辑代码n;
	 default:
	 	未满⾜时的逻辑代码;
}

执行流程:

  • 如果变量中的值等于值1,则执⾏逻辑代码1
  • 如果变量中的值等于值2,则执⾏逻辑代码2
  • 如果变量中的值等于值n,则执⾏逻辑代码n
  • 如果变量中的值没有匹配的case值时,执⾏default中的逻辑代码

当匹配的case执⾏后,不会⾃动退出整个结构,⽽是继续向下执⾏

break关键字可在匹配的case执⾏后,跳出整个结构

示例:

public static void main(String[] args){

	 int weekDay = 8;
	 
	 switch( weekDay ){ //根据weekDay的值,找到匹配的case,并执⾏逻辑代码
	 default:
	 	System.out.println("请输⼊1~7之间的整数!");
	 	break;
	 case 1:
	 	System.out.println("湘菜");
	 	break;
	 case 3:
	 	System.out.println("粤菜");
	 	break;
	 case 4:
	 	System.out.println("浙菜");
	 	break;
	 case 2:
	 case 5:
	 case 6:
	 	System.out.println("川菜");
	 	break;
	 case 7:
	 	System.out.println("徽菜");
	 	break;
	 }
	 
	 System.out.println("程序结束...");
	 
 }

局部变量

声明在⽅法内部的变量,必须先赋值再使用
只要定义在main中的变量都是局部变量

  • 没有初始化的变量不能使用
  • 使用作用范围
    • 定义在哪个大括号中(最近),作用范围就在哪个大括号,出了这个大括号就不能再使用了
    • 如果在for循环中的小括号中定义的,那么只能在该for循环的循环体中使用
      • 在不同的for循环中,可以定义相同的变量名
    • 在相同的作用范围内,不能出现两个相同名称的局部变量。
      • 在不同的范围内,是允许出现名称相同的局部变量

作用范围:
定义⾏开始到所在的代码块结束
多个变量,在重合的作⽤范围内,不可出现重名(命名冲突)

从控制台输入

  • 引入扫描器
import java.util.Scanner;
  • 在main方法中定义扫描器
Scanner scan = new Scanner(System.in);
  • 定义提示信息
    输入结束,点击回车键,提示扫描器进行扫描

  • 使用扫描器,扫描控制台,获取数据

    • 输入的是整数使用 nextInt()
    • 输入的是小数使用 nextDouble()
    • 输入的是字符串使用 next()
  • 关闭扫描器

scan.close();

示例:

public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
	
		System.out.println("请输入您的年龄:");
		int age = scan.nextInt();	//扫描用户输入的数据,赋值给变量age
		System.out.println("你输入的年龄是:"+age);
		
		//3.1 输入小数
		System.out.println("请输入您的工资:");
		double salary = scan.nextDouble();
		System.out.println("你输入的工资是:"+salary);
		
		//3.2 输入字符串
		System.out.println("请输入您的姓名:");
		String name = scan.next();
		System.out.println("你输入的姓名是:"+name);
		//4. 关闭扫描器
		scan.close();
	}


三、循环结构

通过某个条件,重复的执行⼀段逻辑代码

1.while循环

语法:
while (逻辑表达式) {
   //逻辑代码(循环操作)
}

执行流程:

  • 先对布尔表达式进⾏判断,结果为true,则执⾏逻辑代码
  • 本次执⾏完毕后,再次进⾏判断,结果仍旧为true,则再次执⾏逻辑代码
  • 直⾄布尔表达式的结果为false时,才会退出循环结构,执⾏后续代码

示例:

 public static void main(String[] args){
	 //打印10遍HelloWorld
	 int i = 1;
	 
	 while( i <= 10 ){
	 System.out.println("HelloWorld");
	 i++;
	 }
	 System.out.println("程序结束..."); 
 }

2.do while循环

语法:
do {
	逻辑代码(循环操作)
} while (逻辑表达式);

执行流程:

  • 先执⾏⼀次循环操作之后,再进⾏布尔表达式的判断
  • 如果结果为true,则再次执⾏循环操作
  • 如果结果为false,才会退出循环结构,执⾏后续代码

示例:

public static void main(String[] args){
	 //打印10遍“HelloWorld”
	 int i = 1;
	 
	 do {
	 	System.out.println("HelloWorld" + i);
	 	i++;
	 } while ( i <= 10);
 }

do while循环应⽤场景:适⽤于循环次数不明确的情况。

3.for循环

语法:
for(初始部分 ; 循环条件 ; 迭代部分){
    //循环操作
}

执行流程:

  • ⾸次执⾏初始部分(仅⼀次)
  • 对布尔表达式进⾏判断,结果为true,则执⾏逻辑代码
  • 本次执⾏完毕后,执⾏迭代部分,再次判断,结果仍旧为true,则再次执⾏逻辑代码
  • 直⾄布尔表达式的结果为false时,才会退出循环结构,执⾏后续代码

示例:

public static void main(String[] args) {
		
		//打印10行 hello world
		for(int n = 1; n<=10; n++) {
			System.out.println("hello world");
		}
	}

4.循环的关键字

  • continue : 结束本次循环,开始下一次循环
  • break : 直接结束循环

示例:

public static void main(String[] args) {
		//计算1-100之间的偶数和
		int sum =0;
		for(int i=1; i<=100; i++) {
			if(i%2 != 0) {
				continue;			// 结束本次循环,开始下一次循环
			}
			sum += i;
		}
		System.out.println(sum);
		
		
		//计算1-100之间的和
		sum = 0;
		for(int i=1; i<=1000; i++) {
			sum += i;
			if(i==100) {
				break;			//结束循环,执行后续代码
			}	
		}
		
		System.out.println(sum);
	}

5.循环的嵌套

在⼀个完整的循环结构中,嵌套另⼀个完整的循环结构

示例:

public static void main(String[] args) {
	//打印99乘法表
	for(int i=1; i<=9;i++) { // i=1,2,3,4,5,6,7,8,9
			
		for(int j=1; j<=i; j++) { // i, j=1,2,...,i
				System.out.print(j+"×"+i+"="+j*i+"\t");  //1×5=5
			}
			
		System.out.println();
		}
	}

总结

这是一篇关于 Java 中顺序、选择和循环结构的简短介绍。通过掌握这些基础知识,可以编写出更加复杂和有趣的程序。如果有什么疑问都可以到我主页提问, 博客主页:🔍@不行,还得练的个人主页,共勉,加油。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值