Deeb
디비의 DB
Deeb
전체 방문자
오늘
어제
  • 분류 전체보기 (243)
    • Frontend (63)
      • HTML & CSS (27)
      • JavaScript (17)
      • jQuery (8)
      • React (6)
    • Backend (98)
      • Java (19)
      • JDBC (2)
      • Servlet & JSP (13)
      • Spring (17)
      • Project (0)
      • 개발 공부 (11)
      • 문제 풀이 (8)
      • Algorithm (1)
      • DataBase (0)
      • Oracle (18)
      • Error (8)
    • Knou (1)
    • Review (14)
    • TIL (33)
    • 삽질기록 (8)
    • deebtionary (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 공부
  • 다형성
  • DB
  • 2학기
  • 후기
  • 배열
  • js
  • 방통대
  • 삭제
  • 책
  • HTML
  • 정처기
  • 클래스
  • 기초
  • 에러
  • CLASS
  • 방송대
  • alter
  • GIT
  • 리액트
  • css
  • For
  • 한빛미디어
  • 정의
  • 자바
  • Java
  • 함수
  • 추천
  • DBMS
  • 서평단

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Deeb

디비의 DB

[Java] Array(배열)_String[] (null)
Backend/Java

[Java] Array(배열)_String[] (null)

2021. 9. 2. 10:41

✍String[] 

 

기본자료형 8가지(byte.), 가 아닌 나머지들

String은 정해진  byte크기가 없다. 그래서 stack에서는 주소만 저장하고 heap에 값이 저장된다

 


string배열의 메모리 구조

 

Heap영역에는 초기화를 해주기전에는 값이 없다.

double의 초기값 0.0

int의 초기값 0

String과 같은 참조형 변수의 기본값 : null

null의 의미

: 참조하고있는 주소가 없다. (비어있다x)

heap영역은 변수가 비어있을 수 없기 때문이다. 

 

코드 예제

String str1 = "Apple";
String str2 = "Banana";
		
String[] arr = new String[3];
arr[0] = "Hello";
arr[1] = "안녕";
arr[2] = "Hi";
		
System.out.println(str1); //str1에는 "Apple"이 저장되어있는 Heap영역 주소가 저장된다.
System.out.println(str2); //주소가 아닌 주소에 저장된 값을 참조하여 출력
		
for(int i =0; i<arr.length; i++) {
	System.out.println(arr[i]);
}

 

System.out.print("단어 입력 : ");
String word = sc.next();

System.out.print("찾을 문자 : ");
char[] arr = new char[word.length()];

	for(int i =0; i<arr.length; i++) {	
		arr[i] = word.charAt(i); 
	}

	char ch = sc.next().charAt(0);
    
	int count = 0; //검색된 문자 개수를 기록할 변수

	for(int i = 0; i <arr.length; i++) {
		if(arr[i] == ch) {
			count++; //count1증가
		}//if
			
	}//for
		
	if(count == 0) { //for문을 거치고도 count가 증가하지 않았다면
		System.out.println(ch + "은/는 존재하지 않습니다.");
			
	} else {
		System.out.println(ch + "은/는 총"+ count + "개가 존재합니다.");
	}
풀이
1. string으로 원하는 단어 입력받기
2. 찾으려는 문자 입력받은 후 그전에 입력받은 단어만큼의 char문자 배열 생성
3. for문으로 각 인덱스에 단어들을 하나씩 분리해서 초기화
4. arr배열과 비교할 변수 ch생성
5. 중복되는 인덱스값 저장할 count 변수 생성
6. for문 안에서 if문으로 arr[]값과 ch 비교
7. 두 개의 값이 같다면 개수 저장용 변수의 값을 1증가
8. for문 종료 후 결과값 출력 if문 작성
반응형

'Backend > Java' 카테고리의 다른 글

[Java] Array(배열)_3 (배열 복사)  (0) 2021.09.03
[Java] 2차원 Array(배열) + 가변 배열/ 선언,할당,초기화  (0) 2021.09.02
[Java] Array(배열)_2 (초기화, Arrays 클래스, Arrays.toString)  (0) 2021.09.01
[Java] Array(배열)_기초1  (0) 2021.08.31
[Java] Operator(연산자) 종류  (0) 2021.08.26
    'Backend/Java' 카테고리의 다른 글
    • [Java] Array(배열)_3 (배열 복사)
    • [Java] 2차원 Array(배열) + 가변 배열/ 선언,할당,초기화
    • [Java] Array(배열)_2 (초기화, Arrays 클래스, Arrays.toString)
    • [Java] Array(배열)_기초1
    Deeb
    Deeb

    티스토리툴바