카테고리 없음

JAVA 기본문법 초스피드 (c,c++과 비교)

느억맘 2022. 4. 27. 00:19

전역 변수, 전역 함수를 만들 수 없음. 즉 모든 객체는 클래스 안에 존재해야한다.

 

파일 하나당 public class 한개만 존재해야 한다. (내포 클레스의 경우 예외)

 

package = namespace 의 개념과 비슷

 

모든 .java 파일에는 java.lang.* 가 자동으로 import 된다. 고로 바로 System 클래스의 기능 사용가능

 

(java.lang = 기본 패키지)

 

자바에도 printf 함수가 있음 ( System.out.printf() )

 

import = include

 

--- java 명령어 ---

 

컴파일 명령어 => javac -d <.class 파일을 저장할 경로> <컴파일할 .java 파일>

 

실행 명령어 => java -classpath <.class 파일 경로> <.class 이름>

 

 

자바는 char 을 제외한 모든 자료형이 signed 형이다

 

자바의 String 은 일단 초기화 되면 값 변경 불가능! (immutable)

 

const => final

 

지역 변수 = 함수 내에 생성한 변수

클래스 멤버 변수

메서드 = 멤버 함수

 

c 의 const 랑 다르게 final 은 선언한후 나중에 초기화가 가능하다.

 

java 의 주석 c/c++ 에서 doxygen 을 사용하여 흉내가능

 

String name1 = "abc";

String name2 = "abc";

자바는 내부적으로 두 문자열이 가리키는 리터럴이 같은경우 메모리가 똑같게 설정된다.

(name1 == name2) => true (메모리를 절약하자는 개념)

 

두 문자열을 비교할려면 equals 함수를 사용해야함. ex) name1.equals(비교대상 문자열);

 

JAVA는 자체적으로 연산자 오버로딩 + += 가 있다. (C++와 다르게 프로그래머가 따로 구현은 불가능)

 

자바에는 다른 언어와 다르게 >>> 연산자가 있는데

비트이동하려는 대상이 음수이면 양수로 바꿔주는 추가 기능도 하는놈임.

 

C와 다르게 switch-case 문에서 문자열도 넣을 수 있다

ex) case: "문자열"

 

C의 goto 와 비슷한 break, continue 문이 있다. (break를 감싸고 있는 라벨에서만 사용가능)

 

자바는 모든게 <포인터> 이다!!!!

 

자바의 열거형은 C와 다르게 원소에 값을 대입할 수 없다

 

java의 var == c++ 의 auto