CS Story 썸네일형 리스트형 CS 이야기 : String과 StringBuilder CS 이야기 그 세번째 포스팅이다. String 문자열을 나타내는 데이터타입이다. 이것은 익숙할 것이다. 하지만 내 경험상 StringBuilder는 학부생중에서 사용하는 것은 자주는 못 본것 같다, 한 문자열 변수에서 수정이 엄청나게 많이 바꿔야 하는 작업이 있다고 가정했을 때 String과 StringBuilder의 차이점을 알아보겠다. 자 이런 코드가 있다고 가정하겠다. 간단하게 코드설명은 그냥 0부터 10만까지 String과 StringBuilder에 숫자를 뒤에 붙이고 그 시간을 측정하는 것이다. 과연 결과는? 놀랍게도 엄청난 시간 차이가 난다. 그 이유가 무엇일까? 자 먼저 String이 뒤에 문자열을 추가하는 방식에 대해서 알아보겠다, String s에는 "Love"가 저장되어 있다. 여기에.. 더보기 CS 이야기 : if의 비교순서 CS 이야기 두번째 포스팅 if의 비교순서이다. 어느 언어로 코딩할 때나 거의 대부분의 상황에서 사용하는 것이 if이다. if문은 and, or 또는 &&, ||로 비교연산을 중복해서 사용할 수 있는데, 그 순서에 관한 이야기이다. 위 코드가 종료되면 표준출력창에는 무엇이 떠있을까? 에러 없다? 에러 있다? 여기서 try문 안에있는 if문의 조건 2개를 보면 두번째 조건문에서는 IndexOutOfBoundsException이 뜬다. 그러면 "에러 있다"가 출력될까? 위 코드의 실행결과는 이것이다. 그럼 두 조건문의 순서를 바꿔준다면? 에러가 발생한다. 여기서 알 수 있는 점 or를 연속으로 쓴 if문에서는, 첫번째 비교연산부터 차례대로 수행해 하나라도 참을 만나면 뒤에 있는 연산을 수행하지 않고 비교를 .. 더보기 CS 이야기 : float와 double CS이야기 그 첫번째 포스트. 오늘은 float와 double 에 대한 포스팅이다. 둘 다 실수를 표현하는 자료형이다. 그러면 둘의 자료형을 코딩할 때 막 섞어서 써도 되는가? 그건 절대 안된다. ??? : 왜요?? 실수는 어차피 같은 실수 아닌가요?? 결론부터 말하면 둘은 절대 같은 자료형이 아니다. 이런 상황이 발생하는 이유는 두 자료형이 차지하는 바이트 수 때문에 일어난다. double은 8byte float는 4byte의 메모리를 차지한다. S는 부호, E는 지수 M은 가수이다 float와 double을 비교하기 위해서는 타입을 JVM이 자동으로 float를 double로 타입으로 캐스팅을 하는데, 이 과정에서 float는 2.1f 와 같이 딱 떨어지는 값이 아니라, 2.1에 근사한 값으로 비교에.. 더보기 이전 1 다음