번외 ) 자바 정리

·2024년 4월 8일
0

JAVA

목록 보기
8/9

하나의 게시글로 올리기엔 짜잘하지만
공부 필요한 것들 !


🤍 1. 변수 위치에 따른 분류

1) 로컬 변수

~ 메서드 내부에 선언된 변수 + if문, for문 내에서 선언된 변수
~ for문의 소괄호 내에서 제어되는 변수 또한 로컬변수
~ 메서드 파라미터 내 변수
~ 선언된 위치부터 소속된 괄호가 끝낼 때까지만 존재한다.
~ 반드시 초기화 후 사용한다

2) 멤버 변수

~ 클래스 내부 및 메서드 외부에 존재하는 변수
~ 클래스 내의 생성자나 메서드에서 접근 가능
~ 초기화하지 않을 경우, 기본값으로 자동 초기화된다
~ 종류로는 인스턴스 멤버 변수와 클래스 멤버 변수가 존재한다

2-1) 인스턴스 멤버 변수
~ 접근제한자 뒤에 아무것도 붙지 않은 변수
~ 인스턴스가 생성될 때마다 각 공간이 새로 할당되므로 인스턴스가 다르면 인스턴스 멤버변수가 다르다
~ 인스턴스가 생성되면 메모리에 로딩되고 인스턴스 제거 시 메모리에서 제거된다.

2-2) 클래스 (정적) 멤버 변수
~ static 키워드가 붙은 변수


🤍 2. 접근 제한자

1) public : 모든 클래스에서 접근 가능 (제한 없음)
2) protected : 같은 패키지 또는 다른 패키지더라도 상속 관계에 있는 서브클래스만 접근 가능
3) default : 같은 패키지에서만 가능
4) private : 자신의 클래스에서만 접근 가능


🤍 3. String 클래스

~ 리터럴로 생성했을 때 문자열이 중복되는 경우, 가리키는 주소값은 같다. --> 문자를 비교하고 싶으면 equals() 사용

사용 문자열

String s1 = "Hello World";
String s2 = "	Person  !";
String s3 = "집/가고/싶다";

System.out.println()은 생략하겠습니다

1) 길이

s1.length();  // 결과 11

2) 비교

// 대소문자까지 비교
s1.equals("HELLO WORLD"); // 결과 false -> 대소문자 구분한다

// 대소문자 구분 무시하고 비교
s1.equalsIgnoreCase("HELLO WORLD");

3) 추출

// 세번째 문자 추출
s1.charAt(3); // 결과 l

// 문자열 추출
s1.substring(6) // 결과 World
s1.substring(6,9) // 결과 Wor --> 6포함 9포함 x

4) 결합

s1.concat("!"); // 결과 Hello World!

5) 검색

s1.indexOf('e'); // 결과 2
s1.indexOf("World"); // 결과 6 --> 시작지점 리턴

6) 치환

s1.replace('l', '*'); // 결과 He**o Wor*d

7) 대소문자 및 소문자로 변경

 s1.toUpperCase(); // 대문자로 변경
 s1.toLowerCase(); // 소문자로 변경

8) 공백 제거 (문자열 앞뒤 공백만 제거된다)

s2.trim();

9) 문자 나누기

String [] sub = s3.split("/");

for (String str : sub) {
	System.out.println(str);
} 

/* 
< 결과 >
집
가고
싶다
*/

10) 포함 여부

s1.contatins("안녕"); // 결과 false

예시
문제

str = "주소:부산 해운대구 세실로69번길 5 연하남, 층수: 1층, 번호: 010-2222-1111";
위의 문장에서 중요한 부분만 추출하시오

코드

String str = "주소:부산 해운대구 세실로69번길 5 연하남, 층수: 1층, 번호: 010-2222-1111";
str.split(":")

for (String sArr : str.split(",")) {
			System.out.println(sArr.split(":")[1].trim());
}


🤍 4. 난수 발생

방법 1

Random r = new Random(); // 객체 생성
int num; // 난수 저장할 변수 선언

num = r.nextInt(10); // 0~9 난수 발생

방법2

Math.random() // 0.0 <= x <= 1.0
Math.random() * 10 // 0.0 <= x <= 10.0
profile
~*

0개의 댓글