JAVA基础疑难——001Boolean类型传值问题

2023-05-16

今天在帮助一位小伙伴解决传值的问题的时候,发现他使用的是boolean类型的带参方法。程序执行没有问题,但是boolen类型的值传不出来。怎么找问题都找不出来。今天就该问题所产生的原因给大家分享一下,下面我做了一个类似他的例子:

public class Boolean {
    String users;
    private boolean Transmit(boolean demo01){
        if(users.equals("admin")){
            System.out.println("用户名正确!");
            demo01=true;
        }else {
            System.out.println("用户名错误!");
            demo01=false;
        }
        return demo01;
    }
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        Boolean boole=new Boolean();
        boolean flag=false;
        System.out.println("输入一个用户名:");
        boole.users=input.next();
        boole.Transmit(flag);
        while (flag){
           /* 如果flag正确传值,则输出”用户名输入正确!“*/
            System.out.println("用户名输入正确!");
            break;
        }
        System.out.println("程序退出!");
    }

此时输出的结果为:

通过结果可以看出程序执行了Transmint中方法中,并正确的比对值输出"用户名正确!"在调试过程中demo01的值也成功返回了TRUE值:

那问题来了,为什么while语句未执行,并且flag的值依然是flase。

要弄懂这里的原因,则我们需要了解一下在Transmint()方法中的demo1=true是如何进行赋值的,如图:

在方法中的demo01=true;在demo01赋值中,true关键字是如何给一个对象demo01直接赋值的呢?在JDK底层如何处理?我们将它如何赋值搞懂,这个问题就解决了。我们反过来看上图,实际上,在赋值上,每次赋值都是在new一个Boolean赋值给demo01,因此,flag所指向的Boolean和demo01所指向的就不是用一个Boolean的值。所以就会有返回的demo01的值为true;而flag的值依然是flase。自然而然就不可能执行while语句中的循环。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA基础疑难——001Boolean类型传值问题 的相关文章

