【Java学习笔记】逻辑控制

一、概述

程序是用来抽象地表达现实世界的一些东西。它具有的逻辑控制也基本包含生活中的各种逻辑。

起床->刷牙->吃饭->出门——顺序结构
看书:看一页书->翻面->看一页书->翻面->……——循环结构
吃饭:吃红烧肉还是大鸡腿还是其他?——选择结构
上面三种基本就是生活中的典型逻辑运用,它们差不多可以包含生活的全部逻辑,更复杂的事情也可以分解为这三种简单的逻辑。程序也与之相同,有顺序、循序、选择结构。

二、顺序结构

比较简单,就是按照代码的先后顺序,从头到尾一个一个执行。

三、分支结构

分支结构大概有以下三种结构:1.单分支结构;2.双分支结构;3.多分支结构。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

(一)if语句

if语句中Java与C的最大区别在于Java只允许if语句的判断条件是布尔类型。而C则是非0为真0为假。
此外代码风格也可以注意一下。就是Java的大括号,第一个是写在判断语句后面,而C语言则是用大括号把执行语句括起来,整体放在判断条件下面。(这里可以看出Java面向对象,而C语言面向过程,后面会有更深体会。)

1、语法格式1(单分支结构)

 		//判断条件,必须是布尔类型
        if(boolean){
            //执行语句
        }

2、语法格式2(双分支结构)

		//判断条件,必须是布尔类型
        if(boolean){
            //执行语句(判断条件为真)
        }else{
            //执行语句(判断条件为假)
        }

3、语法格式3(多分支结构)

		//判断条件,必须是布尔类型
        if(boolean 1){
            //执行语句
        }else if(boolean 2){
            //执行语句(是不符合上面的判断条件才进行下面的判断)
        }else if(boolean 3){
            //执行语句
        }......{
            
        }else{
            //执行语句(不符合上面条件的所有)
        }

4、补充问题

  1. 判断条件后面不加分号,加分号会使执行语句失效。
		//错误示例
        if(boolean 1){//执行语句
        }
  1. 悬垂else问题:else和最接近的if匹配(没有大括号的情况)。加大括号可以增加代码的可读性,一般默认会加。

(二)switch语句

不能做switch语句的判断条件的有:long、double、float、boolean。
但是String可以做swtich语句的判断条件。

 		switch (判断条件){
            case 对比值1:
                //执行语句;
                break;
            case 对比值2:
                //执行语句;
                break;
            //(理论上可以有无数个case,只有符合要求)。
            case 对比值3:
                //执行语句;
                break;
            default:
                //执行语句;
                break;
        }

四、循环结构

在这里插入图片描述

(一)while循环

        //循环条件也一定是布尔表达式,如果一直是true,那么是死循环。
        while(循环条件){
            //循环语句;
        }

注意事项同if语句的:分号和大括号。

(二)break

break的功能是让程序提前结束。

(三)continue

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

(四)for循环

        //循环条件也一定是布尔表达式,如果一直是true,那么是死循环。
        for(初始化循环变量;循环条件;改变循环变量){
            //循环语句;
        }

IDEA里面有一个快捷键:fori+回车,可快速打出for循环。

(五)do while循环(选学)

        //循环条件也一定是布尔表达式,如果一直是true,那么是死循环。
       do{
            //循环语句;
        }while(循环条件);

注意事项:很少用到。用到也要知道。这个循环最后有一个分号,要记得。很容易忘记。

五、输入输出

Java中并不常用输入输出,初学时用得多一点,后面基本不用。因为没人会用控制台的黑框框去展示东西。

(一)输出到控制台

        System.out.println();//输出换行
        System.out.print();//输出不换行
        System.out.printf();//与C语言的输出一致

格式化字符串表格
在这里插入图片描述
不要记这个表,用时查一下就好。

(二)从键盘输入

从键盘中输入各种各样的数据类型。

import java.util.Scanner;//需要导入util包,没有则不能输入。

public class Test002 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String a=sc.nextLine();//输入字符串
        int b=sc.nextInt();//输入整数
        float c=sc.nextFloat();//输入浮点数
    }
}

多实例输入

import java.util.Scanner;

public class Test002 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        //多实例输入
        while(sc.hasNextInt()){
            int tmp=sc.nextInt();
            //循环语句;
        }
    }
}

六、猜数字游戏

import java.util.Random;
import java.util.Scanner;

public class Test002 {
    public static void main(String[] args) {
        Random r1=new Random();//默认随机种子是系统时间。
        Scanner sc=new Scanner(System.in);
        int y=1+r1.nextInt(100);//确定猜的数范围在1~100.左闭右开(Java)
        while(true){
            System.out.println("请输入要猜的正整数(1~100):");
            int x=sc.nextInt();//去接受输入的数值(猜的)。
            if(x>y){
                System.out.println("猜大了");
            }else if(x<y){
                System.out.println("猜小了");
            }else if(x==y){
                System.out.println("猜对了!");
                break;
            }
        }
    }
}

七、结束语

我是小邓,一个励志写好代码挣大钱的男人。希望通过博客在记录自己的学习历程的同时,认识更多志同道合的朋友。如果您觉得我的文章对您有帮助的话,请不要吝惜您的一键三连(点赞关注加收藏),这对我很重要,谢谢!

  • 30
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值