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

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

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

    posts - 39,  comments - 263,  trackbacks - 0

    Java (J2SE 5.0) and C# Comparison
    This is a quick reference guide to highlight some key syntactical differences between Java and C#.
    This is by no means a complete overview of either language. Hope you find this useful!
    Also see VB.NET and C# Comparison.





    Java

    C#

    Comments
    // Single line
    /* Multiple
        line  */

    /** Javadoc documentation comments */
    // Single line
    /* Multiple
        line  */

    /// XML comments on a single line
    /** XML comments on multiple lines */
    Data Types

    Primitive Types
    boolean
    byte
    char
    short, int, long
    float, double


    Reference Types

    Object   (superclass of all other classes)
    String
    arrays, classes, interfaces

    Conversions

    // int to String
    int x = 123;
    String y = Integer.toString(x);  // y is "123"

    // String to int
    y = "456"; 
    x = Integer.parseInt(y);   // x is 456

    // double to int
    double z = 3.5;
    x = (int) z;   // x is 3  (truncates decimal)

    Value Types
    bool
    byte, sbyte
    char
    short, ushort, int, uint, long, ulong
    float, double, decimal
    structures, enumerations

    Reference Types
    object    (superclass of all other classes)
    string
    arrays, classes, interfaces, delegates

    Convertions

    // int to string
    int x = 123;
    String y = x.ToString();  // y is "123"

    // string to int
    y = "456";
    x = int.Parse(y);   // or x = Convert.ToInt32(y);

    // double to int
    double z = 3.5;
    x = (int) z;   // x is 3  (truncates decimal)

    Constants
    // May be initialized in a constructor
    final double PI = 3.14;
    const double PI = 3.14;

    // Can be set to a const or a variable. May be initialized in a constructor.
    readonly int MAX_HEIGHT = 9;

    Enumerations

    enum Action {Start, Stop, Rewind, Forward};

    // Special type of class
    enum Status {
      Flunk(50), Pass(70), Excel(90);
      private final int value;
      Status(int value) { this.value = value; }
      public int value() { return value; }
    };

    Action a = Action.Stop;
    if (a != Action.Start)
      System.out.println(a);               // Prints "Stop"

    Status s = Status.Pass;
    System.out.println(s.value());      // Prints "70"

    enum Action {Start, Stop, Rewind, Forward};

    enum Status {Flunk = 50, Pass = 70, Excel = 90};

    No equivalent.





    Action a = Action.Stop;
    if (a != Action.Start)
      Console.WriteLine(a);             // Prints "Stop"

    Status s = Status.Pass;
    Console.WriteLine((int) s);       // Prints "70"

    Operators

    Comparison
    ==  <  >  <=  >=  !=

    Arithmetic
    +  -  *  /
    (mod)
    /   (integer division if both operands are ints)
    Math.Pow(x, y)

    Assignment
    =  +=  -=  *=  /=   %=   &=  |=  ^=  <<=  >>=  >>>=  ++  --

    Bitwise
    &  |  ^   ~  <<  >>  >>>

    Logical
    &&  ||  &  |   !

    Note: && and || perform short-circuit logical evaluations

    String Concatenation
    +

    Comparison
    ==  <  >  <=  >=  !=

    Arithmetic
    +  -  *  /
    (mod)
    /   (integer division if both operands are ints)
    Math.Pow(x, y)

    Assignment
    =  +=  -=  *=  /=   %=  &=  |=  ^=  <<=  >>=  ++  --

    Bitwise
    &  |  ^   ~  <<  >>

    Logical
    &&  ||   !

    Note: && and || perform short-circuit logical evaluations, no & and | equivalents

    String Concatenation
    +

    Choices

    greeting = age < 20 ? "What's up?" : "Hello";

    if (x < y)
      System.out.println("greater");

    if (x != 100) {   
      x *= 5;
      y *= 2;
    }
    else
      z *= 6;

    int selection = 2;
    switch (selection) {     // Must be byte, short, int, char, or enum
      case 1: x++;            // Falls through to next case if no break
      case 2: y++;   break;
      case 3: z++;   break;
      default: other++;
    }

    greeting = age < 20 ? "What's up?" : "Hello";

    if (x < y) 
      Console.WriteLine("greater");

    if (x != 100) {   
      x *= 5;
      y *= 2;
    }
    else
      z *= 6;

    string color = "red";
    switch (color) {                          // Can be any predefined type
      case "red":    r++;    break;       // break is mandatory; no fall-through
      case "blue":   b++;   break;
      case "green": g++;   break;
      default: other++;     break;       // break necessary on default
    }

    Loops

    while (i < 10)
      i++;

    for (i = 2; i <= 10; i += 2) 
      System.out.println(i);

    do
      i++;
    while (i < 10);

    for (int i : numArray)  // foreach construct 
      sum += i;

    // for loop can be used to iterate through any Collection
    import java.util.ArrayList;
    ArrayList<Object> list = new ArrayList<Object>();
    list.add(10);    // boxing converts to instance of Integer
    list.add("Bisons");
    list.add(2.3);    // boxing converts to instance of Double

    for (Object o : list)
      System.out.println(o);

    while (i < 10)
      i++;

    for (i = 2; i <= 10; i += 2)
      Console.WriteLine(i);

    do
      i++;
    while (i < 10);

    foreach (int i in numArray) 
      sum += i;

    // foreach can be used to iterate through any collection 
    using System.Collections;
    ArrayList list = new ArrayList();
    list.Add(10);
    list.Add("Bisons");
    list.Add(2.3);

    foreach (Object o in list)
      Console.WriteLine(o);

    Arrays

    int nums[] = {1, 2, 3};   or   int[] nums = {1, 2, 3};
    for (int i = 0; i < nums.length; i++)
      System.out.println(nums[i]);

    String names[] = new String[5];
    names[0] = "David";

    float twoD[][] = new float[rows][cols];
    twoD[2][0] = 4.5;

    int[][] jagged = new int[5][];
    jagged[0] = new int[5];
    jagged[1] = new int[2];
    jagged[2] = new int[3];
    jagged[0][4] = 5;

    int[] nums = {1, 2, 3};
    for (int i = 0; i < nums.Length; i++)
      Console.WriteLine(nums[i]);

    string[] names = new string[5];
    names[0] = "David";

    float[,] twoD = new float[rows, cols];
    twoD[2,0] = 4.5f;

    int[][] jagged = new int[3][] {
        new int[5], new int[2], new int[3] };
    jagged[0][4] = 5;

    Functions
    // Return single value
    int Add(int x, int y) {
       return x + y;
    }

    int sum = Add(2, 3);

    // Return no value
    void PrintSum(int x, int y) {
       System.out.println(x + y);
    }

    PrintSum(2, 3); 

    // Primitive types and references are always passed by value
    void TestFunc(int x, Point p) {
       x++;
       p.x++;       // Modifying property of the object
       p = null;    // Remove local reference to object
    }

    class Point {
       public int x, y;
    }

    Point p = new Point();
    p.x = 2;
    int a = 1;
    TestFunc(a, p);
    System.out.println(a + " " + p.x + " " + (p == null) );  // 1 3 false




    // Accept variable number of arguments
    int Sum(int ... nums) {
      int sum = 0;
      for (int i : nums)
        sum += i;
      return sum;
    }

    int total = Sum(4, 3, 2, 1);   // returns 10

    // Return single value
    int Add(int x, int y) {
       return x + y;
    }

    int sum = Add(2, 3);

    // Return no value
    void PrintSum(int x, int y) {
       Console.WriteLine(x + y);
    }

    PrintSum(2, 3); 

    // Pass by value (default), in/out-reference (ref), and out-reference (out)
    void TestFunc(int x, ref int y, out int z, Point p1, ref Point p2) {
       x++;  y++;  z = 5;
       p1.x++;       // Modifying property of the object     
       p1 = null;    // Remove local reference to object
       p2 = null;   // Free the object
    }

    class Point {
       public int x, y;
    }

    Point p1 = new Point();
    Point p2 = new Point();
    p1.x = 2;
    int a = 1, b = 1, c;   // Output param doesn't need initializing
    TestFunc(a, ref b, out c, p1, ref p2);
    Console.WriteLine("{0} {1} {2} {3} {4}",
       a, b, c, p1.x, p2 == null);   // 1 2 5 3 True

    // Accept variable number of arguments
    int Sum(params int[] nums) {
      int sum = 0;
      foreach (int i in nums)
        sum += i;
      return sum;
    }

    int total = Sum(4, 3, 2, 1);   // returns 10

    Strings

    // String concatenation
    String school = "Harding ";
    school = school + "University";   // school is "Harding University"

    // String comparison
    String mascot = "Bisons";
    if (mascot == "Bisons")    // Not the correct way to do string comparisons
    if (mascot.equals("Bisons"))   // true
    if (mascot.equalsIgnoreCase("BISONS"))   // true
    if (mascot.compareTo("Bisons") == 0)   // true

    System.out.println(mascot.substring(2, 5));   // Prints "son"

    // My birthday: Oct 12, 1973
    java.util.Calendar c = new java.util.GregorianCalendar(1973, 10, 12);
    String s = String.format("My birthday: %1$tb %1$te, %1$tY", c);

    // Mutable string
    StringBuffer buffer = new StringBuffer("two ");
    buffer.append("three ");
    buffer.insert(0, "one ");
    buffer.replace(4, 7, "TWO");
    System.out.println(buffer);     // Prints "one TWO three"

    // String concatenation
    string school = "Harding ";
    school = school + "University";   // school is "Harding University"

    // String comparison
    string mascot = "Bisons";
    if (mascot == "Bisons")    // true
    if (mascot.Equals("Bisons"))   // true
    if (mascot.ToUpper().Equals("BISONS"))   // true
    if (mascot.CompareTo("Bisons") == 0)    // true

    Console.WriteLine(mascot.Substring(2, 3));    // Prints "son"

    // My birthday: Oct 12, 1973
    DateTime dt = new DateTime(1973, 10, 12);
    string s = "My birthday: " + dt.ToString("MMM dd, yyyy");

    // Mutable string
    System.Text.StringBuilder buffer = new System.Text.StringBuilder("two ");
    buffer.Append("three ");
    buffer.Insert(0, "one ");
    buffer.Replace("two", "TWO");
    Console.WriteLine(buffer);     // Prints "one TWO three"

    Exception Handling

    // Must be in a method that is declared to throw this exception
    Exception ex = new Exception("Something is really wrong.");
    throw ex;  

    try {
      y = 0;
      x = 10 / y;
    } catch (Exception ex) {
      System.out.println(ex.getMessage()); 
    } finally {
      // Code that always gets executed
    }

    Exception up = new Exception("Something is really wrong.");
    throw up;  // ha ha


    try
    {
      y = 0;
      x = 10 / y;
    } catch (Exception ex) {      // Variable "ex" is optional
      Console.WriteLine(ex.Message);
    } finally {
      // Code that always gets executed
    }

    Namespaces

    package harding.compsci.graphics;












    import
    harding.compsci.graphics.Rectangle;  // Import single class

    import harding.compsci.graphics.*;   // Import all classes

    namespace Harding.Compsci.Graphics {
      ...
    }

    or

    namespace Harding {
      namespace Compsci {
        namespace Graphics {
          ...
        }
      }
    }

    // Import all class. Can't import single class.
    using Harding.Compsci.Graphics;

    Classes / Interfaces

    Accessibility keywords
    public
    private
    protected
    static



    // Inheritance
    class FootballGame extends Competition {
      ...
    }

    // Interface definition
    interface IAlarmClock {
      ...
    }

    // Extending an interface 
    interface IAlarmClock extends IClock {
      ...
    }

    // Interface implementation
    class WristWatch implements IAlarmClock, ITimer {
       ...
    }

    Accessibility keywords
    public
    private
    internal
    protected
    protected internal
    static

    // Inheritance
    class FootballGame : Competition {
      ...
    }

    // Interface definition
    interface IAlarmClock {
      ...
    }

    // Extending an interface 
    interface IAlarmClock : IClock {
      ...
    }

    // Interface implementation
    class WristWatch : IAlarmClock, ITimer {
       ...
    }

    Constructors / Destructors

    class SuperHero {
      private int mPowerLevel;

      public SuperHero() {
        mPowerLevel = 0;
      }

      public SuperHero(int powerLevel) {
        this.mPowerLevel= powerLevel;
      }

      // No destructors, just override the finalize method
      protected void finalize() throws Throwable { 
        super.finalize();   // Always call parent's finalizer  
      }
    }

    class SuperHero {
      private int mPowerLevel;

      public SuperHero() {
         mPowerLevel = 0;
      }

      public SuperHero(int powerLevel) {
        this.mPowerLevel= powerLevel; 
      }

      ~SuperHero() {
        // Destructor code to free unmanaged resources.
        // Implicitly creates a Finalize method.

      }
    }

    Objects

    SuperHero hero = new SuperHero();

    hero.setName("SpamMan");
    hero.setPowerLevel(3);

    hero.Defend("Laura Jones");
    SuperHero.Rest();  // Calling static method

    SuperHero hero2 = hero;   // Both refer to same object
    hero2.setName("WormWoman");
    System.out.println(hero.getName());  // Prints WormWoman

    hero = null;   // Free the object

    if (hero == null)
      hero = new SuperHero();

    Object obj = new SuperHero();
    System.out.println("object's type: " + obj.getClass().toString());
    if (obj instanceof SuperHero)
      System.out.println("Is a SuperHero object.");

    SuperHero hero = new SuperHero();

    hero.Name = "SpamMan";
    hero.PowerLevel = 3;

    hero.Defend("Laura Jones");
    SuperHero.Rest();   // Calling static method

    SuperHero hero2 = hero;   // Both refer to same object
    hero2.Name = "WormWoman";
    Console.WriteLine(hero.Name);   // Prints WormWoman

    hero = null ;   // Free the object

    if (hero == null)
      hero = new SuperHero();

    Object obj = new SuperHero(); 
    Console.WriteLine("object's type: " + obj.GetType().ToString());
    if (obj is SuperHero)
      Console.WriteLine("Is a SuperHero object.");

    Properties

    private int mSize;

    public int getSize() { return mSize; }
    public void setSize(int value) {
      if (value < 0)
        mSize = 0;
      else
        mSize = value;
    }


    int s = shoe.getSize();
    shoe.setSize(s+1);

    private int mSize;

    public int Size {
      get { return mSize; }
      set {
        if (value < 0)
          mSize = 0;
        else
          mSize = value;
      }
    }

    shoe.Size++;

    Structs


     

    No structs in Java.

    struct StudentRecord {
      public string name;
      public float gpa;

      public StudentRecord(string name, float gpa) {
        this.name = name;
        this.gpa = gpa;
      }
    }

    StudentRecord stu = new StudentRecord("Bob", 3.5f);
    StudentRecord stu2 = stu;  

    stu2.name = "Sue";
    Console.WriteLine(stu.name);    // Prints "Bob"
    Console.WriteLine(stu2.name);   // Prints "Sue"
    Console I/O
    java.io.DataInput in = new java.io.DataInputStream(System.in);
    System.out.print("What is your name? ");
    String name = in.readLine();
    System.out.print("How old are you? ");
    int age = Integer.parseInt(in.readLine());
    System.out.println(name + " is " + age + " years old.");


    int c = System.in.read();   // Read single char
    System.out.println(c);      // Prints 65 if user enters "A"

    // The studio costs $499.00 for 3 months.
    System.out.printf("The %s costs $%.2f for %d months.%n", "studio", 499.0, 3);

    // Today is 06/25/04
    System.out.printf("Today is %tD%n", new java.util.Date());

    Console.Write("What's your name? ");
    string name = Console.ReadLine();
    Console.Write("How old are you? ");
    int age = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("{0} is {1} years old.", name, age);
    // or
    Console.WriteLine(name + " is " + age + " years old.");

    int c = Console.Read();  // Read single char
    Console.WriteLine(c);    // Prints 65 if user enters "A"

    // The studio costs $499.00 for 3 months.
    Console.WriteLine("The {0} costs {1:C} for {2} months.\n", "studio", 499.0, 3);

    // Today is 06/25/2004
    Console.WriteLine("Today is " + DateTime.Now.ToShortDateString());

    File I/O

    import java.io.*;

    // Character stream writing
    FileWriter writer = new FileWriter("c:\\myfile.txt");
    writer.write("Out to file.");
    writer.close();

    // Character stream reading
    FileReader reader = new FileReader("c:\\myfile.txt");
    BufferedReader br = new BufferedReader(reader);
    String line = br.readLine();
    while (line != null) {
      System.out.println(line);
      line = br.readLine();
    }
    reader.close();

    // Binary stream writing
    FileOutputStream out = new FileOutputStream("c:\\myfile.dat");
    out.write("Text data".getBytes());
    out.write(123);
    out.close();

    // Binary stream reading
    FileInputStream in = new FileInputStream("c:\\myfile.dat");
    byte buff[] = new byte[9];
    in.read(buff, 0, 9);   // Read first 9 bytes into buff
    String s = new String(buff);
    int num = in.read();   // Next is 123
    in.close();

    using System.IO;

    // Character stream writing
    StreamWriter writer = File.CreateText("c:\\myfile.txt");
    writer.WriteLine("Out to file.");
    writer.Close();

    // Character stream reading
    StreamReader reader = File.OpenText("c:\\myfile.txt");
    string line = reader.ReadLine();
    while (line != null) {
      Console.WriteLine(line);
      line = reader.ReadLine();
    }
    reader.Close();


    // Binary stream writing

    BinaryWriter out = new BinaryWriter(File.OpenWrite("c:\\myfile.dat"));
    out.Write("Text data");
    out.Write(123);
    out.Close();

    // Binary stream reading
    BinaryReader in = new BinaryReader(File.OpenRead("c:\\myfile.dat"));
    string s = in.ReadString();
    int num = in.ReadInt32();
    in.Close();

    posted on 2005-11-15 00:14 nake 閱讀(419) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    <2005年11月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    常用鏈接

    留言簿(18)

    我參與的團(tuán)隊(duì)

    隨筆檔案(39)

    收藏夾(1)

    搜索

    •  

    積分與排名

    • 積分 - 451607
    • 排名 - 120

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 四虎影视永久免费观看| 亚洲短视频男人的影院| 伊人久久五月丁香综合中文亚洲 | 爱情岛论坛网亚洲品质自拍| 精品国产日韩亚洲一区在线| 日本不卡视频免费| 亚洲成色999久久网站| 免费福利电影在线观看| 亚洲丁香色婷婷综合欲色啪| 日日麻批免费40分钟无码| 夜色阁亚洲一区二区三区| 猫咪免费人成在线网站| 在线亚洲97se亚洲综合在线| av成人免费电影| 亚洲AV无码乱码国产麻豆穿越| 亚洲a∨无码一区二区| 国产免费直播在线观看视频| 美女黄网站人色视频免费| AV在线亚洲男人的天堂| 久久福利青草精品资源站免费 | 黄网站免费在线观看| 久久青青草原亚洲av无码app| 99久久久精品免费观看国产| 亚洲动漫精品无码av天堂| 免费在线观看一区| 中国在线观看免费高清完整版| 亚洲av最新在线网址| **真实毛片免费观看| 亚洲成在人天堂一区二区| 免费国产成人高清在线观看网站 | 中国一级特黄高清免费的大片中国一级黄色片 | 免费激情网站国产高清第一页 | 国产亚洲精品AA片在线观看不加载| 两个人日本免费完整版在线观看1| 亚洲AV无码成人精品区天堂 | 夜夜亚洲天天久久| 午夜神器成在线人成在线人免费 | 99人中文字幕亚洲区| 色www永久免费视频| 免费一区二区三区| 亚洲AV无码AV吞精久久|