Java关于类中的scan语法

点击查看

看源码的时候,在String类的toUpperCase(Locale locale)方法中看到了 scan

源码

        /* Now check if there are any characters that need to be changed. */
        scan: {
            for (firstUpper = 0 ; firstUpper < len; ) {
                char c = value[firstUpper];
                if ((c >= Character.MIN_HIGH_SURROGATE)
                        && (c <= Character.MAX_HIGH_SURROGATE)) {
                    int supplChar = codePointAt(firstUpper);
                    if (supplChar != Character.toLowerCase(supplChar)) {
                        break scan;
                    }
                    firstUpper += Character.charCount(supplChar);
                } else {
                    if (c != Character.toLowerCase(c)) {
                        break scan;
                    }
                    firstUpper++;
                }
            }
            return this;
        }
scan语法是用来跳出多重循环的,'scan' 是自定义的

1.测试如下:

    public static void main(String[] args) {
        System.out.println("START");
        a:
        {
            for (int i = 0; i < 10; i++) {
                System.out.println("START-" + i);
                for (int j = 0; j < 10; j++) {
                    System.out.println(j);
                    if (j == 3) {
                        break a;
                    }
                }
                System.out.println("END-" + i);
            }
        }
        System.out.println("END");
    }

控制台:

START
START-0
0
1
2
3
END

2.把 break a; ==》 break;

控制台

START
START-0
0
1
2
3
END-0
START-1
0
1
2
3
END-1
START-2
0
1
2
3
END-2
START-3
0
1
2
3
END-3
START-4
0
1
2
3
END-4
START-5
0
1
2
3
END-5
START-6
0
1
2
3
END-6
START-7
0
1
2
3
END-7
START-8
0
1
2
3
END-8
START-9
0
1
2
3
END-9
END
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
JAVA游戏开发课程设计报告 ———————————————————————————————— 作者: ———————————————————————————————— 日期: Java课程设计 题目:多线程端口扫描 姓名: 王胜利 学号: 201012220228 班级: 10级专二 专业: 应用技术 目 录 1 设计任务与要求 4 2 系统功能描述 4 2.1 功能概述 4 2.2 本系统要实现的功能 4 3 系统总体设计 5 3.1 总体分析 5 3。2 界面设置构思图 5 3。3 界面使用设置构思 5 3。4 后台设计构思 6 4 系统详细设计 7 4.1 界面设计 7 4.2 界面设计图 7 4。3 后台设计 8 5 实现与测试 11 5.1 运行要求与环境 11 5。2 运行程序流程图 12 5.3 运行界面 13 6 设计总结 15 参考文献 16 附件 16 多线程端口扫描器 1 设计任务与要求 加深对《JAVA游戏开发》课程所学知识的理解,进一步巩固 Java语言的语法规则。分析系统的可行性,让系统有一个明确的方向,使开发更具合理性 ,并能分析出系统的具体流程,为后面的开发做好铺垫。明确本次课程设计所要用到的技 术点并到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于Java的应用系统 综合实例,来掌握Java语言编程技巧。并学会编制结构清晰、风格良好的Java语言程序, 从而具备解决综合性实际问题的能力,学会使用Java编程工具,如EditPlus,Eclipse等。 2 系统功能描述 2.1 功能概述 多线程端口扫描器是实现计算机的端口的扫描,只要在在前台设置好所要扫描的IP、 起始端口、结束端口以及所要用到的线程数,点击扫描,就可以扫描到所输入IP地址主机 的开放端口,并显示在主窗体中;点击退出,则可以退出该程序。IP设置应为所在主机 的IP地址,起始端口和结束端口应为0~65535之间的一个数,且起始端口应小于结束端口 的大小。线程数为0~200之间的一个数.点击开始后就会运行,直到扫描完毕显示出开放 端口,如果没有开放端口,则只显示扫描完毕。 2。2 本系统要实现的功能 端口扫描功能:扫描开放的端口,并将扫描到的开放端口号送到前台。 图像显示功能:显示界面图形. 多线程功能:当客户端要求与服务器端建立连接时,服务器端就将用到多线程功能,为每 一个建立起来的连接创建一个线程。 异常抛出功能:对于明显的错误,能提示出错误的类型并结束程序的运行. 3 系统总体设计 3.1 总体分析 本程序分为前后台系统,后台系统用于扫描主机开放端口,并把节扫描的数据送至前 台窗口显示;前台要显示扫描的结果,所以应为一个窗口,这个窗口应能够设置主机的IP 地址,设置端口的开始端口、结束端口和线程数,并且还能够显示扫描的状态。在中央是 显示结果的窗体。本程序还应能够有控制扫描的状态命令,附加设置最小化和关闭按钮. 3.2 界面设置构思图 图1 系统构思图 3。3 界面使用设置构思 当出现如图所示的界面时,填写好要扫描的IP地址,需要扫描的端口范围和线程数, 单击命令提示按钮就可以开始扫描,扫描结果就会显示在中间的扫描结果显示区域,在扫 描状态显示区就会显示是否扫描完毕.流程图如下: 图2 系统构思流程图 3。4 后台设计构思 后台系统使用Scanner和Scan类,创建前台布局和创建扫描端口、事件处理,并且能对 简单的错误进行判断,显示错误原因.调用数据处理包,处理异常情况;调用皮肤包,美 化显示窗口。 4 系统详细设计 4.1 界面设计 本程序界面图形设计要能清楚显示扫描后的结果,并且能很好的体现出界面的整洁大 方,但并不失去吸引人眼球的画面,所以在做界面的时候考虑了界面的色彩,并且添加了 皮肤,界面上面的字体设置和windows窗口设置一样采用宋体,界面上的按钮不设置过多 的按钮,仅设置有必要的按钮即可,界面设置大方。使用的时候有默认的IP地址、需要扫 描的端口和线程数,如果需要扫描其他主机,只需要填写好要扫描的主机的IP地址,需要 扫描的端口范围和线程数,单击命令提示按钮就可以开始扫描,扫描结果就会显示在中 间的扫描结果显示区域,在扫描状态显示区就会显示是否扫描完毕。 4。2 界面设计图 本程序采用小窗口形式,外围大小为170mm*90mm,字体采用宋体五号,结果显示区 域框架大小为160mm*45mm,底色为粉红,结果显示字幕为主机地址加开放端口。添加个 性皮肤。其余地方设置按钮和扫描的主机地址、端口和线程数.设计的预计页面图形如图 : 图3 系统界面设计图 4.3 后台设计 本程序使用了为主要的Scanner类和Scan类。Scan类的作用是创建线程扫描端口,然后 把结果显示到前台。Scanner类的作用是构

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tan.]der

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值