博主介绍:💐大家好,我是不行,还得练
博客主页:🔍@不行,还得练的个人主页
————👀努力坚持向技术大牛看齐的菜鸟
————🌊时代浪潮,不进则退
🌸本文章为个人在学习中遇到的困难及解决方案,对学习内容的知识总结等等,希望对您有帮助,初入博客,文章简陋粗浅,如有错误,欢迎批评指正✌
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 中顺序、选择和循环结构的简短介绍。通过掌握这些基础知识,可以编写出更加复杂和有趣的程序。如果有什么疑问都可以到我主页提问, 博客主页:🔍@不行,还得练的个人主页,共勉,加油。