분류 전체보기 13

2.3 여러 가지 배열 - 2.3.2 다차원 배열

보통 1차원이 아닌 2차원, 3차원 등을 통틀어 다차원이라고 합니다. 앞에서 배열을 특정 데이터 타입을 담는 상자(변수)들의 묶음이라고 정의하였는데, 이때 배열은 1차원 배열을 말합니다. 1차원 배열은 개념적으로 상자들이 일렬로 나열되어 있습니다. 반면, 다차원 배열은 이런 상자 묶음들이 2차원, 3차원처럼 나열되어 있는 것을 말합니다.다차원 배열은 1차원 배열을 생성하는 것과 매우 유사합니다. 다만 배열 표시인 ‘[]’의 개수를 몇 차원인지에 따라 늘려 주면 됩니다.[다차원 배열의 선언](1) 배열이 어떤 타입의 데이터를 담을 것인지 명시             -> int (2) 배열의 이름을 적음                                                     -> int..

2.3 여러 가지 배열 - 2.3.1 배열

변수가 특정 타입의 데이터를 담는 상자였다면, 배열은 이런 변수들의 묶음입니다. 배열을 선언할 때는 new 연산자를 사용합니다.배열 요소 하나하나는 ‘배열이름[요소 번호]’로 나타낼 수 있습니다. 주의할 점은 배열의 요소 번호(인덱스)는 1이 아닌 0부터 시작한다는 것입니다. 따라서 [그림 2-9] 상단의 arr 배열의 첫 번째 요소를 참조하고 싶다면 ‘arr[0]’이라고 나타냅니다.일반 변수에 값을 저장하는 것처럼 배열 요소 하나하나에도 값을 저장할 수 있습니다.더 간편하게 다음처럼 배열의 선언과 동시에 배열 요소에 값을 저장할 수도 있습니다. [코드 2-1]에서는 문자열 값을 담는 String 변수 4개에 값을 저장하고 이 값들을 출력하기 위하여 비슷한 문구가 여러 번 반복되어 나타났습니다. 그러나 ..

2.2 여러 가지 연산자 - 2.2.5 연산자의 우선순위

수학식을 풀 때 보통은 왼쪽에서 오른쪽 방향(→)으로 계산합니다. 그리고 곱셈(*) 이나 나눗셈(/)이 있다면 이것들을 먼저 계산합니다. 또, 괄호가 있으면 그 괄호 안의 식을 제일 먼저 계산합니다. 즉, 연산의 우선순위로 보면 괄호가 제일 먼저고, 곱셈과 나눗셈이 그다음, 덧셈과 뺄셈이 마지막이 됩니다.프로그래밍 언어에서의 연산자도 수학 연산자와 마찬가지로 연산의 우선순위가 있습니다. 수학 연산자의 우선순위와 프로그래밍 언어 연산자의 우선순위는 상당히 비슷합니다. 다만 프로그래밍 언어에는 추가된 연산자(논리 연산자 등)가 있기 때문에 이들의 우선순위를 알아두는 것이 좋습니다. 프로그래밍 언어 연산자의 우선 순위를 나타내면 다음 표와 같습니다.   NOTE! 시프트 연산자(>) 컴퓨터는 모든 데이터를 0..

2.2 여러 가지 연산자 - 2.2.4 데이터 타입의 변환

2.2.4 데이터 타입의 변환 자바는 변수에 데이터를 담습니다. 앞에서 설명한 바와 같이 변수는 특정 데이터 타입의 값을 담는 상자를 말합니다. 그래서 정수 값을 담는 int라는 데이터 타입의 변수에는 2, 3, 4와 같은 정수 값을 대입하고, 실수 값을 담는 float라는 데이터 타입의 변수에는 1.5, 2.3과 같은 실수 값을 대입합니다. 그렇다면 산술 연산자 +, -, *, /를 사용하여 정수 값끼리 계산했을 때는 어떤 값이 나올까요?[수학 연산 결과]    7 / 2 = 3.5[자바 연산 결과]    7 / 2 = 3  우리가 배운 수학대로라면 7 나누기 2를 하면 3.5가 나옵니다. 그런데 자바로 프로그래밍하여 7 나누기 2를 하면 3이 나오게 됩니다. 자바에는 변수라는 개념이 있어서 같은 데이..

2.2 여러 가지 연산자 - 2.2.2 비교 연산자 / 2.2.3 논리 연산자

