[Java] OCAJP-6

🐷Jinie (juniorDeveloper)·2020년 11월 13일
0

Java

목록 보기
9/12

1.

  • continue는 해당 부분을 건너뛰는 개념이다.
  • break는 해당부분이후를 종료한다.
  • continue 다음은 실행문을 사용할 수 없다.

2.


  • StringBuilder :
    String 클래스는 "immutable" 즉, 변경이 불가능한 클래스
    "StringBuilder" 클래스와 "StringBuffer" 클래스는 "mutable"
    즉, 변경이 자유로운 클래스
  • 예제에서 보는 것처럼 문자열을 위한 다양한 메서드가 String처럼 제공된다.
  • append() :
    문자열 합치기
  • delete(startidx,endidx) :
    start지점부터 end지점까지의 문자열을 삭제한다.
  • insert(idx,"문자열") :
    idx지점에 원하는 문자열을 넣어준다.
  • reverse() :
    문자열을 거꾸로 출력한다.
  • 그밖에 다양한 메서드 :
    length() : 현재 문자열의 길이를 반환
    replace(int start, int end, String str) : start부터 end-1 위치까지 str로 대체
    substring(int start, int end) : start부터 end-1 위치까지 출력
    toString() : 현재 문자열을 String 형으로 반환
    charAt(int index) : index 위치에 있는 문자를 출력
  • String이 가지고있는 메서드를 공통적으로 많이 가지고있는 것을 볼 수 있다.

3.

  • 삼항연산자 :
    삼항연산자를 쓰는 이유는 어렵지 않은 알고리즘의 다수줄의 코드를 가독성 좋게 한 두줄로 바꿔줄 수 있기 때문
  • (boolean) ? c(true일경우) : d(false일경우)
    (조건식) ? true : false 라고 보면 간단하겠다.
  • 위의 예제를 놓고보면
    '12345.01이 12345.00보다 작다' 라는 조건문이 true이면 123456을 var1에 넣고
    false라면 123456.02f를 var1에 넣는 뜻이다.
  • float type에 _이 들어간 것을 볼 수 있는데
    이 기호를 '언더스코어'라고 한다.
    그냥 가독성을 위해 넣어준다. 마치 화폐단위를 표기할때 ,을 넣는것과 같다.

4.

  • interface I 를 만든다.
    I안에는 displayI()라는 형태의 메서드틀이 들어있다.
  • abstract class C2를 만든다.
    C2는 interface I를 상속받는다.
    C2안에는 "C2"를 출력하는 출력문이 들어있다.
  • public class Test066은 C2를 상속받는다.
  • 때문에 C2가 상속받고 구현하지 않은 interface I의 메서드를 재정의해야한다.
  • 아래쪽에 메서드를 재정의했다. "Test066"을 출력하는 출력문을 실행하는 기능을하도록 만들었다.
  • C2와 I객체를 public class의 main메서드에서 생성한다.
  • 각 객체를 통해 displayI와 displayC2메서드를 실행한다.
  • t.displayI() ==> Test066출력
    s.displayC2() ==> C2출력
    s.displayI() ==> Test066출력
    "C1"출력문 실행
    의 순서로 결과가 확인된다.

5.

  • 접근제한자 :


  • protected의 경우 이런식으로 상속받으면 사용이 가능하다.

6.

  • 중첩 클래스 : 클래스 내부에 선언된 클래스
  • 하나의 패키지에 여러개의 class를 추가할수 있으나
    파일명과 동일한 클래스는 반드시 public 이어야 한다.
    그리고 동일 파일내에 다른 클래스들 역시 독립된 *.class 파일로 생성된다.
  • 하나의 패키지에 여러개의 class를 추가하려면
    public class는 1개뿐이다.

7.


8.



  • 논리연산자중 OR(||)의 경우 둘 중하나만 참이면 True이기때문에
    앞쪽의 조건이 true가 되면 뒤쪽의 조건문을 실행하지 않고 if문내의 실행문을 실행한다.
  • 앞쪽의 조건이 false일 경우 뒤쪽의 조건식 확인이 필요하기 때문에 뒤쪽의 조건식을 실행한다.
  • 논리연산자중 and(&&)의 경우 둘다 True일때 if문을 실행하기 때문에
    앞과 뒤의 조건식 모두 실행한다.
  • 따라서 두가지식의 실행결과 x2의 값이 다르다.
  • 비트연산자는 비트단위의 결과를 반환한다.
    |(or)비트 연산자의 경우 둘 중 하나가 참이면 1을 둘다 거짓이면 0을 반환한다.
  • 논리연산자와 비트연산자의 차이는 논리연산자 or은 이미 true의 값을 받아서 더이상 논리식 판별이 필요없을경우 뒤쪽의 조건식을 진행하지 않지만, 비트연산자의 경우 앞쪽이 true더라도 뒤쪽의 조건식까지 진행한 후 다음 문장을 실행한다.
profile
ᴘᴇᴛɪᴛs ᴅᴇ́ᴠᴇʟᴏᴘᴘᴇᴜʀ. ᴘʀᴏɢʀᴀᴍᴍᴀᴛɪᴏɴ = ᴘʟᴀɪsɪʀ 💕

0개의 댓글