我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java 基础语法中的逻辑控制

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java 基础语法中的逻辑控制

Java 基础语法中的逻辑控制

一、逻辑控制语句

1. 顺序结构

像我们写的代码,执行时会按照从上到下一行一行的执行。这z就是顺序结构,不同的顺序,结果可能就不一样。如


System.out.println(1)
System.out.println(2)    
System.out.println(3)

该代码结果为 1(换行)2(换行)3,但是如果把顺序改变结果就变了


System.out.println(2)
System.out.println(3)    
System.out.println(1)

该代码结果就变为 2(换行)3(换行)1

2. 分支结构

2.1 if 语句

和 C 语言一样,在 Java 中 if 语句也有三种基本的形式

形式一


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

形式二


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

形式三


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

但是从形式上我们就可以看出还是有一些不同的

  • 条件表达式必须是布尔值,不能像 C 语言一样直接使用一个数值,

如:


int a = 10;
if(a){
    System.out.println(a);
}

这种代码就是错的,条件必须是布尔值


int a = 10;
if(a > 0){
    System.out.println(a);
}


这种代码就是正确的

  • 代码风格问题,比如我写 C 语言时喜欢把一对大括号并列在行首。但是在 java 中更推荐上述三种形式那样的风格,将 { 放在 if 或 else 同一行
  • 还要注意悬垂 else 问题,记住 else 是与 最接近的 if 匹配。

如:


int a = 2;
if(a>0)
 if(a>10)
  System.out.println("a > 10");
else 
 System.out.println("a > 0 && a <= 10");

我们要知道,最下面的 else 是与与它最近的 if 匹配的

2.2 switch 语句

Java 中的 switch 语句和 C 语言中的几乎一样,大家如果不太熟悉 switch 以及该章所讲解的一些逻辑结构可以去看看我写的 C语言三大语句注意事项 。但是既然不是完全一样,那哪里有区别呢?

在 Java 中,switch(表达式) 中的表达式是有类型限制的。

它只能使用:整数(只包括 byte、short、int)、字符(char)、字符串(String)、枚举类型

3. 循环结构

3.1 while 循环

舒服,Java 的 while 循环和 C 语言也是极其类似,只有一个小的差异

while (表达式) 中的表达式必须是布尔值

3.2 break

break 的功能是:让最靠近包裹它的整个循环提前结束。这也是和 C 语言是一样的

3.3 continue

continue 的功能是:跳过本次循环,立即进入下次循环。这也是和 C 语言是一样的

3.4 for 循环

Java 中的 for 循环和 C 语言中的也很类似,只有一个差异

for(表达式1;表达式2;表达式3) 中的表达式2是循环的判断条件,要使用布尔值

3.5 do while 循环

Java 中的 do while 循环也是和 C 语言很类似,只有一个差异

while 中的循环条件只能是布尔值

但是一般不推荐使用,因为它至少会执行一次循环,不注意可能会犯错

二、输入输出方式

1. 输出到控制台

基本语法:


System.out.println(msg);  // 输出一个字符串,自带换行
System.out.print(msg);   // 输出一个字符串,不带换行
System.out.printf(format,msg); // 格式化输出,括号内内容类似于 C 语言的 printf

代码示例


int a = 10;
System.out.println(a);   // 输出 a,自带换行
System.out.print(a);   // 输出 a,不带换行
System.out.printf("%d\n",a); // 格式化输出,括号内内容类似于 C 语言的 printf

格式化输出表(随用随查)

2. 从键盘输入

读入一个字符(不推荐使用)

直接使用 System.in.read() 可以读入一个字符,但是需要搭配异常处理。如果不搭配异常,如下面代码就会编译出错


public static void main(String[] args) {
        System.out.print("Enter a char:");
        char i = (char)System.in.read();
        System.out.println("The char is :" + i);
    }

我们需要将鼠标放到 read 上面,再按住 Alt + Enter 键就会出现

再点击第一个或者第二个就不会报错了。这里其实是处理了异常,但是一个简单的读入字符就要这么复杂所以不推荐使用。

使用 Scanner 读取字符/字符串/整数/浮点数/布尔值

  • 首先需要导入 util 包 import java.util.Scanner; ,在 IDEA 中,其可以通过输入 Scanner 后直接回车快速导入
  • 然后再构造一个 Scanner 对象并与”标准输入流“ System.in 关联: Scanner 对象名 = new Scanner(System.in);
  • 再就可以通过 Scanner 类的各种方法实现输入操作了

import java.util.Scanner;

public class TestDemo {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        
        int a = in.nextInt();   //读入一个整数
        double b = in.nextDouble();  //读入一个浮点数
        boolean c = in.nextBoolean(); //读入一个布尔值
        String s = in.next();   //读入一个字符串
    }
}

但是要注意,上述读入字符串是按空白符当作分隔符的,故只能读入第一个空格之前的字符。如果想要读取该行的所有字符(包含空格),应该使用


String s = in.nextLine();

