Programming/Java2014. 3. 7. 21:20
문득 c나 cpp에서도 그런진 모르겠지만..
(type binding을 지원하는 cpp는 되지 않을까?) 

일단 타입이 강하게 묶여있기 때문에
int 형으로 계산을 하고 나서 long 형으로 변환하는 건 이미 데이터가 손실 되어 의미가 없어진다.
무조건 계산 전에는 형 변환을 해주고 시작하는 것이 옳다(!).

그리고 두개의 크기가 다른 타입을 계산할 경우 자동으로 큰 쪽으로 맞추어지나
정수형은 int 형이 최고 타입으로 long 형으로는 자동적으로 크기가 키워지진 않는다.

System.out.println(1000000 * 1000000);
System.out.println(1000000 * (long)1000000);
System.out.println((long)1000000 * 1000000);
System.out.println((long)1000000 * (long)1000000);
System.out.println((long)(1000000 * 1000000));
System.out.println(1000000 * 1000000L);
System.out.println(1000000L * 1000000);
System.out.println(1000000L * 1000000L); 

-727379968
1000000000000
1000000000000
1000000000000
-727379968
1000000000000
1000000000000
1000000000000 

'Programming > Java' 카테고리의 다른 글

java break / continue  (0) 2014.03.10
java와 cpp의 차이점 - 연산자 오버로딩 / 다중상속  (0) 2014.03.10
java byte 형의 오묘함  (0) 2014.03.07
java primitive data type + 연산자  (0) 2014.03.07
java framework  (0) 2014.03.06
Posted by 구차니
Programming/Java2014. 3. 7. 21:13
1byte * 1byte를 해도 2byte가 한계임에도 불구하고 int 형으로 강제하는 것은
자바 컴파일러의 특성이나 언어적 정의 같은 느낌인데..

아무튼 a = 3; b = 4; 로 해도
값이 오버플로우 되지 않음에도 불구하고 강제로 int 형으로 하도록 한다.

short 형은 버림 받은 느낌이고...
public static void main(String[] args) {
// TODO Auto-generated method stub
byte a = 10;
byte b = 30;
byte c = (byte)(a * b);

System.out.println(c);
} 

(byte)를 빼면
 Type mismatch : cannot convert from int to byte
라고 에러(!)가 발생한다.

'Programming > Java' 카테고리의 다른 글

java와 cpp의 차이점 - 연산자 오버로딩 / 다중상속  (0) 2014.03.10
java explicit upcasting 묵시적 형변환  (0) 2014.03.07
java primitive data type + 연산자  (0) 2014.03.07
java framework  (0) 2014.03.06
java tutorial docs  (0) 2014.03.06
Posted by 구차니
예전에는 netbeans와 visual studio에만 있는줄 알았는데
eclipse에도 추가 되었거나 내가 몰랐던 듯?

ctrl - shift - f (파일 전체 문서 정렬)
ctrl - i (한줄만 문서 정렬)

