시리즈:쉽게 배우는 프로그래밍 입문/Java: 두 판 사이의 차이

편집 요약 없음
85번째 줄: 85번째 줄:
void swap(Object left, Object right)
void swap(Object left, Object right)
{
{
     object temp = left;
     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는 다 떼고 오는 것이 좋다. 그리고 항목이 너무 길어질 수 있어 분리하겠다. 여기로.

각주

  1. Java Developement Kit
  2. 간단한 텍스트 편집기(ex:notepad)와 javac를 실행할 수만 있으면 된다.
  3. JBuilder는 상용 프로그래밍이므로 쓸 거면 사서 쓰자.
  4. 어짜피 윈도우만 지원해 주면 되거든... 리눅스지못미
  5. 왜 이런 걸 배워야 하는 지 모르겠다면 쭉 내려가서 GUI 부분을 찾아보고 오길 바란다.
  6. 1 비트면 충분하지만 어른의 사정으로 인해 1 바이트가 되었다.
  7. 아스키 코드 뿐만 아니라 유니코드도 지원한다!!
  8. C언어 기반의 언어들 대부분이 그렇다.
  9. 알파벳과 밑줄, 그리고 숫자만이 들어갈 수 있다고 한다.
  10. 한국에서만 작업할 것이라면 한글로 이름지어도 좋다.
  11. 함수에도 적용된다.
  12. 특별한 경우로, abstract 키워드를 붙이면 내용을 채우지 말아야 한다.

틀:쉽게 배우는 프로그래밍 입문