2.2.2 비교 연산자수학에서 2개의 숫자 값을 비교한다는 의미는 어느 숫자가 큰지, 작은지, 같은지, 같지 않은지 등을 판단한다는 의미입니다. 비교하는 기호에는 >,   자바에서는 비교 연산자로 조건식을 만들면, 그 결과 값으로 참(true), 거짓(false) 값이 나옵니다. 그래서 while문이나 if문 등에서 ( ) 안에 비교 연산자를 사용한 조건식을 넣고, 그 값이 참일 동안에만 {} 안의 내용을 실행합니다. 예를 들면, ‘while ( a 2.2.3 논리 연산자우리가 어떤 조건을 이야기하고 싶은데 그 조건이 한 개 이상일 때가 간혹 있습니다. 예를 들면, “내일 비가 오거나 눈이 오면 우린 밖에 나갈 수 없을 거야.”라든지 “해당 시험의 응시 자격 나이는 20세 이상 30세 이하입니다.”가 있..

2.2 여러 가지 연산자 - 2.2.1 산술 연산자

컴퓨터는 전기를 연결한 기계입니다. 전기가 낮을 때를 0, 높을 때를 1로 생각하여 모든 데이터나 명령어를 0과 1로 구성된 2진수로 나타냅니다. 따라서 컴퓨터 프로그램의 실행과 종료가 2진수의 수학 연산을 바탕으로 이루어집니다. 연산자는 영어로 ‘operator’라고 하며, 실행해야 하는 행동을 지정하는 것을 말합니다. 수학의 사칙 연산인 +, -, ×, ÷ 모두 연산자입니다. 프로그래밍 언어에서는 수학에서 사용하는 연산자 외에도 여러 가지 연산자가 있는데, 차근차근 살펴 보겠습니다.2.2.1 산술 연산자 산술이란 2개 이상의 수를 결합하는 모든 법칙을 아우르는 말로서, 쉽게는 ‘계산’이라고 볼 수 있습니다. 따라서 산술 연산자란 계산하는 연산자입니다. 그 종류는 다음과 같습니다. 산술 연산자를 사용한..

2.1 기초 문법 - 2.1.2 변수

2.1.2 변수변수란 특정 데이터 타입의 값을 담는 상자입니다. 쓰레기를 버릴 때 유리는 유리를 담는 상자에, 종이는 종이를 담는 상자에 분리해 넣는 것처럼 어떤 데이터를 가지고 프로그래밍할 때도 정수 값은 정수 값을 담는 변수에, 문자열 값은 문자열 값을 담는 변수에 넣어 주어야 합니다.  메모리 공간에 해당 변수를 저장할 공간을 만드는 것을 ‘변수를 선언한다’라고 합니다. 변수를 선언할 때는 (1) 해당 변수가 어떤 타입의 데이터를 담을 것인지 명시하고 (2) 변수의 이름을 적은 후 (3) ‘;’으로 변수 선언이 끝났다는 걸 표시합니다. 프로그래밍 언어에서 세미콜론(;)은 문장의 끝에 찍는 문장의 마침표(.)와 같다고 생각하면 됩니다. [변수의 선언] (1) 변수가 어떤 타입의 데이터를 담을 것인지 ..

2.1 기초 문법 - 2.1.1 데이터 타입

2.1.1 데이터 타입 컴퓨터는 데이터를 가지고 연산합니다. 그럼 데이터란 무엇일까요? 데이터는 어떤 대상을 수치나 말로 묘사하여 표현한 것을 말합니다. 예를 들면, 어떤 사람에 대해서 표현할 때 ‘이름: 홍길동, 나이: 28세, 키: 173.9cm, 성별: 남자, 직업: 회사원’이라고 한다면, 이는 그 사람에 대한 데이터가 됩니다. 1, 2, 3 등의 숫자를 ‘정수’라고 하고, 3.4, 4.5 등의 숫자를 ‘실수’라고 하며, 아, a 를 ‘문자’, 학교를 ‘문자열’이라고 그 종류를 분류하듯이, 컴퓨터 프로그래밍 언어에서도 여러 데이터 값의 종류를 지칭하는 ‘데이터 타입’이 있습니다. 자바에는 대표적으로 ‘char, String, int, long, float, double, boolean’ 등의 데..

1.3 자바 프로그램의 작동 원리

1.3.1 컴파일과 실행  자바로 작성한 코드는 ‘.java’라는 확장자를 가지고 있습니다. 자바는 ‘.java’로 끝나는 자바 코드를 컴퓨터가 이해할 수 있는 기계어로 변경해주는 ‘javac’라는 이름의 전용 컴파일러가 있습니다. ‘javac’로 프로그래밍 언어를 기계어로 변경하면 ‘.class’라는 확장자를 가진 파일이 생성됩니다. ‘.class’ 파일은 자바 가상머신, JVM(Java Virtual Machine)을 통해 실행됩니다.  1.3.2 자바 가상 머신 JVM은 자바로 작성된 프로그램을 실행하기 위한 프로그램으로, 자바로 작성한 코드를 해당 컴퓨터의 명령어로 번역해 주는 역할을 합니다. 따라서 JVM만 있으면 기계 종류나 운영체제에 관계없이 자바 프로그램을 실행할 수 있습니다.  이처럼 자..

1.2 자바와 객체

자바는 대표적인 객체 지향 프로그래밍 언어로, 지금은 Oracle에 인수된 Sun Microsystems라는 미국의 컴퓨터 회사에 의해 1995년에 발표되었습니다. 자바는 원래 가전제품에 들어갈 소프트웨어를 개발하기 위한 용도였지만, 지금은 인터넷 및 안드로이드 애플리케이션 개발에도 많이 사용하고 있습니다. 자바 : 객체 지향 프로그래밍 언어 앞서 말했듯 프로그래밍 언어는 컴퓨터를 작동하기 위한 소프트웨어를 작성할 때 사용하는 언어를 말합니다. 그렇다면 ‘객체 지향’은 무엇일까요? 객체를 지향한다는 것은 프로그래밍할 때 각각 독립적으로 작동하는 객체를 만들고 이들의 관계를 설계해 간다는 의미입니다. 객체란 실체입니다. 예를 들어, 나, 언니, 엄마, 아빠는 ‘인간’의 실체(객체)라 할 수 있습니다. 객체..

반응형