随机推荐

  • 将C盘虚拟机迁移到D盘

    之前没有注意把虚拟机创建在了C盘 xff0c 现在C盘空间不足 xff0c 需要迁移到D盘 首先需要关闭CentOS16虚拟机 xff0c 关闭之后 xff0c 复制整个虚拟机文件夹 把CentOS16复制到D盘这个目录下 xff1a 打开
  • VS2019 + CUDA11.0开发环境配置

    VS2019 43 CUDA11 0开发环境配置 确认系统是否支持安装VS2019安装CUDA11 0实例程序 确认系统是否支持 确认自己的设备是否支持CUDA11 0 打开NVIDIA控制面板 xff0c 一般N卡的设备都在鼠标右键就有
  • 排序算法:选择排序

    1 什么是选择排序 xff1f xff08 摘抄自百度百科 xff09 选择排序 xff08 Selection sort xff09 是一种简单直观的排序算法 它的工作原理是 xff1a 第一次从待排序的数据元素中选出最小 xff08 或
  • markdown-it 介绍,以及使用,自定义规则

    markdown it markdown it 是前端的一个 markdown 解析库 xff0c 将 markdown 解析成 Token 流 网上都有很多详细的 token 流解析过程 xff0c 请先简单看一遍 markdown it
  • apt-get update 报错

    sudo apt get update 报错 E 无法解析软件包文件 var lib apt lists ppa launchpad net rabbitvcs ppa ubuntu dists xenial main i18n Trans
  • Tiny210裸机开发初体验

    从昨天开始搞了一下Tiny210的裸机 xff0c 长时间没玩有点生疏了 由于开发板光盘自带裸机程序例程 xff0c 所以先跑一下简单的点灯 xff0c 打通调试通路然后再进行学习 首先使用了方法1 xff1a 参考国嵌视频烧录superb
  • System Verilog——C语言调用SV对象中的方法

    本文接上一篇文章 xff0c 即调用System Verilog 任务的C 任务 xff0c 简介如下 https blog csdn net qq 31348733 article details 101000399 如何在C语言中调用S
  • 程序设计思维与实践 Week15 作业

    ZJM 与纸条 ZJM 的女朋友是一个书法家 xff0c 喜欢写一些好看的英文书法 有一天 ZJM 拿到了她写的纸条 xff0c 纸条上的字暗示了 ZJM 的女朋友 想给 ZJM 送生日礼物 ZJM 想知道自己收到的礼物是不是就是她送的 x
  • 利用Python的scrapy框架爬取手游排行前几名的手游信息

    初学scrapy框架 Scrapy是一个为了爬取网站数据 xff0c 提取结构性数据而编写的应用框架 可以应用在包括数据挖掘 xff0c 信息处理或存储历史数据等一系列的程序中 有关于scrapy的教学与基础知识这里不做解释 xff0c 感
  • 【ORB-SLAM3】CMake Error at CMakeLists.txt:37 (message): OpenCV > 2.4.3 not found.

    项目场景 xff1a ZED2相机配置使用ORB SLAM3 ZED2相机配置使用ORB SLAM3 xff0c 出现关于opencv的报错 问题描述 CMake Error at CMakeLists txt 37 message Ope
  • 领航-跟随型编队 (六)避障问题综述

    领航 跟随型编队避障问题指编队在运动过程中 xff0c 领航机器人根据某种方式获取与识别前方障碍物 xff0c 同时编队整体采取一定方法及时规避障碍物与防止内部碰撞 xff0c 涉及到障碍物检测 编队避障规划 编队避碰协调 xff0c 运动
  • 领航跟随型编队(十)编队实验视频

    实验一 xff1a 圆形轨迹下编队生成与保持实验 如图 5 19 所示 xff0c 两个机器人完成从随机状态形成编队并沿圆形轨迹保持编队运行 xff0c 且图中下方的窗口动态显示编队的运行情况 领航机器人初始信息 xff1a 坐标 0 5m
  • 内网项目中引入NoVnc服务

    内网项目中引入NoVnc服务 背景目标方案部署步骤完成后验证效果 背景 目前项目中 xff0c 管理的实例底层为虚拟机 xff0c 而在用户或运维人员管理具体的实例时 xff0c 需另外启动VNC Viewer客户端才能配置实例 xff0c
  • Jupyter最全指南及常见问题(持续更新)

    anaconda与jupyter lab搭配使用 jupyter lab是jupyter notebook升级版 非常好用 命令行安装 xff1a pip install jupyterlab即可 安装好了之后 xff0c 命令行输入 ju
  • 头文件

    include lt iostream gt include lt algorithm gt include lt cassert gt include lt string gt include lt sstream gt include
  • MySQL 8.0 密码重置

    MySQL 版本 8 0 系统 xff1a Linux 原因 xff1a 数据库无法登录 xff08 非忘记密码 xff09 xff0c 登上后发现竟然数据库被黑了 xff0c 留了一条 BTC 的 赎回记录 首先关闭现有的mysql 服务
  • MySQL 取出每个分组中最新的一条数据(ID最大)

    场景 xff1a 由于一个摄像头管理一个范围 xff0c 且管理的某个人可以多次犯规 故 xff0c 一个摄像头可以上报有多个事件 xff0c 多个事件可能同时上报 xff0c 可能有先后顺序 需求 xff1a 现地图只显示有事件摄像头的最
  • java获取天气接口

    如下图 span class token keyword package span span class token namespace com span class token punctuation span octv span cla
  • Eclipse反编译插件(免费无需下载资源)

    分享一个适用eclipse的java反编译插件JD Decompiler 最近eclipse插件库被玩坏了 xff0c 于是重新安装插件 xff0c 站内搜索发现反编译插件竟然都要积分下载了 以下是插件官网 xff0c 看不懂英文的小伙伴用
  • JAVA基础疑难——001Boolean类型传值问题

    今天在帮助一位小伙伴解决传值的问题的时候 xff0c 发现他使用的是boolean类型的带参方法 程序执行没有问题 xff0c 但是boolen类型的值传不出来 怎么找问题都找不出来 今天就该问题所产生的原因给大家分享一下 xff0c 下面