【Java】巩固基础,温故知新——程序逻辑控制(一)

简介: 前言C语言里已经学过程序逻辑控制,Java里的程序逻辑控制与C里的大致相同,只有一些细微之处不一样,不过学习最主要的是抱有一个空杯心态,在C里学过了,现在学Java再学一遍又有何妨呢?说不定还能获得更深层次的理解~

🗽顺序结构🗽

顺序结构比较简单. 像我们之前写过的代码就是顺序结构的,
按照代码书写的顺序一行一行执行.

System.out.println("aaa");
System.out.println("bbb");
System.out.println("ccc");
// 运行结果
aaa
bbb
ccc

如果调整代码的书写顺序, 则执行顺序也发生变化

System.out.println("aaa");
System.out.println("ccc");
System.out.println("bbb");
// 运行结果
aaa
ccc
bbb

🗽分支结构🗽

⭐if语句⭐

敲重点:这里和C有些不一样,if括号里必须是一个布尔类型,非true即false,不能是别的整型(C里边0表示false,非0表示true,java里不能用整型表示真假)

基本语法形式1

if(布尔表达式){
  //条件满足时执行代码
}


基本语法形式2

if(布尔表达式){
 //条件满足时执行代码
}else{
 //条件不满足时执行代码
}

基本语法形式3 多分支的情况

if(布尔表达式){
 //条件满足时执行代码
}else if(布尔表达式){
 //条件满足时执行代码
}else{
 //条件都不满足时执行代码
}


代码示例1: 判定一个数字是奇数还是偶数

int num = 10;
if (num % 2 == 0) {
 System.out.println("num 是偶数");
} else {
  System.out.println("num 是奇数");
}


代码示例2: 判定一个数字是正数还是负数

int num = 10;
if (num > 0) {
 System.out.println("num 是正数");
} else if (num < 0) {
 System.out.println("num 是负数");
} else {
 System.out.println("num 是 0");
}

代码示例3: 判定某一年份是否是闰年

int year = 2000;
if (year % 100 == 0) {
  // 判定世纪闰年
 if (year % 400 == 0) {
    System.out.println("是闰年");
} else {
   System.out.println("不是闰年");
}
} else {
  // 普通闰年
 if (year % 4 == 0) {
    System.out.println("是闰年");
} else {
  System.out.println("不是闰年");
}
}

注意事项1 悬垂 else 问题

int x = 10;
int y = 10;
if (x == 10) 
if (y == 10)
System.out.println("aaa");
else
System.out.println("bbb");

if / else 语句中可以不加 大括号 . 但是也可以写语句(只能写一条语句).
此时 else 是和最接近的 if 匹配.
但是实际开发中我们 不建议 这么写. 最好加上大括号.

注意事项2 代码风格问题

// 风格1
int x = 10;
if (x == 10) {
   // 满足条件
} else {
   // 不满足条件
}
// 风格2
int x = 10;
if (x == 10) {
   // 满足条件
}
else
{
   // 不满足条件
}

虽然两种方式都是合法的, 但是 Java 中更推荐使用风格1, { 放在 if / else 同一行.

注意事项3 分号问题

int x = 20;
if (x == 10); {
   System.out.println("hehe");
}
// 运行结果
hehe

此处多写了一个 分号, 导致分号成为了 if 语句的语句体, 而 { } 中的代码已经成为了和一个 if 无关的代码块.


相关文章
|
3月前
|
Java 流计算
利用java8 的 CompletableFuture 优化 Flink 程序
本文探讨了Flink使用avatorscript脚本语言时遇到的性能瓶颈,并通过CompletableFuture优化代码,显著提升了Flink的QPS。文中详细介绍了avatorscript的使用方法,包括自定义函数、从Map中取值、使用Java工具类及AviatorScript函数等,帮助读者更好地理解和应用avatorscript。
利用java8 的 CompletableFuture 优化 Flink 程序
|
4月前
|
XML 存储 JSON
Java程序部署
Java程序部署
|
2月前
|
SQL 安全 Java
Java 异常处理:筑牢程序稳定性的 “安全网”
本文深入探讨Java异常处理,涵盖异常的基础分类、处理机制及最佳实践。从`Error`与`Exception`的区分,到`try-catch-finally`和`throws`的运用,再到自定义异常的设计,全面解析如何有效管理程序中的异常情况,提升代码的健壮性和可维护性。通过实例代码,帮助开发者掌握异常处理技巧,确保程序稳定运行。
58 1
|
2月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
109 1
|
3月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
107 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
3月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
581 2
|
3月前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
191 1
|
3月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
106 1
|
3月前
|
Java C语言
【一步一步了解Java系列】:探索Java逻辑控制
【一步一步了解Java系列】:探索Java逻辑控制
38 1
|
4月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射