JAVA选择结构、循环结构、条件语句

Java中的选择结构包括if分支语句和switch多分支语句,可以根据不同的条件执行不同的代码块。

学不会Java???

那就来学点没用的Java知识吧!

一、选择结构

if分支语句:

if语句根据给定的条件判断是否执行某个代码块。基本语法如下:

if (condition) {
    // 当条件为true时执行的代码块
} else {
    // 当条件为false时执行的代码块
}

示例:

int age = 18;
if (age >= 18) {
    System.out.println("你已经成年了");
} else {
    System.out.println("你还未成年");
}

switch多分支语句:

switch语句根据给定的表达式的值,在多个选项中选择一个执行。基本语法如下:

switch (expression) {
    case value1:
        // 当表达式等于value1时执行的代码块
        break;
    case value2:
        // 当表达式等于value2时执行的代码块
        break;
    ...
    default:
        // 当表达式不匹配任何case时执行的代码块
}

示例:

int day = 1;
switch (day) {
    case 1:
        System.out.println("星期一");
        break;
    case 2:
        System.out.println("星期二");
        break;
    ...
    default:
        System.out.println("非法输入");
}

分支嵌套实例:

选择结构可以进行嵌套,即在一个分支语句中嵌套另一个分支语句。

示例:

int score = 80;
if (score >= 90) {
    System.out.println("优秀");
} else if (score >= 80) {
    System.out.println("良好");
} else if (score >= 70) {
    System.out.println("中等");
} else if (score >= 60) {
    System.out.println("及格");
} else {
    System.out.println("不及格");
}

在上面的示例中,根据不同的分数段输出不同的等级。

总结:选择结构通过条件判断来执行不同的代码,if语句适用于对条件进行详细的判断,而switch语句适用于判断多个固定值。可以通过嵌套来实现更复杂的判断条件。

Java中的循环结构实例有很多种,常用的有for循环、while循环和do-while循环。下面是这三种循环结构的实例和说明方法:

二、循环结构

for循环:

for (int i = 0; i < 5; i++) {
    System.out.println("循环次数:" + i);
}

说明:for循环是最常用的循环结构之一,它可以在指定的条件满足时重复执行一段代码块。在上面的例子中,循环从0开始,每次循环增加1,直到循环次数达到5次为止。

while循环:

int i = 0;
while (i < 5) {
    System.out.println("循环次数:" + i);
    i++;
}

说明:while循环会在指定的条件为真时重复执行一段代码块。在上面的例子中,首先定义一个变量i并初始化为0,在每次循环时检查i是否小于5,如果是,则执行代码块并增加i的值,直到循环次数达到5次为止。

do-while循环:

int i = 0;
do {
    System.out.println("循环次数:" + i);
    i++;
} while (i < 5);

说明:do-while循环与while循环很相似,区别在于do-while循环会先执行一次代码块,然后再检查循环条件是否为真。在上面的例子中,首先执行一次代码块,然后在每次循环时检查i是否小于5,如果是,则执行代码块并增加i的值,直到循环次数达到5次为止。

这些循环结构可以根据实际需求选择使用,用来重复执行一段代码块,从而简化程序开发过程。

Java条件语句的实例: 条件语句是编程中经常用到的一种控制结构,它根据给定的条件来决定程序的执行路径。在Java中,常见的条件语句有if语句、if-else语句和switch语句。

三、条件语句

if语句

if语句用于判断一个条件是否成立,如果条件为真,则执行if语句块中的代码,否则跳过if语句块。 例如:

int num = 10;
if(num > 5){
    System.out.println("num大于5");
}

if-else语句

if-else语句用于判断一个条件是否成立,如果条件为真,则执行if语句块中的代码,否则执行else语句块中的代码。 例如:

int num = 10;
if(num > 5){
    System.out.println("num大于5");
}else{
    System.out.println("num小于等于5");
}

switch语句

switch语句用于根据不同的值执行不同的代码块。它根据一个表达式的值来选择执行哪个代码块,每个代码块称为一个case。 例如:

int num = 2;
switch (num) {
    case 1:
        System.out.println("num等于1");
        break;
    case 2:
        System.out.println("num等于2");
        break;
    default:
        System.out.println("num不等于1或2");
        break;
}

常见bug和解决方法

忽略花括号: 在条件语句中,如果只有一条语句,可以省略花括号。然而,当后来需要添加代码时,经常会忘记添加花括号,导致逻辑错误。为了避免这个问题,建议始终使用花括号。

例如:

int num = 10;
if(num > 5)
    System.out.println("num大于5");
    System.out.println("这句话本意是在if语句中,但实际上它会在if之外执行");

解决方法:

int num = 10;
if(num > 5){
    System.out.println("num大于5");
    System.out.println("这句话会在if语句中执行");
}

忘记使用else语句: 在if-else语句中,有时候会忘记添加else语句,导致没有处理某些情况,可能会产生错误的结果。

例如:

int num = 10;
if(num > 5){
    System.out.println("num大于5");
}
// 这里缺少else语句

解决方法:

int num = 10;
if(num > 5){
    System.out.println("num大于5");
}else{
    System.out.println("num小于等于5");
}

使用==比较浮点数: 在条件语句中,使用==比较两个浮点数时,由于浮点数的精度问题,可能会产生意外的结果。

例如:

double num = 0.1 + 0.2;
if(num == 0.3){
    System.out.println("num等于0.3");
}else{
    System.out.println("num不等于0.3");
}

解决方法: 使用Java的Math.abs()方法来比较两个浮点数的差值是否小于某个阈值。

例如:

double num = 0.1 + 0.2;
double threshold = 1e-10;
if(Math.abs(num - 0.3) < threshold){
    System.out.println("num等于0.3");
}else{
    System.out.println("num不等于0.3");
}

容易混淆的概念解析

  1. if语句和switch语句的区别: if语句用于判断一个条件是否成立,可以根据条件的不同执行不同的代码块。switch语句也是根据条件的不同执行不同的代码块,但条件必须是一个固定的值,而不能是一个表达式。

  2. if-else语句和switch语句的选择: 当条件的取值比较多且不是固定的时候,使用if-else语句更加灵活。当条件的取值比较少且是固定的时候,使用switch语句更加简洁。

学习心得: 条件语句是编程中非常重要的一种控制结构,能够根据不同的条件来决定程序的执行路径。学习条件语句不仅要了解语法和实例的应用,还要注意一些常见的bug和解决方法,以及一些容易混淆的概念。通过不断练习和实践,我们能够熟练地使用条件语句来编写出更加健壮、可靠的代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值