<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    邀月

    從.net中走來的Java愛好者
    posts - 22, comments - 10, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    打算每天花點時間把學習Java的過程記錄下來,這個斷斷續續的Java學習筆記是自己學習java過程中的零星總結,以作備份。同時希望與CSharp轉Java領域的朋友們共同學習。

    相比而言,C#是后生,它吸收了Java的大部分精華,但兩者還是有一些細微差別,今天,我們看第一個區別:

    許多系統對象方法都有相同的方法名,只是在大小寫形式上有區別。

    我們通過一個最簡單的例子:

    文本"1ASDF NI1221312 HK1 2222/1
    1QWW NI1232133 HK1 3333/1"
    兩 行文本,比如第1行表示旅客1的信息,第2行表示旅客2的信息,后面可能還有很多旅客信息,如何用正則表達式提取每個旅客的信息?最后結果類似于 String1:1ASDF NI1221312 HK1 2222/1,String2:1QWW NI1232133 HK1 3333/1

    用熟悉的C#,我們這么寫:

    using System;
    using System.Text;
    using
     System.Text.RegularExpressions;
    namespace LearnJavaFromCharp01
    {
        
    class Program
        {
            
    static void Main(string[] args)
            {
                String str 
    = "1ASDF NI1221312 HK1 2222/1" + "1QWW1 NI1232133 HK1 3333"
                    
    + "1QWW2 NI1232133 HK1 33331" + "1QWW3 NI1232133 HK1 33331/1"
                    
    + "1QWW4 NI1232133 HK1 33331" + "1QWW5 NI1232133 HK1 3333/1";
                String regex 
    = "(1)(?:.|"n)*?/""1";
                GetRegexString(str, regex);
                Console.ReadKey();
            }

          static
     void GetRegexString(string oldStr, String strPattern)
            {
                Regex p 
    = new Regex(strPattern, RegexOptions.Compiled);
                MatchCollection mc 
    = p.Matches(oldStr);
                
    for (int i = 0; i < mc.Count; i++)
                {
                    Console.WriteLine(mc[i].Value);
                }
            }
        }
    }

    模仿著,Java可以這么寫:

    package com.java.learn.csharp;
    import
     java.util.regex.Matcher;
    import
     java.util.regex.Pattern;

    public class LearnJavaFromCsharp { public static void main(String[] args) {
            String str 
    = "1ASDF NI1221312 HK1 2222/1" + "1QWW1 NI1232133 HK1 3333"
                    
    + "1QWW2 NI1232133 HK1 33331" + "1QWW3 NI1232133 HK1 33331/1"
                    
    + "1QWW4 NI1232133 HK1 33331" + "1QWW5 NI1232133 HK1 3333/1";
            String regex 
    = "(1)(?:.|"n)*?/""1";
            GetRegexString(str, regex);
        }
    static void GetRegexString(String oldStr, String strPattern) {

            Pattern p= Pattern.compile(strPattern);

            Matcher m = p.matcher(oldStr);
            
    while (m.find())
                System.out.println(m.group());
        }

    }

    從這兩段代碼看,都需要添加命名空間,語法也非常類似。

    Package(Java)<-->NameSpace(C#)

    String(Java)<-->string(C#)

    Pattern(Java)<-->Regex(C#)

    Matcher(Java)<-->MatchCollection(C#)

    java.util.regex(Java)<-->System.Text.RegularExpressions(C#)

     System.out.println(Java)<-->Console.WriteLine(C#)

    注意:c#的String與string是唯一的一個可以大小寫混用的類,但其實string關鍵字是String類的一個別名,定義時,關鍵字一般使用string比較符合規范。(作者更正)。

    在這個例子中的幾點感受:

    1、開發環境Vs2010和Eclipse 3.6。共同點,巨耗內存,尤其是后者。易用性,前者明顯占優。擴展性,后者遙遙領先。

    編輯功能方面,Eclipse中Ctrl+1是所有程序員的最愛,它會自動提供幾個備選的參考命名空間,智能吧?

    邀月工作室


    而vs2010也有類似的功能,并且還有一些值得稱贊之處,如Alt+豎選一塊代碼區,多好的一個功能啊。
    邀月工作室

    邀月工作室

    邀月工作室

    2、幫助文檔的實用性。MSDN絕對勝出一籌。不僅僅在中文化及時,而且示例導向性較強。各位自己比較一下:
    http://download-llnw.oracle.com/javase/6/docs/api/

    http://msdn.microsoft.com/zh-cn/library/system.text.regularexpressions.regex.aspx

    3、開發環境的部署和生成程序的部署方面,C#易用性超出一大截,而Java要麻煩一點,畢竟是多操作系統的嘛。當然,NetBeans IDE將易用性和功能的擴展性結合得比Eclipse要好一些,有點像vs環境了。

    怎么樣,對著學,是不是很輕松啊!一步一步來吧。



    邀月注:本文版權由邀月和博客園(BlogJava)共同所有,轉載請注明出處。
    助人等于自助!   3w@live.cn
    主站蜘蛛池模板: 老色鬼久久亚洲AV综合| 国产午夜亚洲不卡| 亚洲人成7777影视在线观看| 青青草原1769久久免费播放| 国产亚洲精久久久久久无码77777| 一区二区视频免费观看| 亚洲无线码一区二区三区| 中文字幕高清免费不卡视频| 亚洲AV无码成人精品区蜜桃 | 免费大片黄在线观看| 免费在线观看的黄色网址| 特级做a爰片毛片免费看| 亚洲精品色午夜无码专区日韩| 拍拍拍无挡免费视频网站| 亚洲AV日韩精品久久久久久| 日韩免费高清大片在线| 亚洲成a人片在线观看精品| 欧美a级成人网站免费| 日韩精品无码免费一区二区三区| 亚洲AV永久无码精品一百度影院 | 任你躁在线精品免费| 亚洲一区二区在线视频| 国产香蕉免费精品视频| 亚洲av无码专区在线观看下载| 亚洲成a人片在线观看久| 国产一级a毛一级a看免费视频 | 91亚洲国产成人久久精品网址| 久久久久国色AV免费看图片 | 亚洲国产人成精品| 久久国产精品国产自线拍免费| 亚洲黄色三级视频| 国产a级特黄的片子视频免费| 国产乱子伦精品免费视频| 亚洲视频在线观看地址| 国产成人无码区免费A∨视频网站| 国产精品免费久久久久电影网| 亚洲成人中文字幕| 国产成人免费片在线观看| 久久午夜无码免费| 日韩国产欧美亚洲v片| 久久亚洲精品AB无码播放|