isNotEmpty는 null빈공백을 모두 검사하고

isNotNull은 null만 검사합니다.

 

 

java.lang.ArrayIndexOutOfBoundsException

 

배열에 크기 보다 들어 오는 값이 더 많을 경우 발생하는 에러

 

예) 

 

1

2

3

4

5

6

7

int[] num = new num[10];

   

for( int a=0; a < codeList.size(); a++) 

{         

    num[a] = a;     

}

Colored by Color Scripter


cs

여기서 배열은 10인데 codeList 크기가 10 이상일 경우 들어오는 값이 더 많아서 에러가 발생 한다.






디버깅 걸지도 않았는데 무조건 저기에 걸릴때는


window-preferences-java-debug에 가서


아래 그림과 같이 체크해제해주면 된다.


Spot on, still relevant in 2015 with latest Eclipse too. Make sure to keep the check-box under green highlight circle to be unchecked. I am adding image to highlight the change



#include <stdio.h>    →printf의 원형이 있기 때문에 써야 한다.
#include <math.h>    →pow의 원형이 있기 때문에 써야 한다.

int main(void)
{
 short a,b;
 unsigned short c;
     
  a=pow(2,15)-1;
  b=pow(2,15);
  c=pow(2,15);

  printf("a의 값은 %d이다\n", a);
  printf("b의 값은 %d이다\n" ,b);
  
  printf("c의 값은 %d이다\n", c);

 return 0;
}

gcc 예제3-2.c

a.exe

a의 값은 32767이다

b의 값은 32767이다 →요즘 pow가 개선되어 오버플로우가 발생하지 않고 최대값으로 리턴 받는다.

c의 값은 32768이다 →unsigned는 부호 없는 정수형을 선언하며 범위는 0~2^16-1

                              32768은 unsigned범위 안에 해당되므로 오버플로우가 발생하지 않는다.

 

 

▣생략된 것은 기본적으로 signed가 쓰여져 있는 것이다.

   signed는 정수형의 기본형으로 부호를 포함한다.

 정수형

바이트수 

허용 범위 

 (signed) short (int)

   2  

-2^15~2^15-1 

 unsigned short

 2

 0~2^16-1

 int

 4

 -2^31~2^31-1

 unsigned int

 4

 0~2^32-1

 long (int)

 4

 -2^31~2^31-1

 unsigned long

 4

 0~2^32-1

 

signed int는 32bit에서 1bit가 부호를 결정 그리고 31비트가 수의 크기.


+ Recent posts