자료형과 형변환
조건제어문
클래스와 메소드
변수 클래스의 구성요소 중 변수에는 클래스변수, 스태틱변수, 전역변수가 있다. 변수 값은 진행의 흐름에 따라서 바뀐다. 클래스변수 공통으로 작업하고 싶을때, 메소드에 매개변수를 주지 않아도 클래스 변수를 쓸 수 있다. return은 하나만 돌려줄 수 있
단일배열 생성 : 자료형[] 변수명 = new 자료형[갯수]; 호출 : 변수명[인덱스] 인덱스 : 0부터 시작, 연속된다. ==갯수-1 점프를 안한곳(0)부터 몇번 점프할 것이냐 su = 포인터의 역할을 하는 것이다. 즉 참조변수이다.(주소를 참조하
문자열 클래스영역의 상수영역에 문자열 영역이 포함된다. String 클래스는 다른 객체와 조금 다른 특성을 가지고 있다. (다시 생각할 부분)메인을 호출하기 이전의 문자열은 상수이고 java를 상수영역에 썼을 것이고, 메인을 실행하는 과정에서 파라미터로 java
*StringBuffer, StringBuilder(jdk 1.5 이후 등장) 클래스 (차이가 거의 없다.) : 자기 자신이 바뀐다 --> 고유한 상수값이 아니다, 메모리 사용 최소화된다 String의 가장 큰 장점이자 단점 : 바꿀때마다 새로운 객체를 생성.
//학생 성적 관리 프로그램 (ver 0.0.1) //반의 총원은 5명 //학번은 1~ //과목은 국어 영어 수학 //출력은 각 과목의 성적과 합계, 평균(소수 둘째자리까지)을 구하시오 1.문자열 이용 :입력하는 만큼 다 들어간다. ** 2.다중배열 이용 ** :
private : 내 클래스 내부에서만 쓰겠다. (그러므로 class 앞에는 올 수 없다) > ### public : 한 문서 안의 2개 이상의 public class는 올 수 없다. 단 하나의 public 클래스만 올 수 있다. (대체적으로 main을 가진 클
코딩의 패턴 : 디자인 패턴 (객체지향) == 알고리즘(절차지향) 싱글턴 패턴 : 강제로 오직 하나의 객체만 가지고 쓸 수 있도록 한다. 접근제한자는 생각보다 중요한 부분이다. 생성자에 private을 붙인다는 것은 객체 생성을 거부하는 것 but 필드에 직접
상속 자바는 단일 상속 : 오직 하나의 클래스만 상속 받을 수 있다. Object 클래스 : 자바의 최상위 클래스, 모든 클래스는 Object 클래스를 상속한다. (java.lang.Object) 때문에 상속클래스가 없으면 사실 최상위 클래스인 object를
다형성 오버라이드 대상 = 메소드 메소드는 내꺼로 실행하지만 필드의 값은 부모의 타입이므로 부모의 것으로 나온다. 자식에게만 있는 기능 타입을 부모타입으로 쓰면, 부모에 정의돼있는 것만 쓸 수 있다. 하지만 메소드에 한해서는 (오버라이드로 인해 구현은 내 객체에
귀찮은 패키지 경로 --> import 사용할 수 있다. java.util.*; (util 패키지 안의 모든 클래스) 주의할 점
Abstract Class 추상 클래스는 객체 생성이 안된다. 추상클래스는 상속을 강제한다 (추상 메소드를 안가짐에도 불구하고 추상클래스인 경우도 있다 = 상속해서 써라, 객체 찍지 마라) 따라서 나 또한 추상클래스가 되든, 메소드를 오버라이딩을해서 기능 정리를 해주
Interface : 구현된 메소드는 가질 수 없다. 오직 상속을 통해서만 쓰인다. 객체생성이 안되므로 생성자가 없다. 인터페이스에 한해서는 다중상속을 허용한다. 자바는 단일상속 --> 이를 극복하기 위해 다중상속과 같은 효과를 만든 것이 인터페이스다. 인터페이스는
Object 클래스 : 모든 클래스는 object 클래스를 상속받는다. Hash 코드 : 바이너리 파일 -> 해시함수로 연산 -> 사이즈를 줄여준다. 연산한 리턴 값을 hash코드로 넣는다. hashCode()가 반환하는 것은 10진수의 hash 코드이다. toSt
String 이용하는 방식 if와 if는 &&로 묶을 수 있고 if 조건에 '~이면'보다 '~가 아니면'을 사용하여 코드를 줄일 수 있다. 문자배열 이용하는 방식 :문자를 코드 번호로 연산한다는 것.. toCharArray() 사용 한글 지원 (배열 활용)
boxing : 기본자료형 -> 객체타입 unboxing : 객체타입 -> 기본자료형 (컴퓨터가 대부분 알아서 처리를 해준다.) 단, 반드시 참조변수로만 넣어줘야하는 상황에서는 래퍼클래스를 이용하여 변환해줘야 한다. > Integer class > Doub
returnbreakcontinue;
if 조건을 준 것은 에러가 날 상황을 회피하는 것, 그것이 바로 예외처리이다.예외처리는 고치는 개념이 아니다. 그럴 수 있는 상황 자체를 회피하는 것이다.이를 활용하는 것은 case by case이기 때문에 직접 그러한 상황과 부딪혀서 경험쌓는 수밖에없다..try의
: 호출한 쪽으로 던진다. catch가 받는다.아래의 경우는 반드시 해야할 것을 안하면 나는 에러. 컴파일이 안된다. 예외처리를 해주어야 한다.(Cloneable 인터페이스를 상속해야함)메소드의 선언부에 예외를 선언 --> 이 메소드를 사용하기 위해서 어떤 예외들이 처
list의 자료구조를 직접 구현하기연결리스트형태\-동적할당for문을 사용하면 몇번 반복할지를 고려해야하기 때문에 계산을 잘 해야 한다. 안돌아간다..그래서 while문으로 돌렸다.while문 = 몇번 반복할지 결정하지 않는 로직으로 구현했다.Start의 next를 보고
: 데이터를 어떻게 관리할 것이냐제어권 : 구현로직은 똑같은데 메소드만 제한하면 되는 것.\-Array 리스트와 linked 리스트 모두 List 인터페이스를 상속받는다.Array리스트는 어느정도 공간을 가지도록 생성되고, 다 차면 늘린다.(stringbuffer처럼)
Linked listQueue 인터페이스를 상속받는다.Queue는 나한테 제어권이 없는 구조이다. (선입선출) poll할 때 먼저들어온 놈부터 끄집어낼 수 있음큐 인터페이스를 받으면 큐에 정의된 메소드만 써야하므로 Linkedlist에 있는 다른 메소드들을 제약하는 것
자료구조를 이용한 로또번호 생성treeset을 이용하면 중복검사+정렬을 할 수 있다.(마지막에 정렬해서 번호 보여주니까)나의 과제 : 배열 / 객체배열로 만들어보기?
오늘은 첫 주에 만들었던 가위바위보 게임을 포스팅!내가 잘못한부분은 boolean을 이용하지 않고 while에 true를 주고,if(answer == 1 ) { example(); } --> 함수를 실행시켜서 무한루프에 빠졌었다.내가 무엇을 냈는지도 표시되도록 +0,1
import java.util.ArrayList;import java.util.List;Integer,Double 모두 Number 클래스를 상속.
: 가장 늦게 들어온 컬렉션프레임워크. 컬렉션을 상속받고 있지 않다.=독립적하지만 자료구조에 있으므로 그렇게 불리는 것이다.일반적으로 Key에는 스트링을 쓴다.값 뽑아내기: 커서가 하나 있어서 hasNext가 있으면 다음값을 계속 가리킨다.없으면 나가버린다. 한번 밖으