>Java >java지도 시간 >C#과 자바의 차이점은 무엇입니까?

C#과 자바의 차이점은 무엇입니까?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼원래의
2019-11-11 13:16:443408검색

C#과 자바의 차이점은 무엇입니까?

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 및 Dictionary보다 쉽습니다. 상자를 풀 필요도 없고 더 안전합니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

관련 기사

더보기