본문 바로가기

JAVA

(62)
[JAVA 기초] 자바 배열 3 (다차원 배열) 2차원 배열 수학의 행렬과 같은 구조로 가로와 세로로 표가 만들어진다고 생각하자. int[][] scores = new int[2][3]; // 2 * 3 표 모양의 행렬 생성 -구현 방법: 실제로 자바가 표와 같은 형태로 2차원 행렬 데이터를 저장하지는 않는다. 1차원 배열이 다시 1차원 배열을 참조하는 방식으로 2차배열을 만든다. scores.length //2(배열 A의 길이) scores[0].length //3(배열 B의 길이) scores[1].length //3(배열 C의 길이) scores의 length값을 구하면 처음 행의 길이(2)를 구하게 되지만 scores[0], scores[1]의 길이는 그 행이 참조하고 있는 열의 길이(3)를 구하게 된다. 자바는 1차원 배열을 연결하여 다차원 ..
[JAVA 기초] 자바 배열 2 (명령라인에서의 실행) 명령 라인 입력 public static void main(String[] args) {...}에 String[]args가 붙어있는 이유는 자바의 args는 "명령 라인"에서 자바를 실행시킬 때 매개변수를 전달할 수 있게 하는 기능이다. main() 메소드는 String[] args 매개 변수를 통해서 명령 라인에서 입력된 데이터의 수와 입력된 데이터를 알 수 있게 된다. 이때, 데이터의 수는 args배열의 length, 입력된 데이터는 args배열의 항목 값을 말한다 소스파일 실행 시 명령 라인 매개값을 주지 않았을 경우 길이 0인 String 배열 생성 후 main() 메서드 호출한다 실행할 때 명령라인 매개 값을 주었을 경우 JDK11 이후 버전에서는 명령 라인에서 위와 같은 명령어로 확인할 수 있..
[JAVA 기초] 자바 배열 1 (선언, 생성, length) 배열은 많은 양의 데이터를 적은 코드로 처리할 수 있다. ex) 학생 30명의 성적을 저장하고 평균값을 구하려면? int score1 = 90; int score2 = 80; int score3 = 85; ..... int score30 = 75; int sum = score1; sum += score2; sum += score3; ... sum += score30; int avg = sum / 30; 배열을 사용하지 않고 코드를 작성하면 위와 같이 길어지게 된다. 배열 데이터를 연속된 공간에 나열하고 각 데이터에 인덱스(index) 부여한 자료구조 같은 타입의 데이터만 저장할 수 있음 한번 생성된 배열은 길이를 늘리거나 줄일 수 없음 배열 변수 선언 int[] intArray; double[] doub..
[JAVA 기초] 참조 타입과 참조 변수 2 (New 연산자, equals 연산자) String 타입 String 변수에 문자열 리터럴을 대입할새 경우 스택 영역에 변수가 선언이 되고 힙 영역에 리터럴(객체) 가 생성되어 스택 영역에 저장이 된다. 만약 같은 리터럴로 변수 값을 선언하면 힙 영역에 생성된 하나의 객체로 두 변수가 공유하여 가지게 된다. New 연산자 객체 생성 연산자 힙 영역에 새로운 String 객체를 생성 String name1 = new String("신용권"); String name2 = new String("신용권"); 문자열 리터럴과 new 연산자로 생성된 객체 비교 String name1 = "신용권"; String name2 = "신용권"; String name3 = new String("신용권"); name1 == name2 : true name1 == ..
[JAVA 기초] 참조 타입과 참조 변수(==/!=연산, NullPointerException) 기본 타입(primitive type) 8개의 기본 타입으로 이루어져 있어 정수, 실수, 문자, 논리 리터럴을 저장한다 참조 타입(reference type) 객체(object)의 번지를 참조하는 타입 배열, 열거, 클래스, 인터페이스 기본 타입 변수와 참조 타입 변수의 차이점 기본 타입과 참조 타입의 차이는 저장되는 값이 무엇인가 이다. 기본 타입으로 선언된 변수는 실제 값을 변수에 저장하지만 참조 타입은 배열, 열거, 클래스, 인터페이스를 이용해서 선언된 변수는 메모리에 번지를 값으로 갖게 되며, 즉 번지를 통해 객체를 참조한다는 뜻으로 참조 타입이라고 부른다. 기본 타입 변수 int age = 25; double price = 100.5; 참조 타입 변수 String name = "신용권"; Str..
[JAVA 기초] 자바 반복문 (for문, while문, do-while문, break, continue, label) 반복문에는 for문, while문, do-while문이 있다. 반복문은 어떤 작업을 반복적으로 실행하고 싶을 때 사용하여 제어문 처음으로 되돌아가 반복 실행하는데 이것을 루핑(looping)이라고 한다. for문 for (초기화식; 조건식; 증감식) {실행문;} 반복 횟수 알고 있을 때 사용 int sum = 0; sum = sum + 1; sum = sum + 2; sum = sum + 3; sum = sum + 4; sum = sum + 5; . . . . sum = sum + 100; System.out.println("1~100의 합:" + sum); 위와 같은 덧셈 연산을 더 간단하게 작성하기 위해 for 문을 사용한다. int sum = 0; for (int i=1; i
[JAVA 기초] 조건문 (if문, switch문) 자바 프로그램은 main() 메서드의 시작 중괄호 {에서 끝 중괄호 }까지 위에서 아래로 실행하는 흐름을 가지고 있다. 이러한 실행 흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 것을 흐름 제어문 혹은 제어문이라고 한다. 제어문의 종류에는 조건문과 반복문이 있다. 조건문 조건식에 따라 다른 실행문을 실행하기 위해 사용 if문 : 조건식 결과의 true.fasle 여부에 따라 실행문 결정 switch문 : 변수의 값에 따라 실행문 결정 if문 조건식 결과에 따라 블록 실행 여부 결정 조건식에 올 수 있는 요소 ( true / false 값을 산출하는 연산식, boolean 타입 변수) 중괄호 블록은 조건식이 true가 될 때 실행 (실행할 문장 하나뿐인 경우 생략 가능 위의 조건문은 중괄호를 달아..
[JAVA 기초] 연산자의 종류 2 (이항 연산자, 삼항 연산자) 비교 연산자 피연산자의 대소 비교하여 true/false 산출: 조건문이나 반복문에서 실행 흐름 제어 동등 비교 연산자는 모든 타입에서 사용 가능 크기 비교 연산자는 boolean 외 모든 기본 타입에서 사용 가능 구분 연산식 설명 동등비교 피연산자1 == 피연산자2 두 피연산자의 값이 같은지를 검사 피연산자1 != 피연산자2 두 피연산자의 값이 다른지를 검사 크기 비교 피연산자1 > 피연산자2 피연산자1이 큰지를 검사 피연산자1 >= 피연산자2 피연산자1이 크거나 같은지를 검사 피연산자1