목차
1. Java 특징
2. 개발 환경 구축
3. Eclipse 사용
4. 화면 출력 기능
5. 자료형, 변수
1. Java 특징
c언어는
원시프로그램을 컴파일러로 목적프로그램으로 바꾸고
그것을 링커로 실행프로그램으로 바꾸는 실행 과정을 가졌다.
이런 이유로 c언어는 운영체제마다 다른 버전이 있고
플랫폼에 종속되는 특징을 가졌다.
그러나 java는 컴파일러를 통해
class file을 만들고
이를 가상머신(jvm)이 각 운영체제에 맞게
interpret 한다.
우리는 모든 것을 다 만들 필요는 없고 class file까지만 만들면 된다.
2. 개발 환경 구축
◎Java
º개발 환경 구축
1. Java 컴파일러 : JDK, JRE(JVM)
2. 코드 편집기 : Eclipse, InteliJ
JDK(Java Development Kit)를 설치하면 JRE(Java Runtime Environment)까지
설치가 되므로 여러 개를 설치할 필요가 없다.
JDK는
Oracle 사의 JDK(유료, v8, v11은 무료)와
Open JDK(무료)가 있다.
둘의 성능차이는 거의 없으나
대규모 개발을 할 때
기능의 차이가 좀 있다고 한다.
1. JDK, 코드 편집기 설치
1. JDK 설치
우선 오라클 홈페이지에 들어가서
Products에서 Hardware and Software로 내려가
Java를 누른다.
java를 눌러서 아래로 내리면 Java 다운로드가 있는데 이 버튼을 누른다.
다운로드 페이지에 와서 아래로 내리다 보면 Java11 버전이 있는데 이를 클릭하고
자기 운영체제를 클릭한다.
그리고 x64 Installer를 다운로드해주면 된다.
다운로드 파일을 누르면 이런 창이 뜨는데
체크하고 다운로드를 누르면 로그인창이 뜬다.
그땐 오라클을 회원가입을 하든지, 로그인을 해줘야 한다.
이제 다운이 완료되면
파일을 눌러 설치를 해보자!!
next를 누르다 보면 설치가 끝나고
이런 화면이 뜬다. 그럼 close를 누르면 된다.
그럼 이제 Java를 할 수 있는 것일까??
아니다.
비주얼스튜디오와는 달리 코드 편집기는
포함하지 않기 때문이다.
물론 메모장으로도 할 수 있다.

메모장에 코딩을 한 후

.java 파일로 만들면 된다.

그다음 명령 프롬프트를 실행해서

자기가 메모장을 저장한 위치로 찾아가서
javac(java compiler)로 번역해 준다.
그러면 메모장이 저장된 위치에. class 파일이 생긴다.


