return跳出循环[通俗易懂]

return跳出循环[通俗易懂]return语句用于终止函数的执行或退出类的方法,并将控制权返回该方法的调用者。如果这个方法带有返回类型,return语句就必须返回这个类型的值;如果这个方法没有返回值,可以使用没有表达值return;该方法用处之一:循环找出条件/答案,如果循环结束答案没有找到就执行下面的语句如果找到答案,那就直接将方法抛弃。可以这么理解:一个女人和男人谈恋爱,一心只为钱,而且是不停的找钱1.当钱到手,…

大家好,又见面了,我是你们的朋友全栈君。

return语句用于终止函数的执行或退出类的方法,并将控制权返回该方法的调用者。如果这个方法带有返回类型,return 语句就必须返回这个类型的值;如果这个方法没有返回值,可以使用没有表达值return;

该方法用处之一:循环找出条件/答案,如果循环结束答案没有找到就执行下面的语句
如果找到答案,那就直接将方法抛弃。
可以这么理解:一个女人和男人谈恋爱,一心只为钱,而且是不停的找钱
1.当钱到手,直接拔吊无情。
2.(等方法结束没有找到,这个时候钱才到手但是那个女人已经和你结束了)

与return 能够解决同样问题的是设置中间变量
boolean = true; //
当循环结束条件/答案没有找到就可以通过if判断是否中间量是否为真,真代表着可以执行下面的行为
在循环中找到答案就可以设置boolean为false,这样就可以使得if判断为false下面的方法不能执行。

这个方法可以这么理解一个女人和男人谈恋爱,一心只为钱,而且是不停的找钱,当钱到手就直接拔吊无情,但是她会先通知她的姘头钱到手了,然后这个姘头再去找你说你不能和她在一起了,要不然要你好看。
等方法结束没有找到的话,女人和她的姘头早已离去,这个时候你的方法会运行。

这两个方法明显可以看出来,第二种方法多了一个中间值,也就是多了很多判断,实际开发过程中,这样会耗费内存,但是如果下面存在必须做的事的话,那使用第二种也是可以的,但是的但是finally语句块不管什么情况都会执行,这样也解决一部分必须完成的需求。

但是我们要注意,还有一种可能如果结果找到了依旧想要完成下面的工作,没有找到依旧执行下面的任务的情景时就需要一个中间变量了。

第一种方法

// 判断用户名是否存在
		for (int i = 0; i < raf.length() / 100; i++) {
				raf.seek(i * 100);
				byte[] data = new byte[32];
				raf.read(data);
				String name = new String(data, "UTF-8").trim();
				System.out.println("name:" + name);
				if (name.equals(username)) {
					System.out.println("该用户名已经存在");
					File haveUser = new File					("./webapps/myweb/have_user.html");
					response.setEntity(haveUser);
					return;  //直接终止类的进行
				}

			}

第二种方法

try (RandomAccessFile raf = new RandomAccessFile("user.dat", "rw");) {
			boolean flag = true;
			// 判断用户名是否存在
			for (int i = 0; i < raf.length() / 100; i++) {
				raf.seek(i * 100);
				byte[] data = new byte[32];
				raf.read(data);
				String name = new String(data, "UTF-8").trim();
				System.out.println("name:" + name);
				if (name.equals(username)) {
					System.out.println("该用户名已经存在");
					File haveUser = new File									("./webapps/myweb/have_user.html");
					response.setEntity(haveUser);
					flag =false;
				
				}

			}
			if(flag){
			raf.seek(raf.length());
			// 写入用户名
			byte[] data = username.getBytes("UTF-8");
			data = Arrays.copyOf(data, 32);
			raf.write(data);

			// 写入密码
			data = password.getBytes("UTF-8");
			data = Arrays.copyOf(data, 32);
			raf.write(data);

			// 写昵称
			data = nickname.getBytes("UTF-8");
			data = Arrays.copyOf(data, 32);
			raf.write(data);

			// 写年龄
			raf.writeInt(age);

			// 响应注册成功的页面给客户端

			File success = new File("./webapps/myweb/reg_success.html");
			response.setEntity(success);
			}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139973.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 在WIN7系统的笔记本上建立WIFI热点「建议收藏」

    在WIN7系统的笔记本上建立WIFI热点

    2022年1月21日
  • 看了这篇文章觉得MySQL读写分离这么简单「建议收藏」

    点赞多大胆,就有多大产!有支持才有动力!微信搜索公众号【达摩克利斯之笔】获取更多资源,文末有二维码!前言​  Mysql优化那篇文章有朋友留言说就这么点?,深深刺痛了晓添的心,感觉知识深度被小看了,痛定思痛决定发布读写分离,分表分库优化文章,其实这系列文章也在Mysql优化的计划之内,最近较忙断断续续写的有点难受,到今天才跟大家见面,篇幅有限这篇我们来说说基于Mycat实现读写分离,话不多…

    2022年4月13日
  • protostuff基本使用[通俗易懂]

    protostuff基本使用[通俗易懂][toc]protostuff基本使用protostuff基于GoogleProtobuf,好处就是不用自己写.proto文件即可实现对象的序列化与反序列化,下面给出示例代码。程序代码User.javapackagecn.xpleaf.pojo;publicclassUser{privateStringname;privateintage;…

    2022年5月20日
  • ps批量磨皮滤镜插件ArcSoft Portrait3+ 中文版瘦脸自动识别人脸win/mac支持2018「建议收藏」

    ps批量磨皮滤镜插件ArcSoft Portrait3+ 中文版瘦脸自动识别人脸win/mac支持2018「建议收藏」【系统支持】win系统(win10系统PS不能使用插件版,但是可以使用独立版)mac苹果系统只能使用插件版,不能使用独立版【支持PS】支持CS6-CC2108也可以独立使用苹果系统不能独立使用ArcSoftPortrait+是一款智能化的人像磨皮软件,采用世界上最尖端的人脸检测技术,能够自动检测人像脸部进行磨皮。ArcSoftPortrait+还支持批量处理功能,能同时处理上千张…

    2022年7月22日
  • linux 查看当前用户密码

    linux 查看当前用户密码用过Linux系统的人都知道,Linux系统查看用户不是会Windows那样,鼠标右键看我的电脑属性,然后看计算机用户和组即可。那么Linux操作系统里查看所有用户该怎么办呢?用命令。其实用命令就能很轻松的查看到Linux系统有哪些用户。  1、Linux里查看所有用户  (1)在终端里.其实只需要查看/etc/passwd文件就行了.  (2)看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用户.  或者用cat/etc/passwd|cut-f1-d:  2、用.

    2022年6月4日
  • VBA listview控件「建议收藏」

    VBA listview控件「建议收藏」
    1、在Listview控件中,用ColumnHeaders对象来操作列,而添加新的列可以用ColumnHeaders对象的ADD方法。具体如下: 
    ListView1.ColumnHeaders.Add序号,唯一的字符串标识,列标显示文字,列宽,列的内容对齐方式,所使用的图标序号。
    对齐方式有:lvwColumnLeft 、 lvwColumnCenter、lvwColumnRight                                            

    2022年7月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号