JavaProgram StructureC# | |
package hello; public class HelloWorld { public static void main(String[] args) { String name = "Java"; // See if an argument was passed from the command line if (args.length == 1) name = args[0]; System.out.println("Hello, " + name + "!"); } } |
using System; namespace Hello { public class HelloWorld { public static void Main(string[] args) { string name = "C#"; // See if an argument was passed from the command line if (args.Length == 1) name = args[0]; Console.WriteLine("Hello, " + name + "!"); } } } |
JavaCommentsC# | |
// Single line /* Multiple line */ /** Javadoc documentation comments */ |
// Single line /* Multiple line */ /// XML comments on a single line /** XML comments on multiple lines */ |
JavaData TypesC# | |
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) |
JavaConstantsC# | |
// 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; |
JavaEnumerationsC# | |
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" |
JavaOperatorsC# | |
Comparison == < > <= >= != Arithmetic + - * / % (mod) / (integer pision 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 pision if both operands are ints) Math.Pow(x, y) Assignment = += -= *= /= %= &= |= ^= <<= >>= ++ -- Bitwise & | ^ ~ << >> Logical && || & | ^ ! Note: && and || perform short-circuit logical evaluations String Concatenation + |
JavaChoicesC# | |
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 } |
JavaLoopsC# | |
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); |
JavaArraysC# | |
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; |
JavaFunctionsC# | |
// 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, refp2); 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 |
JavaStringsC# | |
// 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" |
JavaException HandlingC# | |
// 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 } |
JavaNamespacesC# | |
package harding.compsci.graphics; // Import single class import harding.compsci.graphics.Rectangle; // Import all classes import harding.compsci.graphics.*; |
namespace Harding.Compsci.Graphics { ... } or namespace Harding { namespace Compsci { namespace Graphics { ... } } } // Import single class using Rectangle = Harding.CompSci.Graphics.Rectangle; // Import all class using Harding.Compsci.Graphics; |
JavaClasses / InterfacesC# | |
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 { ... } |
JavaConstructors / DestructorsC# | |
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. } } |
JavaObjectsC# | |
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."); |
JavaPropertiesC# | |
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++; |
JavaStructsC# | |
聽 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" |
JavaConsole I/OC# | |
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()); |
JavaFile I/OC# | |
import java.io.*; // Character stream writing FileWriter writer = new FileWriter("c:\\myfile.txt"); writer.write("Out to file.\n"); 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(); |
以上就是JAVA与C#比较的代码详细介绍的内容,更多相关内容请关注PHP中文网(www.php.cn)!

C#和.NET提供了强大的功能和高效的开发环境。1)C#是一种现代、面向对象的编程语言,结合了C 的强大和Java的简洁性。2).NET框架是一个用于构建和运行应用程序的平台,支持多种编程语言。3)C#中的类和对象是面向对象编程的核心,类定义数据和行为,对象是类的实例。4).NET的垃圾回收机制自动管理内存,简化开发者的工作。5)C#和.NET提供了强大的文件操作功能,支持同步和异步编程。6)常见错误可以通过调试器、日志记录和异常处理来解决。7)性能优化和最佳实践包括使用StringBuild

.NETFramework是一个跨语言、跨平台的开发平台,提供一致的编程模型和强大的运行时环境。1)它由CLR和FCL组成,CLR管理内存和线程,FCL提供预构建功能。2)使用示例包括读取文件和LINQ查询。3)常见错误涉及未处理异常和内存泄漏,需使用调试工具解决。4)性能优化可通过异步编程和缓存实现,保持代码可读性和可维护性是关键。

C#.NET保持持久吸引力的原因包括其出色的性能、丰富的生态系统、强大的社区支持和跨平台开发能力。1)性能表现优异,适用于企业级应用和游戏开发;2).NET框架提供了广泛的类库和工具,支持多种开发领域;3)拥有活跃的开发者社区和丰富的学习资源;4).NETCore实现了跨平台开发,扩展了应用场景。

C#.NET中的设计模式包括Singleton模式和依赖注入。1.Singleton模式确保类只有一个实例,适用于需要全局访问点的场景,但需注意线程安全和滥用问题。2.依赖注入通过注入依赖提高代码灵活性和可测试性,常用于构造函数注入,但需避免过度使用导致复杂度增加。

C#.NET在现代世界中广泛应用于游戏开发、金融服务、物联网和云计算等领域。1)在游戏开发中,通过Unity引擎使用C#进行编程。2)金融服务领域,C#.NET用于开发高性能的交易系统和数据分析工具。3)物联网和云计算方面,C#.NET通过Azure服务提供支持,开发设备控制逻辑和数据处理。

C#.NET开发者社区提供了丰富的资源和支持,包括:1.微软的官方文档,2.社区论坛如StackOverflow和Reddit,3.GitHub上的开源项目,这些资源帮助开发者从基础学习到高级应用,提升编程技能。

C#.NET的优势包括:1)语言特性,如异步编程简化了开发;2)性能与可靠性,通过JIT编译和垃圾回收机制提升效率;3)跨平台支持,.NETCore扩展了应用场景;4)实际应用广泛,从Web到桌面和游戏开发都有出色表现。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

WebStorm Mac版
好用的JavaScript开发工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3汉化版
中文版,非常好用

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)