Java(三)---逻辑控制


前言

前两篇文章,我们初步了解了Java语言,今天我们写一篇关于逻辑控制的文章


1.逻辑控制语句的分类

  • 1.顺序结构
  • 2.分支结构
  • 3.循环结构

1.顺序结构

顺序结构比较简单,按照代码书写的顺序一行一行执行。

 public static void main(String[] args) {
        //1.顺序结构
        System.out.println("aaa");
        System.out.println("bbb");
        System.out.println("ccc");
    }

2.分支结构

2.1.if结构

语法结构:

if(布尔表达式){
语句
}

 public static void main(String[] args) {
        //1.if(布尔表达式)
        int score=90;
        if(score>=90){
            System.out.println("Your score is great");
        }
    }

注意:判断条件一定是布尔表达式,不能是if(1)…,

		if(1){
            System.out.println("Your score is great");
        }

在这里插入图片描述

2.1.1.if…else语句

语法:
if(布尔表达式){
语句1
}else{
语句2
}

判断一个数是奇数还是偶数

		int n=2;
        if(n%2==1){
            System.out.println("n is an odd number");
        }else{
            System.out.println("n is an even number");
        }

2.2.2.if … else if… else语句

判断一个学生成绩(A,B,C,D,E)

 public static void main(String[] args) {
        int score=88;
        if(score >= 90){
            System.out.println("A");
        }else if(score < 90&&score >= 80){
            System.out.println("B");
        } else if (score >= 70 && score < 80) {
            System.out.println("C");
        } else if (score >= 60 && score < 70) {
            System.out.println("D");
        }else {
            System.out.println("E");
        }
    }

注意:悬垂 else 问题

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

建议:不要这样写,最好加上大括号。

2.2.switch语句

语法:switch(表达式){
case 常量值1:{
语句1;
[break;]
}
case 常量值2:{
语句2;
[break;]
}

default:{
内容都不满足时执行语句;
[break;]
}
}

		int a=10;
        switch (a)
        {
            //case之后必须是常量值
            case 10:
                System.out.println("a == 10");
                break;
            default:
                System.out.println("a!=10");
        }

判断是星期几

byte day=5;
        switch (day)
        {
            case 1:
                System.out.println("星期二");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期天");
                break;
            default:
                System.out.println("输入错误");
                break;

        }

注意:1.switch的括号内只能是以下类型的表达式
基本类型:byte、char、short、int,注意不能是long类型
引用类型:String常量串、枚举类型
2.switch不要使用嵌套

public static void main(String[] args) {
        int x = 1;
        int y = 1;
        switch(x) {
            case 1:
                switch (y) {
                    case 1:
                        System.out.println("hehe");
                        break;
                    case 2:
                        System.out.println("haha");
                        break;
                }
        }
    }

3.循环结构

3.1.while

语法:
while(布尔表达式){
语句1;
}

计算1—100的和

public static void main(String[] args) {
        //1.计算1--100的和
        int n=1;
        int ret=0;
        while (n<=100){
            ret+=n;
            n++;
        }
        System.out.println(ret);
    }

计算5的阶乘

		int n=1;
        int ret=1;
        while (n<=5){
            ret*=n;
            n++;
        }
        System.out.println(ret);

计算1!+2!+3!+4!+5!的和

		//计算1!+2!+3!+4!+5!的和
        int n=1;
        int sum=0;
        //外部负责相加
        while(n<=5){
            int tmp=1;
            int ret=1;
            //里面负责阶乘
            while (tmp<=n){
                ret*=tmp;
                tmp++;
            }
            sum+=ret;
            n++;
        }
        System.out.println(sum);

3.2.break

找到 100 - 200 中第一个 3 的倍数
break 的功能是让循环提前结束.

        //找到 100 - 200 中第一个 3 的倍数
        int n=100;
        while (n<=200){
            if(n%3==0){
                System.out.println(n);
                break;
            }
            n++;
        }
    }

3.3.continue