[링크 : http://stackoverflow.com/questions/6068009/difference-between-ctrlshiftf-and-ctrli-in-eclipse ]
Posted by 구차니
Programming/Java2014. 3. 7. 16:38
long 형에 int형의 범위를 넘는 값을 입력할 경우 L을 붙여 주지 않으면 에러가 발생한다.
(The Literal 9223372036854775807 of type int is out of range)

실수는 d 식별자가 없으면 double형으로 인식한다.
float 형에만 강제로 f를 붙여 주어야 함.

Data TypeDefault Value (for fields)
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char '\u0000'
String (or any object)   null
boolean false
[링크 : http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html]

변수 크기
boolean - true/false 1bit
byte - 1byte
char - 2byte

short - 2byte
int - 4byte
long - 8byte

float - 4byte
double - 8byte

>>> unsigned bitwise shift right
c에서는 타입에 따라서 unsigned shift / signed shift를 사용하지만
자바는 기본적으로 signed이기에 unsigned shift가 별도로 연산자 제공이 된다.
[링크 : http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html]

JVM 32bit/ 64bit 상관없이 long은 64bit
[링크 : http://stackoverflow.com/questions/9511836/size-of-java-primitives-on-32-64-bit-jvm]

JAVA 8 부터 unsigned int 지원예정
[링크 : http://stackoverflow.com/questions/9854166/declaring-an-unsigned-int-in-java]
[링크 : https://blogs.oracle.com/darcy/entry/unsigned_api]

'Programming > Java' 카테고리의 다른 글

java explicit upcasting 묵시적 형변환  (0) 2014.03.07
java byte 형의 오묘함  (0) 2014.03.07
java framework  (0) 2014.03.06
java tutorial docs  (0) 2014.03.06
java sdk 설치경로  (0) 2012.03.18
Posted by 구차니
개소리 왈왈2014. 3. 7. 16:13
고등학교때였나 대학교때였나 샀던 책인데
네이버 블로그를 통해 구매의사를 밝혀서 그냥 보내줌 ㅋ

 

'개소리 왈왈' 카테고리의 다른 글

휴.. 빡세다  (0) 2014.03.21
우체국도 개인정보 빼돌리나?  (0) 2014.03.08
2014년 3월 이후 계획  (0) 2014.03.02
학원등록 - 자바  (0) 2014.02.14
autocad 한달 과정 끝!  (0) 2014.02.13
Posted by 구차니
opensource와 같이 여러사람의 commit가 늦게 반영하는 시스템에서
로컬 저장소를 통한 개별 태깅/브랜칭이 장점이기에

사내에서 사용하기에는 git의 가장 큰 장점이 희석되는 느낌..

[링크 : http://minslovey.tistory.com/100]
[링크 : http://rogerdudler.github.io/git-guide/index.ko.html] << official ?
[링크 : http://www.slideshare.net/einsub/svn-git-17386752]

'프로그램 사용 > Version Control' 카테고리의 다른 글

google code - svn, mercurial  (0) 2014.05.24
mercurial SCM  (0) 2014.05.02
TortoiseSVN 기본 트리구조 추가!  (0) 2013.12.26
svn relocate 사용하기  (0) 2013.08.27
svn + apache on ubuntu  (0) 2013.08.27
Posted by 구차니
Programming/Java2014. 3. 6. 18:06

'Programming > Java' 카테고리의 다른 글

java byte 형의 오묘함  (0) 2014.03.07
java primitive data type + 연산자  (0) 2014.03.07
java tutorial docs  (0) 2014.03.06
java sdk 설치경로  (0) 2012.03.18
java arraylist에서 중복항목 제거하기  (2) 2012.02.16
Posted by 구차니
pdf의 목차 기능을 쓸수 없던 아이리버 스토리에 날개를 달아준 느낌이다. +_+

아이리버 스토리에는 4방향 키와 중앙의 네비게이션이 있는데
epub에서는 하이퍼링크 페이지로 오면 '4-방향키로 밑줄 이동'이라고 나온다.
pdf 를 언넝 epub로 변환해버려야지 ㅠㅠ


그리고 epub는 pdf와 다르게 문자 크기 조절 ui가 뜬다.

 

단계별로 확대!


결론 : ebook에는 epub ㅠㅠ

Posted by 구차니
Programming/Java2014. 3. 6. 15:10
epub 로도 제공하는데 일단 다운받아서 아이리버 스토리에 넣어보니
Updated for Java SE 7 이라고 나온다. 오오오!!!

docs.sun.com/java 가 아니라 docs.oracle.com/javase 라니 먼가 미묘한 기분... ㅠㅠ

[링크 : http://docs.oracle.com/javase/tutorial/]
    [링크 : http://www.oracle.com/technetwork/java/javase/java-tutorial-downloads-2005894.html

'Programming > Java' 카테고리의 다른 글

java primitive data type + 연산자  (0) 2014.03.07
java framework  (0) 2014.03.06
java sdk 설치경로  (0) 2012.03.18
java arraylist에서 중복항목 제거하기  (2) 2012.02.16
java xml dom 파싱  (0) 2012.02.06
Posted by 구차니
Programming/openGL2014. 3. 6. 15:03
조만간 쓸일이 있을 예정?


[링크 : http://www.geuz.org/gl2ps/]

'Programming > openGL' 카테고리의 다른 글

glColor*  (0) 2015.07.20
우분투에서 openGL 시작하기  (0) 2015.07.20
openGL state variables  (0) 2013.12.12
openGL에서 AVI 동영상 재생하기  (0) 2013.04.09
openGL gcc에서 컴파일 하기  (0) 2012.06.02
Posted by 구차니