티스토리 뷰
■문자 정수 연산하면 정수값!
자동으로 연산됨
'a' > 64 가능
■전역변수
지역변수 - 해당 중괄호가 끝나면 바로 메모리에서 해제됨, 메모리 절약
■문자열 초기화 - 목적에 따라 자유자재로 쓸 수 있어야 한다
null : 대입을 할 때
"" : 누적 연결을 할 때(+=)
result += (char)(c + 32);
result = result + (char)(c+32);
문자열 = 문자 + 문자열
자료형 공부하기
--------------------------------------
■2차원 배열 : 배열 안에 배열
1차원 배열을 여러 개 선언할 때 관리하기 힘들기 때문에
2차원 배열을 한 번 선언한다.
※ 2차원 이상의 배열은 메모리 낭비가 심하므로 선호하지 않는다.
실무에서 거의 안씀, 메모리 낭비 > DB 이해를 위해서 공부
행부터 접근 -> 열(행렬)
행 > 배열 길이
열 > 값의 시작 주소
(1차원 배열; 열=값)
첫번째 대괄호 > 행
두번째 대괄호 > 열
대괄호 두번 사용해야 값에 접근가능
■2차원 배열 선언
1.자료형[][] 배열명 = {{값1, 값2, 값3}, {값4, ..}, ...};
2.자료형[][] 배열명 = new 자료형[행][열];
3.자료형[][] 배열명 = null;
배열명 = new 자료형[행][열];
□ arrData arrData.length(행의 길이)
□□ arrData[행] arrData[행].length(열이 길이)
□□□ □□□ arrData[행][열]
■int[][][][] : 의면행열
0~n 의 값을 구하려면 >> %n+1
코딩테스트 4~6개 문제 정도 출제
1~3 : 회사쓰는 실무에 대한 코딩에 대한 문제
4~6 : 풀이과정을 보기 위한 변별력을 높인 문제, 다 못 풀어도 제출해야 함
----------------------------------------
■메소드
이름 뒤에 소괄호.
단, 키워드 뒤에 소괄호는 메소드가 아니다.
f | (x) | = | 2x+1 |
메소드 이름 | 매개변수(parameter) | 리턴값 |
■메소드 선언
(1)리턴타입 (2)메소드명(자료형 (3)매개변수, ..){
(4)실행할 문장;
(5)return 리턴값;
}
(1) 리턴타입 : 리턴 값이 있다면 리턴 값의 자료형을 작성하고, 리턴 값이 없다면 비워놓지 않고 void를 작성한다.
(2) 메소드명 : 동사로 작성한다. ex)연필(매개변수-명사)을 쓴다(메소드-동사)
(3) 매개변수 : 외부에서 전달받을 값이 있다면, 자료형과 순서에 맞게 선언해준다. 갯수 여러개 가능
생략 시, 외부에서 값을 전달받을 수 없게 된다.
(4) 실행할 문장 : 생략이 가능하며, 메소드의 기능을 구현하는 로직을 작성한다.
(5) 리턴값 : 생략이 가능하다.
■메소드 선언 순서
문제) 두 정수의 덧셈 메소드 선언
1.메소드의 이름을 생각한다.(풀로 쓰는 게 좋음)
sum, plus, add, getTotal, compute, ...
add(){}
2.매개변수를 생각한다.
add(int num1, int num2){}
3.실행할 문장을 생각한다.
add(int num1, int num2){
int result = num1+num2;
}
4.리턴 값을 생각한다.(사용자의 입장에서 생각하기)
add(int num1, int num2){
int result = num1+num2;
return result;
}
5.리턴 타입을 결정한다.
int add(int num1, int num2){
int result = num1+num2;
return result;
}
{}가 있으면 선언
{}가 없으면 사용
■메소드 주의사항
메소드를 선언할 때에는 {}중괄호가 있으며, 반드시 메소드 밖에서 클래스 안에서 선언한다.
메소드를 사용할 때에는 {}중괄호가 없으며, 반드시 메소드 안에서 사용한다.(어떤 메소드는 상관없음, 메소드 안에서만 사용)
■메소드 사용
메소드의 리턴 타입이 void면 실행 메소드이므로 값으로 봐서는 절대 안된다.
메소드의 리턴 타입이 void가 아니라면 사용한 부분 통채로가 리턴 값이다.★
==========================================================================
PM
■static 키워드 : 컴파일러가 메모리에 가장 먼저 할당됨
메인에서 메소드를 사용할 때 오류해결방법 :
1.선언한 메소드에 static을 넣으면 main에 같이 올라가서 오류가 사라짐
2.힙메모리(동적메모리)에 올리기 > new연산자 사용 > 메소드가 있는 소속 알려주기
메인메소드에 메소드가 없으면 힙메모리 내용 읽어서 메소드 사용하기
■static
컴파일러가 가장 먼저 메모리에 할당해준다.
일반 메소드를 static 메소드에서 사용하기 위해서는
1.static을 붙여서 같이 메모리에 올려준다.
2.일반 메소드의 소속을 알려준다.
-static 메소드에서 사용된 일반 메소드는 Heap 영역에서 찾는다.
-클래스 타입의 변수를 선언할 때 Heap 영역에 할당되므로,
일반 메소드도 해당 변수를 통해 접근하여 사용할 수 있다.
사용한 메소드를 리턴값으로 보기!!
두 개의 값을 하나로 만들 때 사용하는 거,,
■메소드의 목적
1.재사용 (특정성을 부여하면 안 된다).
2.소스코드 간결화
■리턴해야 할 때
사용한 쪽에 로직의 결과를 전달해야 할 때.
메소드 내에서 모든 작업이 끝날 수 없을 때.
■리턴하면 안 될 때
사용한 쪽에 로직의 결과를 전달할 필요가 없을 때.
메소드 내에서 모든 작업이 완료될 때.
*복습*
작성한 코드 하나하나 분석하기
주석 달기
문제를 조금씩 변형해보기 > 응용
'2022 > java 2' 카테고리의 다른 글
day07[클래스 실습] (0) | 2022.08.08 |
---|---|
day06[클래스, 객체화, 생성자] (0) | 2022.08.08 |
day04[반복문(while),배열] (0) | 2022.08.08 |
day03[연산자,조건문(if,switch),반복문(for)] (0) | 2022.08.08 |
day02[변수,자료형,서식문자,입력메소드] (0) | 2022.08.08 |