와,,,,,,,
종강하자마자 몸살+장염 연타로 일주일 기절했다가 드디어 정신차림
계절학기 녹강으로 신청해서 오전엔 그거 듣고 오후에는 운동 / 자바 공부하기로 결정~.~
백엔드를 공부하려고 해도,,, 안드로이드 앱을 뭔가 만들고 싶어도,,, 하여튼 자바가 필수이길래 이번 여름 방학엔 자바 문법 익히기가 목표!! 그래서 c랑 c++공부때처럼 <윤성우의 열혈 ...>시리즈로 책까지 구매완료했다.
그럼 시작!!
공부 책: <윤성우의 열혈 Java 프로그래밍>
(ch 01-1은 설치라서 건너뜀)
ch 01-2. 자바 프로그램 원리
일단 신기한 점,,, 예전같았으면 구조 말해도 뭔소린지 몰랐을 텐데 이번학기 지옥의 컴퓨터구조 & 시스템프로그래밍 하면서 뭐 운영체제 가상머신 이런거 설명해도 이해가 바로 된다...(근데 오늘 학점 나왔는데 그건 잊어야 됨)
하여튼 자바는 다른 언어와 다르게 자바 가상머신이 따로 있기 때문에 운영체제가 다르더라도 알아서 컴파일 할 때 그에 맞춰서 해준다. 그래서 처음 jdk 프로그램 중에 javac.exe 컴파일러를 이용하여 .java 코드를 컴파일 할 때, 자바 가상머신이 이해할 수 있는 코드로 컴파일 해주는 것이다.
이후 java.exe(자바 런처)가 자바 가상머신을 구동하고 그 위에 자바 프로그램이 실행되도록 한다.
ch 01-3. 예제코드 분석
메모장에서 작성한 뒤, .txt -> .java로 바꾸고 cmd에서 실행시키면 아래와 같이 나온다.
//FirstJava.java
class FirstJava
{
public static void main(String[] args)
{
System.out.println("Welcome to Java!");
System.out.println("룰루랄라");
}
}
일단 코드를 보면, class { 메소드 {} } 로 영역이 구분된다. 위에서 메소드는 main함수이다.
System.out.println()은 자동개행이 된다. 여긴 꼭 System.out을 붙여야 되나? 맨날 printf()만 써대서 적응안된다.
다음 코드에서, 숫자는 따옴표 없이 사용 가능하고 +를 이용하여 다른 type들을 섞어서 쓸 수 있다는 것을 확인할 수 있다. 아까까지는 print 명령어가 길어서 별로였는데 사용방식이 간편해서 더 좋아졌다. (근데 이러고 c 다시 하면 헷갈릴 거 같음)
class FirstJava
{
public static void main(String[] args)
{
System.out.println(16);
System.out.println(3.48);
System.out.println("오늘은 " + 6 + "월 " + 25 + "일");
System.out.println("5 * 7 = " + 5*7);
}
}
ch 01-4. 주석
주석은 똑같이 블럭 단위는 /* */, 라인 단위는 // 으로 처리된다. (아직까지는 어셈블리만 #으로 다른듯)
그리고 중괄호 처리할 때,
함수
{
...
}
이런 방식 보다 아래 방식이 더 좋다.
함수 {
...
}
+ VS 개발환경
이렇게 하면 ch 01은 끝인데 일단 개발환경부터 어떻게 해야겠다. 메모장 코딩은 시프로 이미 충분히 겪은 거 같다,,,,,,
아무생각없이 익숙한 vs (그 c쪽 지원하는) 켰다가 자바 없길래 당황,,, 검색하니까 역시나 또 이 vs말고 저 vs(vs code) 사용하라길래 (시프때도 이거 컴파일 할 줄 몰라서 걍 터미널에다 바로 코딩한건데 아놔()) 하여튼 이번엔 셋팅 제대로 하니까 뭔가 되는 것 같다...
먼저 jdk 설치 후 환경변수 셋팅까지 한 후에, vs에서 java 확장팩을 다운받는다.
그리고 컴퓨터에 이 프로젝트를 저장할 폴더를 하나 생성한 뒤, 다시 vs에서 ctrl + shift + p를 통해 명령 팔레트를 실행한다. 여기서 creat java project 를 선택 -> No build tools 선택 -> 아까 만든 프로젝트 폴더 선택 -> 프로젝트 명 입력 -> 완성!!
이러면 바로 아래처럼 샘플 코드가 나온다. src의 App.java에 있다. 여기에 코드를 작성하고 우측 상단에 Run java 화살표를 누르거나 F5키로 바로 실행할 수 있다. 그러면 맨아래 터미널에 결과가 출력된다.
'✨언어 > Java' 카테고리의 다른 글
[ch 08, 09] 패키지, 정보 은닉 (0) | 2024.06.28 |
---|---|
[ch 05, 06, 07] 제어문, 메소드, 클래스 (0) | 2024.06.27 |
[ch 02, 03, 04] 변수, 상수, 연산자 (0) | 2024.06.26 |