일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 네트워크
- 자바
- 프로그래머스 옹알이 java
- Algorithm
- time complexity
- 프로그래머스 숫자의 표현 java
- 백준 11723
- 백준 4375
- Math.ceil()
- 백준 17425
- java 반올림
- 0으로 채우기
- 알고리즘
- 백준 16927
- mysql
- 프로그래머스 도둑질 java
- java
- sort
- 백준 18290
- Arrays
- 백준 14391
- Codility
- Math.floor()
- 프로그래머스 네트워크 java
- java 올림
- java 내림
- 프로그래머스 연속된 수의 합 java
- 백준 16935
- 코딩테스트
- 백준 15661
- Today
- Total
목록JAVA (20)
취미처럼
Java에서 MD5, SHA를 이용한 알고리즘을 사용하려면 MessageDigest 클래스를 이용한다. import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class Main { public static void main(String[] args) { String str = "hash"; String hashStr = createHash("hash"); System.out.println("str : " + str + ", hashStr : " + hashStr); } public static String createHash(String str) { String hashString = ""; try..
프로그램 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 것을 에러 또는 오류라 한다. 자바에서는 실행시 발생할 수 있는 프로그램 오류를 에러(error)와 예외(exception) 두 가지로 구분한다. 예외는 에러에 비해 비교적 덜 심각한 상황으로 프로그래머가 관리해야할 예외(exception)와 실행중에 발생하는 에러(runtime exception)로 구분할 수 있다. 예외 클래스는 Throwable을 상속받는다. 자바의 예외 처리는 4가지 방법으로 처리할 수 있다. 1. 예외가 발생한 메서드 안에서 처리(try-catch-finally) 2. 예외가 발생한 메서드를 호출한 곳에서 처리(throws) 3. 강제로 예외를 발생시켜서 처리(throw) 4. 사용자 예외를 생성하여 처리..
자바 객체의 직렬화(Serializable) 자바에서 입출력에 사용되는 것은 스트림이라는 데이터 통로를 통해 이동하는 형태이다. 하지만 객체는 바이트형이 아니라서 스트림을 통해 파일에 저장하거나 네트워크로 전송할 수 없다. 따라서 객체를 스트림을 통해 입출력 하기 위해서는 바이트 배열로 변환하는 것이 필요한데, 이를 직렬화라고 한다. 반대로 스트림을 통해 받은 직렬화된 객체를 원래 모양으로 만드는 과정을 역직렬화라고 한다. 직렬화 조건 1. 기본형 타입(int, char, String, short, double, long, byte 등등)은 직렬화가 가능하다. 2. Serializable 인터페이스를 구현한 객체여야 한다. 3. transient가 사용된 멤버는 전송되지 않는다. 4. 생성자나 메소드는 ..
Pattern, Matcher 자바에서 정규식을 사용하기 위해서는 Pattern, Matcher 클래스 객체가 필요하다. 문자열로 정의한 정규 표현식을 Pattern 객체로 만들기 위해 Pattern 클래스의 compile() 메소드를 사용한다. 컴파일된 패턴은 Matcher 객체를 만드는데 사용되며, Matcher객체는 임의의 입력 문자열이 패턴에 부합되는지 여부를 판단하는 기능을 가지고 있다. Pattern 객체들은 비상태 유지 객체들이기 때문에 여러 개의 Matcher 객체들이 공유할 수 있다. Pattern클래스 주요 메서드 Name Description static Pattern compile(String regex) 주어진 정규표현식으로부터 패턴을 만들어낸다(이를 ‘컴파일 한다’고 표현한다)...
Class Description java.util.Date 특정 날짜를 저장한다. java.util.Calendar 일시에 대한 다양한 조작을 한다. java.text.SimpleDateFormat 지정한 서식에 따라 문자열을 Date 클래스로 변환하거나, 그 반대로 처리한다. Date import java.util.Date; public class Main { public static void main(String[] args) { Date now = new Date(); System.out.println(now); } } Calendar import java.util.Calendar; import java.util.Date; public class Main { public static void mai..
JVM(Java Virtual Machine) JVM(Java virtual machine)은 자바를 실행하기 위한 가상 기계라고 할 수 있다. 여기서 가상 기계란 프로그램을 실행하기 위해 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것이라고 해석할 수 있습니다. JVM은 Java Byte Code를 OS에 맞게 해석해주는 역활을 한다. Java Compiler가 *.java 파일을 컴파일 하면 .class라는 Java Byte Code로 변환시켜 주며, Byte Code는 기계어가 아니기 때문에 OS에서 바로 실행 되지 않는다. 이 때 JVM이 OS가 이해할 수 있도록 해석해 준다. 자바로 작성된 어플리케이션은 모두 JVM을 통해서 실행되기 때문에 자바 어플리케이션이 실행되기 위해서는 반드시 JVM..
String str= "ABC"; System.out.println(str); str += "DEF"; System.out.println(str); String을 사용하여 DEF를 더하게 되면 기존에 선언된 ABC에 DEF를 더하는 것이 아니라 새로운 메모리에 ABCDEF가 생겨나고 기존에 ABC는 GC(가비지컬렉션)에 의해 삭제가 된다. 따라서 String를 이용하여 지속적으로 문자열을 바꾸는 것은 많은 메모리를 소모하게 된다. 이런 문제를 해결하기 위해 StringBuffer와 StringBuilder 등장하게 되었다. StringBuffer/StringBuilder의 차이 StringBuffer/StringBuffer는 String 과 다르게 동작한다. 문자열 연산 등으로 기존 객체에 공간이 부족하..
public class Main { public static void main(String[] args) { double number = 2.56789; System.out.println("올림 : " + Math.ceil(number)); // 3.0 System.out.println("내림 : " + Math.floor(number)); // 2.0 System.out.println("반올림 : " + Math.round(number));// 3 System.out.println("소수점 아래 둘째 자리에서 반올림 : " + Math.round(number*10)/10.0); // 2.6 System.out.println("소수점 아래 셋째 자리에서 반올림 : " + Math.round(number*..
public class Main { public static void main(String[] args) { // String to int String str = "100"; int number = Integer.parseInt(str); System.out.println(number); // int to String int number2 = 200; String str2 = Integer.toString(number2); System.out.println(str2); } }
public class Main { public static void main(String[] args) { System.out.println(String.format("%05d", 21));// 00021 System.out.println(String.format("%05d", 54321));// 54321 } } % : 명령 시작을 의미 0 : 채워질 문자 5 : 총 자리수 d : 십진수로 된 정수 %05d : 5자리의 정수 형식으로 나타냄. 자릿수가 부족할 경우 0으로 해당 부분을 채움