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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • W25Q128FV译文(二)

    该文章包括W25Q128FV译文的第7章状态寄存器翻译及第八章指令部分翻译链接,第1章至第六章翻译链接:https://blog.csdn.net/z123canghai/article/details/88700489第八章指令剩余部分及第九章相关时序翻译链接:https://blog.csdn.net/z123canghai/article/details/88727413目录…

    2022年4月6日
    46
  • 费马小定理题

    费马小定理题费马小定理 假如 p 是质数 且 gcd a p 1 那么 nbsp A 题 HDU 4704 首先是挡板法 隔板法 然后用即可 高中数学范围不多叙述 然后得到答案是 nbsp 这题读入数据大 就算快速幂也肯定 TLE 所以用费马小定理 把数据规模降到 int 范围内 时间复杂度降低因为 1e9 7 是一个素数 基本可以假设 N 1 不是 1e9 7 的倍数 这一点我没想到 所以没写出来 所

    2025年11月16日
    5
  • mysql字符串和数字的互相转换

    mysql字符串和数字的互相转换1.最简单的方式就是直接在字符串后面+0,就相当于直接把字符串转为数字类型了,下面可以看一下具体的操作,可以看到通过+0操作,成功将两个字符串转化为了数字,并得到了相加后的结果。2.使用CAST()函数,使用方式为CAST(valueAStype);,下面可以看一下具体的操作例子,通过如下sql语句查看结果:SELECTCAST(‘5.45’ASSIGNED);…

    2022年5月30日
    53
  • haxm intel庐_如何开启Intel HAXM功能「建议收藏」

    haxm intel庐_如何开启Intel HAXM功能「建议收藏」1.启用BIOS中的Intel(R)VirtualizationTechnology选项2.设置成功后,在控制台中输入scqueryintelhaxm。出现下图即为成功3.启动androidSDK,在Extras目录的最下边,勾选IntelHAXM项,并下载4.下载完成后,打开目录:Sdk\extras\intel\Hardware_Accelerated_Execution_…

    2022年6月28日
    27
  • pycharm怎么关闭提示_嵌入自动补全

    pycharm怎么关闭提示_嵌入自动补全Pycharm是一款非常好用的Python的IDE。但就是因为它太好用了,所以对于Python新手来说,反而会导致脱离了代码提示功能,就完全不记得了函数名,大小写等,这对于新手来说是不太利于成长的。但是有一说一,Pycharm本身还是非常好用的,而且用习惯了,因此我一直想能够在学习的时候把Pycharm的代码提示功能关闭,工作的时候再打开,找了很久终于找到了T_T。当没有关闭代码提示的时候,…

    2022年8月29日
    3
  • jvm垃圾回收详解_java 垃圾回收器

    jvm垃圾回收详解_java 垃圾回收器JVM垃圾回收1.概述JVM会自动帮程序员进行垃圾回收,并不需要程序员手动的进行垃圾回收(C++等语言需要自己手动回收垃圾),了解JVM的垃圾回收,可以帮程序员写出占用内存更小、更高效的程序。1.1什么是垃圾?垃圾是指运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。1.2什么区域需要进行垃圾回收JVM的内存结构包括五大区域:程序计数器、虚拟机栈、本地方法栈、堆区、方法区。其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生、随线程而灭,因此这几个区域的内存分配和回

    2025年10月31日
    2

发表回复

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

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