GitHub

https://github.com/Backcoder-June

BackCoder 기록 그리고 숙달

Back to the Java 36

Collection Framework => ArrayList / HashSet / HashMap

[ Collection FrameWork ] List / Set / Map - index 저장순서 - 중복데이터 그대로 여러번 저장 ArrayList list = new ArrayList( ); [저장] .add( value ); .add(new A( )); 타입제한 X .insertAt( 1, "java" ) => 1번 인덱스에 java 넣고, 나머지는 뒤로 밀려남 [수정] .set( 1, "nojava" ) => 1번 인덱스 value 바꿔치기 [삭제] .remove( index ); => 1번 인덱스 value 삭제 [조회] .size; => elements 개수 // 배열은 .length; [포함여부조회] .contains( value ) => list 에 value 존재..

Back to the Java 2022.07.07

Thread 클래스 / 멀티쓰레드 / Runnable / Priority / sleep / join / synchronized /

멀티쓰레드 > (java.lang) 기본사용법 1. Thread 클래스 상속 ( 해당 클래스에 추가적인 변수/생성자/메소드 추가가능 ) 2. run 메소드 @Override 필수 ( Generator - overriding methods ) - Thread.start( ) 하면 run( ) 메소드가 실행됨 - run( )메소드에 실행하고싶은 메소드들 집어넣어서 사용. 3. Thread 상속한 자식클래스로 객체 생성 ( 이 자식객체로 Thread 기술 쓸 수 있음 ) 4. Thread.start( ); (=> run 메소드 실행 ) class A extends Thread { @Override public void run( ){ 멀티 스레드 방식으로 실행하고자 하는 코드 + 다..

Back to the Java 2022.07.06

날짜 시간 / Date => Calendar + SimpleDateFormat => LocalDate

웹을 보면, 구매가 이루어진다던지, 글 등록을 완료한 시간이라던지, 로그인 한 시간이라던지, 당시의 날짜/시간을 가져와 저장해야하는 경우가 많다. 날짜/시간 클래스와 메소드는 아주 많이 사용하게 될 거라 생각이 든다. - 많이 안씀 ( deprecated ) Date d = new Date( ); 초창기 버전인데 버려져 가는 추세라 한다. 실제로 메소드보면 deprecated 줄그어진게 매우 많다. - Date 개선버전 => SimpleDateFormat 과 연계해서 많이 쓰인다. Calendar cal = Calendar.getInstance( ); 이렇게 객체 생성해야한다. ( new로는 안됨 ) ( Calendar -=> get..

Back to the Java 2022.07.04

DecimalFormat 출력 포맷 맞추기

코딩테스트를 하다보면, 자리수맞추는게 짜증날때가 있다. 소수점 3자리까지 출력하라고 해서 Math.round 로 3자리까지 출력하게 만들었는데, 값이 있을 때는 40.345 세자리로 잘 나오지만 40.000 이 나올때는 웬걸 갑자기 40.0 으로 뽑아낸다. (double 이 기본적으로 int로 딱떨어지면 .0 까지만 뽑아준다) 이런 자잘한 포맷 맞추느라 시간이 뺏기면 짜증이난다. 이젠 고민없이 DecimalFormat을 이용해보자 => 숫자일때 쓰는 포맷 - ( 유의 ) Decimalformat 은 String 타입으로 리턴한다. double num = 1234567.89; DecimalFormat df = new DecimalFormat("###,###.##"); # => 자릿수 규칙만 정해놓는것, /..

Back to the Java 2022.07.04

Wrapper 클래스

기본형변수 ======> 참조형변수 boolean Boolean char Character int Integer long Long float Float byte Byte short Short double Double 기본형은 끽해야 연산자나 사용가능. 매우 가난하다. =>기본형변수로는 사용할 수 없는 기능이 있을때, Wrapper 클래스 (참조형변수)로 만들어서 => 메소드(기능) 사용! int.parseint( ) (X) "기본형주제에! 래퍼클래스 데려와." Integer.parseInt( ) 문자 => int화 Integer.toString( ) int =>문자화 Double.parseDouble( ) Double.toString( )

Back to the Java 2022.07.04

System 클래스 / Class 클래스

=> 자바 프로그램 실행 / 컴퓨터 시스템 정보 제공 System 내 컴퓨터 out 내 모니터 println 출력 System 내 컴퓨터 in 내 키보드 read 입력 System.out. + OutputStream포함 메소드명 (ex. print~ ) System.in. + InputStream포함 메소드명 (ex. read ) ( 컴퓨터 정보 읽어올때 유용 ) System.exit(0); => 시스템 종료 ( if ( A == B ) { System.exit(0); } // ( 정상적인 종료 방법이다. ) System.currentTimeMilis( ); => 1/1000초 시각 ( long타입 ) => 시작, 끝에서 측정해서 시간 측정 / 효율체크 System.getPro..

Back to the Java 2022.07.04

String 메소드 / subString / charAt / split / contains / indexOf / matches / Tokeni

- 본래 String 은 클래스다. 하도 자주사용되기 때문에 java 의 총애를 받아 쉬운문법을 사용할수 있도록 만들어졌다. 1. 쉬운 기본 표현 String s1 = new String( "AAA" ); (편하게 쓰렴) => String s1 = "AAA"; 덧셈도 원래 객체는 안되는데 String 예외 Stirng s1 = " AAA" ; String s2 = " BBB"; s1 + s2 => AAABBB ( 이게 사실은 s1.concat(s2); 이렇게 해야 되는거 ) 2. String 메소드 equals / equalsIgnoreCase - 문자열 '내용' 비교 toUpperCase / toLowerCase - 대/소문자화 concat - 문자열 2개를 1개로 합침 ( ..

Back to the Java 2022.07.04

Exception 예외처리 / try-catch / throws / throw는 생성

예외 컴파일 오류, 시스템 오류, 등 많은 오류들 중에서 자바 등, 프로그래밍으로 해결 가능 오류 예외 클래스 이름붙여서 객체로 취급해준다. Exception ( 조상님 ) RuntimeException ( 예외처리 안해줘도 되는 부류 ) ArrayIndexOutofBoundsException ( 배열 인덱스 오류 ) NumberFormatException ( "문자" 등, 숫자타입아닌 걸 Interger.parseint 하려할때 ) ArithmeticException 산술 오류 (100/0) IOException ( 입출력오류 조상격 ) FileNotFoundException ( 파일 못찾음 ) IllegalStateException ( 메소드가..

Back to the Java 2022.07.01

Interface 에 숨겨진 비밀

인터페이스는 메소드들을 abstract ( 구현하지 않은 상태 ) 로 선언만 해두고, 뒷방에서 열일하는 클래스들이 인터페이스를 implements 해서 실제로 구현시킨다. 서비스를 제공할 때, 고객들에게는 이 interface 만을 제공하고, 실제 class 는 숨겨놓을 수 있는, 객체지향의 특징 중에 하나이기도 하다. "고객님은 그저 편하게 쓰세요! 뒷방에서 뭔 일이 벌어지는지는 신경 안쓰셔도 됩니다! " - interface 에서는 1. 메소드 [ abstract + public ] ( interface 메소드에는 자동으로 "abstract public" 숨어서 붙어있다 ) - abstract => 메소드는 선언만 해둔다. (구현 X) - public => 기본이 public..

Back to the Java 2022.06.30

A a1 = new B( ); 객체 형변환 , 자동 / 명시적

- 상속관계가 있어야 객체 형변환이 가능하다. class A { } class B extends A { } class C extends A { } class D extends C { } 1. 자동형변환 - 자식이 부모행세 상위클래스 변수명 = new 하위클래스( ); A a1 = new B( ); A a2 = new C( ); A a3 = new D( ); => 자식을 부모행세를 하는 객체로 담는다. 자식이 부모행세 하는건 자동 형변환 가능 부모 : 카톡하기, 메일쓰기 자식 : 카톡하기, 메일쓰기, 결제하기, 쇼핑하기 ( 자식은 이미 부모꺼 다 가짐 + 자기꺼 추가로 가짐 => 부모행세를 충분히 할 수 있다. => 자동형변환 해줌 ) => 대신, 부모행세를 해야해서, 1. 부모한테 없는건 못가져오고 ( ..

Back to the Java 2022.06.30