편집 요약 없음 |
(→함수) |
||
85번째 줄: | 85번째 줄: | ||
void swap(Object left, Object right) | void swap(Object left, Object right) | ||
{ | { | ||
Object temp = left; | |||
left = right; | left = right; | ||
right = temp; | right = temp; | ||
} | } | ||
</source> | </source> | ||
반환값이 없는 함수의 예이다. 컴퓨터는 {--|멍청해서}변수 두 개를 한 번에 바꾸지 못하므로 temp 변수를 선언해서 사용해야 한다. 이처럼 함수 안에서만 쓰이는 변수를 '''지역변수'''라고 한다. | 반환값이 없는 함수의 예이다. 컴퓨터는 {{--|멍청해서}}변수 두 개를 한 번에 바꾸지 못하므로 temp 변수를 선언해서 사용해야 한다. 이처럼 함수 안에서만 쓰이는 변수를 '''지역변수'''라고 한다. 이런 지역 변수는 {{--|당연하게도}} 그 지역 내(여기서는 함수)에서만 사용한다. | ||
<source lang="java"> | <source lang="java"> |
2015년 5월 23일 (토) 01:36 판
준비
우선 JDK[1]가 필요하다. 여기에서 최신의 것을 받아 쓸 수 있다. 더 준비할 필요는 없지만[2] 왠만해서는 IDE 쓰자. 다른 팀원들에게 피해일 수도 있다. 넷빈즈나 이클립스, JBuilder[3] IDE를 설치하면 따로 설정을 더 할 필요도 없으니 IDE 쓰자.
객체지향
Write once, run anywhere. 이게 무슨 소리냐면 소스 코드를 한 번 작성하면 모든 곳에서 테스트할 수 있다는 거다.[4]
모든코드를 class안에 넣는다. 이게 무슨 소리인가 하면 아래의 예제를 보자. 자바 코드에는 거추장스러운public class나 System.out과 같은 것이 붙어있게 된다. 익숙해지면 망할C보다 편리하고 훨씬가독성이 높은 코드를 작성할 수 있다. 뭐, 이런 이론보다는 코드를 보면서 익히는 게 훨씬 나으니, 보면서 꼭 따라쓰자.
당연히도Hello, world!!
콘솔 출력을 배울 수 있는 프로그램이다.[5] 뭔가를 하긴 했는데 그 결과가 제대로 나왔는지. 아니, 결과가 나오긴 하는지를 살펴 볼 때 필요한 것이므로 외우게 된다.착실히 외우기 바란다.
/** Document : Hello.java
@auther : wikineet
*/
public class Hello
{
public static void main(String[] args)
{
System.out.println("Hello, world!!");
}
}
public class Hello에서 public은 "공개된" 클래스라는 의미로, import 구문으로 "이 클래스를 사용하겠다"라고 하면 어떤 경우에도 이 클래스를 사용할 수 있다. 그렇기 때문에 이 클래스가 public인 것. 안 그러면 컴파일러가 못 쓴다.
참고로 자바에선 파일 이름과 클래스 이름이 반드시 일치 되어야 한다. 따라서, 이 소스코드의 파일 이름은 "Hello.java"가 되어야 한다.
데이터 형식
거의 모든 프로그래밍 언어에는 데이터 형식이 있다. 없는 언어는 뭐지... 자바에는 크게 2 종류의 데이터 형식이 있는데 그건 다들 무시한다. 기본형과 참조형이 그것인데 기본형에는 8 가지가 있다. 너무 많다고? 그렇게 생각된다면 저기 루아 있는 데 가서 놀아야 할 것이다. 여하튼간에 그 8 가지는
자료형 | 바이트 수(Byte) | 표현 범위 |
---|---|---|
boolean | (1)[6] | true | false |
char | 2[7] | 유니코드 문자 |
byte | 1 | -128 ~ 127 |
short | 2 | -32768 ~ 32767 |
int | 4 | -2147483648 ~ 2147483647 |
long | 8 | -9223372036854775808 ~ 9223372036854775807 |
float | 4 | 1.4 * E-45 ~ 3.4028235 * E+38 |
double | 8 | 4.9 * E-324 ~ 1.7976931348623157 * E+308 |
어떻게든 외우게 된다.
참조형은 여백이 너무 좁아 여기정도에서 보는 수밖에 없다.
변수
변수 선언은 자료형 변수명;으로 선언할 수 있다.[8] 이 때, 변수명에는 특정 기호가 들어갈 수 없는데[9] 그 특정 기호는 제어문자, 중괄호와 아래 연산자 부분에 나오는 기호들이다. 숫자의 경우, 맨 앞 글자에 숫자가 들어가면 그것은 수치로 인식되므로 주의하기 바란다. 또한 예약어라는 것이 있는데, 이것들은 사용하지 말기로 약속한 것이기 때문에 사용할 수 없다.
변수명
유니코드 문자 중 거의 대부분을 사용하여 만들 수 있지만 자바 사용자들의 암묵의 룰에 의해 보통 다음과 같이 사용된다.
- 한 나라에서만 작업할 게 아니면 영어로 된 이름을 짓는다.[10]
- 그 변수가 의미하는 것을 적절히 표현하는 이름을 짓는다.
- 알파벳 소문자로 시작하며, 두 단어 이상일 때에는 첫 단어를 제외한 모든 단어의 머릿글자를 대문자로 짓는다.[11]
- 상수는 대문자로 지으며, 두 단어 이상일 때에는 띄어쓰기를 밑줄로 쓴다.
int theAnswerToTheUltimateQuestionOfLife_TheUniverse_AndEverything = 42;
char 如月 = 'H';
String hello = "Hello, world"; //Java의 참조형 자료형의 일종인 String이다. 자주 쓰이니 꼭 알아두길 바란다.
함수
함수는 반환값, 입력값이 있다. (물론 없을 수 있긴 하다.) 함수를 선언할 때에는 반환할 자료형 함수의 이름(입력받을 자료형 입력받을 변수의 이름 ...)으로 선언하고, 그 내용을 채운다. [12]
/** 두 객체를 바꾸는 함수
@param Object left right와 바꿀 것
@param Object right left와 바꿀 것
*/
void swap(Object left, Object right)
{
Object temp = left;
left = right;
right = temp;
}
반환값이 없는 함수의 예이다. 컴퓨터는 멍청해서변수 두 개를 한 번에 바꾸지 못하므로 temp 변수를 선언해서 사용해야 한다. 이처럼 함수 안에서만 쓰이는 변수를 지역변수라고 한다. 이런 지역 변수는 당연하게도 그 지역 내(여기서는 함수)에서만 사용한다.
/** 두 수 중 더 큰 수를 반환하는 함수
@param int left right와 비교할 것
@param int right left와 비교할 것
@return int max 둘 중 더 큰 수
*/
int max(int left, int right)
{
return left > right ? left : right; //연산자는 곧 배울 것이다.
}
연산자
주요 예약어
객체지향
주요 라이브러리
java.lang
java.math
java.util
기타 예약어
멀티쓰레딩
GUI
java.awt
javax.swing
javafx
IO
java.io
java.nio
네트워킹
JavaEE
먼저 HTML/CSS/JavaScript는 다 떼고 오는 것이 좋다. 그리고 항목이 너무 길어질 수 있어 분리하겠다. 여기로.
각주
- ↑ Java Developement Kit
- ↑ 간단한 텍스트 편집기(ex:notepad)와 javac를 실행할 수만 있으면 된다.
- ↑ JBuilder는 상용 프로그래밍이므로 쓸 거면 사서 쓰자.
- ↑ 어짜피 윈도우만 지원해 주면 되거든... 리눅스지못미
- ↑ 왜 이런 걸 배워야 하는 지 모르겠다면 쭉 내려가서 GUI 부분을 찾아보고 오길 바란다.
- ↑ 1 비트면 충분하지만 어른의 사정으로 인해 1 바이트가 되었다.
- ↑ 아스키 코드 뿐만 아니라 유니코드도 지원한다!!
- ↑ C언어 기반의 언어들 대부분이 그렇다.
- ↑ 알파벳과 밑줄, 그리고 숫자만이 들어갈 수 있다고 한다.
- ↑ 한국에서만 작업할 것이라면 한글로 이름지어도 좋다.
- ↑ 함수에도 적용된다.
- ↑ 특별한 경우로, abstract 키워드를 붙이면 내용을 채우지 말아야 한다.