그리고 명령 프롬프트에 가서 java Hello라고 쳐주면 실행이 된다.
그러나 이런 과정이 불편해서
코드 편집기를 사용한다.
1. Eclipse
이클립스 홈페이지에 들어가서 오른쪽 상단에 다운로드를 누른다.
Get Eclipse IDE 다운로드를 누르지 말고
그 밑에 Download Packages를 누른다.
그중에
Eclipse IDE for Java Developers를 설치하면 된다.
(우리는 안드로이드 개발자니까..)
(백앤드 개발자는 이거 밑에 거를 설치하면 된다고 한다.)
운영체제에 맞게 다운로드를 하면
압축 파일이 있을 것이다.
압축을 해제하면 eclipse라는 폴더가 생길 것이다.
이런 방식으로 다운로드를 하면
설치할 필요가 없다.
파일들이 다 폴더에 이미 있기 때문이다.
이제 설정만 해주면 된다.
폴더 안에 있는
를 누른다.
그럼 워크스페이스를 설정하라는 것이 나오는데
내가 원하는 위치를 설정 후
Launch를 누른다.
그럼 이클립스라는 코드 편집기가 실행이 된다.
3. Eclipse 사용
이제 c언어에서 했듯
New - Java Project를 눌러준다.
그리고 프로젝트 이름을 입력한다.(프로젝트명은 파스칼 표기법으로!)
그리고 JRE에서 우리가 설치한 JavaSE-11을 선택해 준다.
그리고 마지막으로 모듈을 체크해제해 준다.
그리고 finish를 눌러주면
이렇게 새로운 것들이 나타난다.
Java는 완전한 객체를 지향하는 언어이다.
그래서 몇 가지 특이한 점이 있다.
우선 .java라는 확장자명을 가진 파일의 이름은
class의 이름과 똑같아야 한다.
Java에선 빈 프로젝트가 아닌
class를 만들어야 한다.
다른 부분은 후에 설명이 될 것이고
Name을 설정한 후 Finish를 누른다.
그럼 이렇게 설정이 될 것이다.
C언어와는 다르게 { }가 코드 바로 옆에 있는 모습인데
이것이 Java 스타일이다.
이 방식을 앞으로도 사용할 것이다.
4. 화면 출력 기능
Java를 이제 할 땐 저렇게 적어놓고 시작해야 한다.
c언어 때 void main()을 한 것처럼
Java에선 저렇게 쓰고 시작해야 한다.
c++에선 출력하기 위해서
std:: 를 쓰고 cout을 쓴다.
그것과 마찬가지로
System.out. 을 하고 print를 하면 출력할 수 있는 기능을 사용할 수 있다.
(print를 입력하면 사용가능한 여러 기능이 나온다.. 오버로딩!!)
이렇게 하고 저장을 하면 Eclipse는 자동으로 컴파일까지 해준다.(와... 미쳤다리..)
(Eclipse는 컴파일러가 아니지만 JDK, JRE와 연동을 해주는 편리한 편집기다)
이제 실행을 위해
Run을 눌러주게 되면
이클립스 아랫부분에 Console창이 나타나면서
결과가 보이게 된다.
C언어에서는 함수라고 불리던 것이
Java에선 Method라고 부른다.
※ 화면 출력 객체 System.out
Java에서 화면 출력 객체는
System.out이다.
이를 이용하면 어떤 자료형이든 출력이 가능하다.
근데 매번 줄 바꿈을 하기 위해 print와 \n을 입력해 주는 게 불편하다고 생각이 되서인지
줄 바꿈까지 자동으로 해주는 print문을 만들었다.
그것이 println(Data);이다.
또한 c언어처럼 서식문자를 사용해서 출력하는
printf의 메쏘드(Method)도 가지고 있다.
또 하나 특이한 게
문자열을 더할 수도 있다.
"Hello"와 " world"를 더하니
Hello world가 나온 거처럼 말이다.
이런 점을 이용해서
printf를 사용하지 않아도
printf와 같은 모양을 출력할 수 있다.
다만 중간에 " "(문자열)이 들어가면
그 뒤에서 문자열로 처리돼서
원하는 값과 달리 나올 수도 있다.
5. 자료형, 변수
1. 기본형 ( primitive ) - boolean, byte, char, short, int, long, float, double
Data를 저장용 (c언어에서의 일반 변수)
boolean : 논리값 - 1byte
byte : 정수형 - 1byte (이미지, 동영상 같은 데이터 덩어리를 배열로 저장할 때)
char : 한문자 - 2byte(유니코드)
short : 정수형 - 2byte
int : 정수형 - 4byte
long : 정수형 - 8byte
float : 실수형 - 4byte
double : 실수형 - 8byte
2. 참조형 ( Reference ) - String, Scanner, System, Random... 2000여 개..(class로 만든 자료형)
주소를 저장 (c언어에서의 포인터 변수)
기본형이 아닌 나머지 변수들 전부, 첫 시작문자는 대문자!! - 모두 8 byte(주소 값을 저장하니까!)
자료형을 선언하는 방법은 c와 다르지 않다.
그러나 c언어와 차이점이 있다.
int b = 3.14;를 해서 출력하면
c언어는 3을 출력했다.
그러나 java는 아예 에러가 뜬다.
이때 저 파란색 부분을 누르면 에러가 난 부분으로 이동한다.
이런 에러가 난 이유는
자료형이 큰 것을 작은 것에 대입하는 것이 불가능하기 때문이다.
반대의 경우는 가능하다.
반대로 double형 자료형에 int인 3을 넣었더니
3.0으로 출력이 됐다.
그리고 자료형 별로 담을 수 있는 값의 크기가 제한되어 있다.
범위를 넘어가면 에러가 발생한다.
byte는 -128~127까지
short는 양수/음수 각 32768개씩
int는 양수/음수 각 21억까지
long은 뒤에 L을 붙여줘서 양수/음수 각 900경까지
(L이 없으면 그 뒤에 값을 상수값으로 판단해 int범위를 벗어나는 경우 에러가 발생)
float도 뒤에 f를 붙여줘야 한다.
double은 우리가 아는 것과 같다.
예외적으로
byte나 short는 각각 1바이트, 2바이트이나
4바이트인 정수를 가질 수 있다.(다만 가질 수 있는 최대 범위를 넘어서진 못함)
그리고 java에서 상수는 2가지가 있다.
첫 번째는 literal 상수 (우리가 아는 3,7,1000 같은 것)가 있고
둘째론 final 상수가 있다.(상수화된 변수)
c언어에서 const로 사용하던 것이다.
2023.01.05 - [C언어/강의] - c언어 #4 - 상수, 연산자 (국비 5일 차)
c언어 #4 - 상수, 연산자 (국비5일차)
오늘은 상수와 연산자를 집중적으로 공부할 예정이다. 그럼 상수부터 알아보자. 목차 1. 상수 2. 연산자 1. 상수 상수와 변수는 둘 다 Data를 저장하는 메모리(RAM) 공간이다. 그럼 이 둘의 차이는 뭘
d0ngurrrrrrr.tistory.com
final int USER_MAX = 5; 이런 형태로 사용하며
그다음에 값을 바꾸려고 하면 에러가 발생한다.
'# 개발 > Java' 카테고리의 다른 글
Java 연습문제 #3 - 숫자 야구 게임 만들기 (국비14일차) (0) | 2023.01.18 |
---|---|
Java 연습문제 #2 - console 입력 (국비14일차) (0) | 2023.01.18 |
Java #2 - 키보드 입력, Scanner, 연산자, 제어문, 반복문 (국비14일차) (2) | 2023.01.18 |
Java 연습문제 #1 (국비13일차) (0) | 2023.01.17 |
Java #0 - 객체 (국비12일차) (0) | 2023.01.16 |