但是使用这个方法还是有很大的缺陷,如果这行代码上面还有其他读入的语句,可能这行代码就不会实行。因为上一行的回车可能被它读入,直接这行结束。因此,只能将其放在读入代码的第一个或者在它前面加一个


in.nextLine();

来读取掉之前的回车。

我们知道在 C 语言中可以写类似于这样的代码输入多组数据


int a;
while(scanf("%d",&a) != EOF)
{
    // 内容
}

在 C++ 中我们也可以写类似于这样的代码输入多组数据


int a;
while(cin>>a)
{
    // 内容
}

那么在 Java 中怎么做呢?代码如下


Scanner in = new Scanner(System.in);
while(in.hasNextInt()){
    int a = in.nextInt();
    // 内容
}

并且在 IDEA 上我们可以手动输入 Ctrl + D 结束,在 Windows 的 cmd 上 我们手动输入 Ctrl + Z 结束,在 Linux 或 Mac 上,输入 Ctrl + D 结束

三、猜数字游戏

学 C 语言的时候我们可能都接触过随机数的生成,或者直接写一个猜随机数的游戏。那么使用 Java 该怎么写呢?

首先我们要知道在 Java 中随机数是怎么生成的。

  • 首先需要导入 util 包 import java.util.Random; ,在 IDEA 中,其可以通过输入 Random 后直接回车快速导入
  • 然后通过 Random 类中的方法生成我们想要的,

如:


import java.util.Random;

public class TestDemo {
    public static void main(String[] args) {
        Random random = new random(); // 默认随机种子是系统时间
        int rand = random.nextInt(bound:100) + 1;
        // random.nextInt(bound:100) 是生成[0,100)间的随机整数
    }
}



接下来就是很简单了,只要我们输入的数字与随机数字进行一下比较。直到判断正确再退出就可。

故最终的代码是


public class TestDemo {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Random random = new Random();
        int rand = random.nextInt(100) + 1;
        while (true){
            System.out.print("请输入你所猜测的数字:");
            int num = scanner.nextInt();
            if(num == rand){
                System.out.println("恭喜你,猜对了!");
                break;
            }else if(num < rand){
                System.out.println("很遗憾,你猜的数字小了!");
            }else{
                System.out.println("很遗憾,你猜的数字大了!");
            }
        }
    }
}

四、总结

这章讲了 Java 的逻辑控制结构,包含了顺序结构、顺序结构和分支结构。还讲了 Java 的输入输出方式。并在最后用 Java 程序写了一个简单的猜数字游戏。我们可以发现,很多都是和 C 语言类似的,这也降低了我们学习的难度。

到此这篇关于Java 基础语法中的逻辑控制的文章就介绍到这了,更多相关Java 逻辑控制内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java 基础语法中的逻辑控制

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

java逻辑控制语句实例详解

一、Java选择结构1、if(条件)…else结构当条件==true时执行if下的语句,否则执行else下的语句2、if(条件1)…else if(条件2)…else结构(相关视频教程推荐:java视频教程)当条件1==true时执行if(条件1)下的语句;当
java逻辑控制语句实例详解
2017-11-09

Java中逻辑控制的示例分析

这篇文章将为大家详细讲解有关Java中逻辑控制的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、逻辑控制语句1. 顺序结构像我们写的代码,执行时会按照从上到下一行一行的执行。这就是顺序结构,不同
2023-06-20

怎么在Java中控制程序的逻辑

怎么在Java中控制程序的逻辑?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向对
2023-06-14

Java基础的控制语句怎么

这篇文章主要介绍了Java基础的控制语句怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java基础的控制语句怎么使用文章都会有所收获,下面我们一起来看看吧。1.分类怎么接收用户键盘输入java.util
2023-07-02

JavaScript控制流程:从基础到精通,打造代码的完美逻辑

JavaScript 控制流程是该编程语言中一个重要的组成部分,它可以帮助您控制代码执行的顺序,并对代码进行必要的判断和循环。学习 JavaScript 控制流程的基础知识和高级技巧,可以帮助您编写出更加高效、可读性更强的代码。
JavaScript控制流程:从基础到精通,打造代码的完美逻辑
2024-02-04

深入掌握Python中的流程控制语句及逻辑运算

深入理解Python中的流程控制语句和逻辑运算符在Python编程语言中,流程控制语句和逻辑运算符是实现条件判断和循环的关键部分。通过灵活运用流程控制语句和逻辑运算符,我们可以根据不同的条件执行不同的代码块,以及重复执行特定的代码块。在本
深入掌握Python中的流程控制语句及逻辑运算
2024-01-20

Java的基础语法有什么

这篇文章主要讲解了“Java的基础语法有什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java的基础语法有什么”吧!准备工作Dos命令配置环境变量了解jdk、jre和jvm的区别 环境变
2023-06-19

微信小程序中控制器的初始化逻辑是什么

微信小程序中控制器的初始化逻辑是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。下面介绍微信小程序的控制器index.js的实现, 即MVC设计理念的C-Controller
2023-06-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录