본문 바로가기

Language, IDE

(50)
[JAVA 자바] StringTokenizer 자바에서는 String을 token단위로 끊어주는 StringTokenizer 클래스를 제공한다.예를들어 "this is my string" 이라는 스트링을 this, is, my, string 4개의 스트링으로 끊어주는 기능을 제공한다.그리고 공백말고도 다른 구획문자(delimiter)를 사용할수도 있다. 예를들어 this%is%my%string을 delimiter에 %를 넣어 StringTokenizer를 사용하면 마찬가지로 this, is, my, string으로 읽어준다.this$%^is$my%string^일때 구획문자를 "$%^"라고 설정해주면 this, is, my, string 으로 끊어준다. 생성자StringTokenizer(String str) 구획문자(delimiter)를 인자로 받지않..
[JAVA 자바] Thread(쓰레드, 스레드) 자바에서 쓰레드(Thread)를 사용하는 방법은 2가지가 있다. 1. Thread를 직접상속 받아 사용하는 방법.2. Runnable 인터페이스를 구현하는 방법. 두 가지 모두 알아보겠지만 자바에서는 다중 상속이 불가능하기 때문에 1번 방법을 사용하면 다른 클래스를 상속받을 수 없다.따라서 왠만하면 2번 방법을 추천한다. 1. Thread를 직접상속 받아 사용하는 방법.쓰레드public class MyExtendThread extends Thread { public void run() { //구현 System.out.println("Thread1"); } } 메인public class JavaTestMain { public static void main(String[] args) { Thread t = ..
[C++] Thread(쓰레드, 스레드) 쓰레드(thread)는 라이브러리에 정의되어있다. 쓰레드(thread)란 프로세스내에서 실행되는 실행 단위이다. 주로 프로그램에는 하나의 스레드로 구성되는데 프로그램은 여러개의 스레드를 가질 수 있다. 이러한 방식을 멀티스레드 라고 한다. 멀티스레드를 실행하면 각 스레드들은 일정시간동안 번갈아가면서 실행된다. 예를들어 1을 1000번 출력하는 스레드 T1과 0을 1000번 출력하는 스레드 T2가 있다고할 때 1이 1000번 출력되고 0이 1000번 수행되는 것이 아니라 1과 0이 번갈아가면서 실행된다(정확히 101010...이 출력되지는 않고 실행할때 마다 조금식 다르게 출력된다.) C++에서 스레드는 아래와 같이 사용한다.thread(함수);#include #include using namesapce ..
[Java 자바] string to int, int to string string to int - string에서 int로 변환Integer.parseInt() 사용. -> Interger.parseInt(string) int intValue = Integer.parseInt("3"); int to string - int에서 string으로 변환 Integer.toString() 사용. -> Integeer.toString(int); string str = Integer.tostring(3);
[C++] string to int, int to string string to int - string에서 int로 변환atoi()함수 사용. -> atoi(char*)인자가 char*형이기 때문에 c_str()함수로 변환해주어야함.string str = "34"; int intValue = atoi(str.c_str()); int to string - int에서 string으로 변환to_string()함수 사용. -> to_string(int)int intValue = 5; string str = to_string(intValue);
[C++ STL] 벡터(vector) C++에서 배열의 인자는 상수이기 때문에 길이를 변경할 수 없다. 프로그래밍을 하다보면 동적인 길이의 배열을 생성해야하는 경우가 있다. C++에서 동적 배열을 생성할 수 있지만 배열의 크기를 늘리는 과정은 코드가 비효율적이되고 복잡하다. 벡터(Vector)는 런타임에 그 크기가 변경될 수 있는 배열과 같은 자료구조다. 벡터는 배열과 거의 유사하게 사용할 수 있다. 벡터는 인덱스구조를 사용하기 때문에 임의 접근이 가능하고 탐색이 빠르다. 하지만 인덱스구조를 항상 유지하기 위해서 임의의 위치에 있는 원소를 삽입 및 삭제하기 위해서는 많은 시간이 소요된다. 벡터는 라이브러리에 정의되어있고 네임스페이스 std에 정의되어있다. #include using namespace std; 벡터의 생성 벡터는 일반 템플릿 ..
아스키코드 (ASCII Code) 표 아스키 코드(ASCII Code)표 아스키 코드는 C, C++, Java등 다양한 언어에서 공통으로 사용된다.
[C++] 예외 처리 (Exception) C++에서는 예외 처리(Exception)를 제공한다. 예외처리는 일반적이지 않은 상황이 발생하였을때 예외처리 신호를 보내어 현재 실행중이던 코드를 정지하고 지정해준 코드를 실행한다. 예를들어 0으로 나누는 경우 등이 있을 수 있다. 이외에도 다른 복잡한 예외 상황이 있을 수 있다. 예외 처리는 간단하다. try문에 실행코드를 넣고 예외상황에 throw문을 던지면 try문이 종료되면서 catch가 수행된다. try{ //실행코드 throw type; //실행코드 }catch(type 변수명) { //catch시 실행될 코드 } 예를들어 0으로 나누는 경우 예외처리를 보자. int main() { try { int num; cin>>num; if(num == 0) throw num; } catch(int ..