continue 的功能是跳过这次循环, 立即进入下次循环

 public static void main(String[] args) {
        //continue 的功能是跳过这次循环, 立即进入下次循环
        int i=1;
        while(i<=10){
            if(i==7) {
               continue;
            }
            //当i==7时,下面的代码就不执行了,进行到了死循环
            System.out.println(i);
            i++;
        }
    }
    求出 1-100之间 所有既能被3  也能被5 整除的数字
     要使用break 或者continue 做
public static void main(String[] args) {
        //求出 1-100之间 所有既能被3  也能被5 整除的数字
        // 要使用break 或者continue 做
        int i=0;
        while (i<=100){
            if(i%15!=0){
                i++;
                continue;
            }
            System.out.println(i+" ");
            i++;
        }
    }

3.4.for循环

语法:

for(表达式①;布尔表达式②;表达式③){
表达式④;
}
表达式1: 用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次
表达式2: 循环条件,满则循环继续,否则循环结束
表达式3: 循环变量更新方式

计算5的阶乘

 public static void main(String[] args) {
        int ret=1;
        for (int i=1;i<=5;i++){
            ret*=i;
        }
        System.out.println(ret);
    }

计算1!+2!+3!+4!+5!的和

		int sum=0;
        for(int i=1;i<=5;i++){
            int tmp=1;
            for (int j = 1; j <= i; j++) {
                tmp*=j;
            }
            sum+=tmp;
        }
        System.out.println(sum);

3.5.do while循环

语法:

do{
循环语句;
}while(循环条件);

打印1—10

	int n=1;
        do {
            System.out.println(n);
            n++;
        }while (n<=10);

4.输入输出

4.1.输入到控制台

语法:System.out.println(msg); // 输出一个字符串, 带换行
System.out.print(msg); // 输出一个字符串, 不带换行
System.out.printf(format, msg); // 格式化输出

println 输出的内容自带 \n, print 不带 \n
printf 的格式化输出方式和 C 语言的 printf 是基本一致的.

4.2.从键盘输入

import java.util.Scanner;//导入包
public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入你的姓名:");
        String name = sc.nextLine();
        System.out.println("请输入你的年龄:");
        int age = sc.nextInt();
        System.out.println("请输入你的工资:");
        float salary = sc.nextFloat();
        System.out.println("你的信息如下:");
        System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
        sc.close(); // 注意, 要记得调用关闭方法
        }

  • 21
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java x-618是一种用于实现Modbus-TCP协议的Java库。Modbus是一种通信协议,用于在可编程逻辑控制器(PLC)和其他电子设备之间进行数据交换。Modbus-TCP是基于以太网的Modbus协议的一种变体,它使用TCP/IP协议进行通信。 Java x-618库提供了一套API,使Java开发人员可以轻松地使用Modbus-TCP协议与设备进行通信。它提供了一系列的函数和方法,可以轻松地读取和写入寄存器、线圈和其他Modbus数据类型。 使用Java x-618库,开发人员可以轻松地构建各种应用程序,包括监控和控制系统、工业自动化和物联网设备。这个库的优点是易于使用、可靠性高,并且能够处理大量的数据交换。 当使用Java x-618库时,首先需要建立与目标设备的连接。连接可以通过指定目标设备的IP地址和端口号来实现。一旦建立了连接,就可以使用提供的函数和方法来读取和写入设备的数据。 读取数据的示例代码如下: ``` ModbusTcpMaster tcpMaster = new ModbusTcpMaster("192.168.0.1", 502); ReadMultiRegistersRequest request = new ReadMultiRegistersRequest(1, 100, 10); // 读取设备1的100号寄存器开始的10个寄存器的值 ReadMultiRegistersResponse response = tcpMaster.send(request); int[] data = response.getData(); ``` 写入数据的示例代码如下: ``` ModbusTcpMaster tcpMaster = new ModbusTcpMaster("192.168.0.1", 502); int[] values = {1, 2, 3, 4, 5}; // 要写入设备的值 WriteMultipleRegistersRequest request = new WriteMultipleRegistersRequest(1, 100, values); // 将values数组写入设备1的100号寄存器开始的位置 tcpMaster.send(request); ``` 总而言之,Java x-618是一个方便的Java库,可用于实现Modbus-TCP协议的通信。它可以帮助开发人员轻松地构建各种与设备通信的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值