깊은바다거북
개발 공부 기록
깊은바다거북
전체 방문자
오늘
어제
  • 분류 전체보기 (219)
    • JAVA (9)
    • JavaScript (15)
    • 스파르타코딩클럽 (11)
      • [내일배움단] 웹개발 종합반 개발일지 (5)
      • [내일배움캠프] 프로젝트와 트러블 슈팅 (6)
    • SQL | NoSQL (4)
    • CS 등등 (0)
    • TIL | WIL (173)
    • 기타 에러 해결 (3)
    • 내 살 길 궁리 (4)

인기 글

최근 글

최근 댓글

태그

  • 팀 프로젝트
  • TypeScript
  • Trie
  • 프로그래머스
  • 자바스크립트 기초 문법
  • DFS(깊이우선탐색)
  • BFS(너비우선탐색)
  • Preorder Traversal(전위 순회)
  • 자잘한 에러 해결
  • leetcode-cli
  • BST(이진 탐색 트리)
  • 자료 구조
  • Linked List
  • tree
  • 점화식(Recurrence Relation)
  • Leetcode
  • Binary Tree(이진 트리)
  • 최대 힙(Max Heap)
  • Til
  • POST / GET 요청
  • 혼자 공부하는 자바스크립트
  • 최소 힙(Min Heap)
  • Backtracking(백트래킹)
  • 01. 미니 프로젝트
  • 재귀 함수
  • Inorder Traversal(중위 순회)
  • 코딩테스트 연습문제
  • 시간 복잡도
  • TIT (Today I Troubleshot)
  • 트러블 슈팅 Troubleshooting
hELLO · Designed By 정상우.
깊은바다거북

개발 공부 기록

JAVA

책 [GOOD JAVA] 정리

2022. 8. 22. 20:28

 

CH 9. 문자열과 메소드

문자열 메소드의 종류

  • String.charAt(인덱스)
  • String.length()
  • String.startsWith(”문자열”)
  • String.endsWith(”문자열”)
  • String.indexOf(”문자열”)
  • String.lastIndexOf(”문자열”) // 가장 마지막에 나오는 ‘첫글자’의 위치 반환
  • // 못 찾으면 -1 반환
  • String.replace(”찾을 문자열”, “덮어씌울 문자열”)
  • String.substring(시작 인텍스, 마지막 인덱스+1) // (0, 4)라면 인덱스 0~3까지 반환
  • String.split(”구분자 문자열”)
  • String.toUpperCase()
  • String.toLowerCase()
  • String.trim() // 앞뒤 공백 제거
  • str1.compareto(str2) // str1 - str2 의 결과를 반환. 예를 들면,
    • “Java Programming”
      • “Java IT CookBook”
    • ⇒ (P = 아스키 80) - (I = 아스키 73)
    • ⇒ 7 반환
  • String.contains(”문자열”)
  • 내용과 주소가 모두 같아야 하는 비교 ==
  • 내용만 같으면 참인 비교 str1.equals(str2)

 

지역변수와 전역변수

지역변수(local)

: 현재 메소드 내부에서만 정의되고 사용되는 변수

전역변수(global)

: 메소드 밖에서 정의되는 변수. = 필드 변수 = 클래스/인스턴스 변수

 

값의 전달과 주소의 전달

이 인자가 네 것이냐, 저 인자가 네 것이냐?

예이,

static void func2(char x, char y) {

 

→ 전 기본 데이터 형식을 파라미터로 갖는 “값 전달” 메소드입니다요~

static void func2(Character x, Character y) {

 

→ 전 클래스 객체(=기본 데이터 형식이 아닌 모든 것)를 파라미터로 갖는 “주소 전달” 전용 메소드입니다요~

값의 전달, call by value

: 인자의 값을 복사해서 메소드의 자체 지역변수에 할당하는 것.

주소의 전달, call by reference

: 클래스 객체를 인자로 전달하는 것.

클래스 객체를 전달할 경우 (클래스 객체는 어떤 하나의 값이 아니므로) 그 주소가 전달되게 되므로 주소(=참조) 전달이 되는 것이다. 그래서 메소드 내에서 그 클래스 객체를 부르고 그 안의 필드 변수를 조작하면, 메소드 밖에서 조작하는 것과 같이 조작할 수 있게 된다.

  • [ ] ⇒ 쉽게 말해 필드 변수는 무조건 전역 변수니까, 메소드 안에서라도 전역변수 값을 변경하면 그 전역변수를 메소드 밖에서 호출해도 당연히 바뀌어 있는 것이다. 란 논리가 가능할까? 다시 말해, 메소드 안에서 전역변수를 수정할 수 있을까?
    • [ ] static으로 된 클래스 변수, 클래스 메소드는 “클래스 변수와 메소드이기 때문에’ 자기 자신 클래스 안에서 불릴 수 있는 걸까, static이 아니어도 불릴 수 있는 걸까?
기본 데이터 형식 래퍼 클래스 
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character

 

 

 

 

https://www.notion.so/CH-9-f92df275145f4e4385d56d6d1d752137

https://brainy-shop-8e4.notion.site/CH-9-f92df275145f4e4385d56d6d1d752137

 

CH 9. 문자열과 메소드

문자열 메소드의 종류

brainy-shop-8e4.notion.site

 

    'JAVA' 카테고리의 다른 글
    • 배열 ↔ 리스트 형변환 모음
    • [프로그래머스 Lv1] 신고 결과 받기
    • Class literal 이란 용어를 발굴하게 된 사정
    • 왜 Iterator가 clutter라는 걸까?
    깊은바다거북
    깊은바다거북

    티스토리툴바