C# és Java közötti hasonlóság példa kódokkal

RoliSoft
2009 augusztus 21, péntek 03:45

Program struktúra

C#

using System;

namespace Hello {
    public class HelloWorld {
        public static void Main(string[] args) {
            string nyelv = "C#";
            
            // megnézzük, hogy kaptunk-e valamit a parancssorból
            if (args.Length == 1)
                nyelv = args[0];
            
            Console.WriteLine("Helló " + nyelv + "!");
        }
    }
}

Java

package hello;

public class HelloWorld {
    public static void main(String[] args) {
        String nyelv = "Java";
        
        // megnézzük, hogy kaptunk-e valamit a parancssorból
        if (args.length == 1)
            nyelv = args[0];
        
        System.out.println("Helló " + nyelv + "!");
    }
}

Kommentek

C#

// Egysoros
/*  Több
    soros  */
/// Egysoros XML kommentek
/** Többsoros
    XML kommentek */

Java

// Egysoros
/*  Több
    soros  */
/** Javadoc dokumentáció komment */

Adattípusok

C#

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

object
string
arrays, classes, interfaces, delegates

// átalakítások
// int és string
int x = 123;
string y = x.ToString(); // az y most "123"

// string és int
y = "456";
x = int.Parse(y); // vagy x = Convert.ToInt32(y);

// double és int
double z = 3.5;
x = (int)z; // az x most 3

Java

boolean
byte
char
short, int, long
float, double

Object
String

// átalakítások
// int és String
int x = 123;
String y = Integer.toString(x); // az y most "123"

// String és int
y = "456";
x = Integer.parseInt(y); // az x most 456

// double és int
double z = 3.5;
x = (int)z; // az x most 3

Konstansok

C#

const double PI = 3.14159265;
readonly double PI = 3.14159265;

Java

final double PI = 3.14159265;

Felsorolások

C#

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

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

// C#-ban nincs ilyen speciális class típus; lásd Java példa

Action a = Action.Stop;
if (a != Action.Start)
    Console.WriteLine(a); // kiírja hogy "Stop"

Status s = Status.Pass;
Console.WriteLine((int) s); // kírja hogy "70"

Java

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

// speciális class típus
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); // kiírja hogy "Stop"

Status s = Status.Pass;
System.out.println(s.value()); // kiírja hogy "70"

Operátorok

C#

// összehasonlítás
==  <  >  <=  >=  !=

// számtan
+  -  *  /
%  // mod
/  // osztás kerekítéssel ha mindkettő int
Math.Pow(x, y)

// hozzárendelés
=  +=  -=  *=  /=   %=  &=  |=  ^=  <<=  >>=  ++  --

// bitwise
&  |  ^   ~  <<  >>

// logikai
&&  ||  &  |   ^   !

// string összeillesztés
+

Java

// összehasonlítás
==  <  >  <=  >=  !=

// számtan
+  -  *  /
%  // mod
/  // osztás kerekítéssel ha mindkettő int
Math.Pow(x, y)

// hozzárendelés
=  +=  -=  *=  /=   %=  &=  |=  ^=  <<=  >>=  >>>=  ++  --

// bitwise
&  |  ^   ~  <<  >>  >>>

// logikai
&&  ||  &  |   ^   !

// string összeillesztés
+

Az eredeti angol cikk itt található. Ha többet meg szeretnél tudni a C# és a Java közötti hasonlóságról akkor látogass el a Wikipédia Comparison of Java and C# oldalára.

Hozzászólások

nincs hozzászólás