Java와 C#은 모두 프로그래밍 언어입니다. 둘은 서로 다른 방향의 두 언어입니다.
같은 점:
모두 객체 지향 언어입니다. 즉, 모두 객체 지향 아이디어(캡슐화, 상속, 다형성)를 구현할 수 있습니다.
차이:
1. C#의 네임스페이스는 Java의 패키지와 유사합니다. Java에서 패키지를 가져오려면 import를 사용하고 C#에서는 사용합니다.
2. C#과 Java는 모두 main 함수에서 시작하지만 C#에서 main 함수의 첫 글자는 대문자로 표기해야 합니다.
static void Main(string args[]){}
static int Main( string args[]){}
static void Main(){}
static void Main(){}
그리고 Java에는 단 하나의 형식만 있습니다: static void main(String [] args){}
3 . 데이터 유형: Java와 C#은 기본적으로 동일하지만 Java에서는 String 유형의 첫 글자를 대문자로 써야 하지만, C#에서는 소문자나 대문자로 쓸 수 있으며, Boolean 유형도 있는데 Java에서는 boolean이고 bool입니다. C#에서.
4. 변수 이름 지정: $ 기호는 Java에서는 사용할 수 있지만 C#에서는 사용할 수 없습니다.
5. 참고: Java에는 C#보다 "///" 문서 주석이 하나 적습니다.
6. 출력: C#에는 세 가지 출력 방법이 있습니다. Cosole.WriteLine(); Cosole.WriteLine(출력할 값); Cosole.WriteLine("형식 문자열", 변수 목록); 처음 두 가지의 사용법은 시스템과 동일합니다. out in Java .println() 메소드의 사용법은 동일합니다. 세 번째 메소드는 자리 표시자를 기반으로 출력하므로 Java보다 더 편리합니다.
7. 제어 흐름 문: C#에도 스위치가 있습니다. 대소문자 뒤에 내용이 있으면 중단이 있어야 합니다. Java에서는 중단이 필요하지 않습니다. 배열: 두 언어 모두 선언에서 new 키워드를 사용합니다. 다음과 같이 배열을 생성하는 동안 초기화할 수 있습니다. int a[]={1,2,3,5,5}; 그러나 C#에는 Java보다 두 가지 초기화가 더 있습니다. 예: int a[]=new int[3 ]{1, 2,3}; int a[]=new int[]{1,2,3};
9. 메소드에 전달되는 매개변수: 두 언어 모두 값에 의한 전달과 참조에 의한 전달을 사용합니다.
C#에서 참조로 전달되는 키워드는 ref와 out이고, ref는 수정에 초점을 맞추고, out은 출력에 초점을 맞춥니다. Java에서는 모든 메소드가 값으로 전달됩니다.
10. 액세스 한정자: C#의 액세스 한정자는 기본적으로 Java의 액세스 한정자와 일치하지만 추가 내부가 있습니다. 간단히 말해서 C#에는 다음과 같이 5가지 유형의 접근성이 있습니다.
public: 모든 코드에서 멤버에 액세스할 수 있습니다. protected: 멤버는 파생 클래스에서만 액세스할 수 있습니다.
internal: 멤버는 동일한 어셈블리 내에서만 액세스할 수 있습니다.
protected: 멤버는 동일한 어셈블리 내의 파생 클래스에서만 액세스할 수 있습니다.
private: 회원은 현재 수업 내에서만 접근할 수 있습니다.
11. C#에는 final 키워드가 없으므로 클래스가 더 이상 파생되지 않도록 하려면 Sealed 키워드를 사용하여 봉인하면 됩니다.
12. 컬렉션: 두 언어 모두 ArrayList 컬렉션을 가지며, 키로 값에 액세스하는 것은 Java의 HashMap과 C#의 HashTable입니다. C#은 Java의 다중 일반 컬렉션 List
13. 상속: Java는 Extensions 키워드를 사용하고 C#은 ":"만 사용하여 상위 클래스의 생성자 메서드를 호출하는 반면 C#은 base 키워드를 사용합니다.
14. 다형성: 추상 클래스와 추상 메서드 모두 두 언어 모두에서 abstract 키워드를 사용합니다. Java의 다른 클래스가 이를 상속하는 경우 이 메소드를 직접 대체할 수 있지만 C#에서는 이를 구현하기 위해 키워드 override를 추가해야 합니다. C#에는 다형성을 구현하기 위해 Java보다 가상 메서드가 하나 더 있습니다.
15. 인터페이스: 이들은 모두 인터페이스 키워드로 정의되며, Java는 키워드 Implements로 구현됩니다. C#은 ":"으로 구현됩니다. C#에서는 인터페이스 내의 모든 메서드가 기본적으로 공용 메서드입니다. Java에서는 메서드 선언에 public 한정자가 있을 수 있지만(필수는 아니지만) C#에서는 인터페이스 메서드에 public 한정자를 명시적으로 지정하는 것이 불법입니다.
16. C#의 is 연산자는 Java의 instanceof 연산자와 동일합니다. 둘 다 개체의 인스턴스가 특정 유형에 속하는지 여부를 테스트하는 데 사용할 수 있습니다. Java에는 C#의 as 연산자와 동일한 연산자가 없습니다. as 연산자는 is 연산자와 매우 유사하지만 더 "공격적"입니다. 유형이 올바른 경우 as 연산자는 테스트 중인 개체 참조를 대상 유형으로 변환하려고 시도하고 그렇지 않으면 변수 참조를 null로 설정합니다. .
17. 열거자는 변수 값 유형으로 사용되는 열거형(Java에서는 없음)이므로 변수의 가능한 값 범위를 열거자에 나타나는 값으로 제한합니다.
18. 구조체는 클래스와 매우 유사하며 스택에 저장되거나 임베디드되는 값 유형입니다. 구조체는 클래스와 같이 인터페이스를 구현할 수 있고 멤버를 가질 수 있지만 구조는 상속을 지원하지 않습니다.
19. C#은 포인터를 유지합니다. 위험한. (C#에서 포인터를 사용하는 것은 안전하지 않습니다. 마지막 포인터를 확인해야 합니다.)
php 중국어 웹사이트, 수많은 무료
Java 입문 튜토리얼위 내용은 C#과 자바의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!