■ eclipse JRE System Library unbound 오류 해결 방법



이클립스에서 JRE System Library unbound 오류 발생 한 경우 아래와 같은 순서로 해결 가능합니다. 



▶ Java Build Path 수정 하러 가기


첫번째 방법: Project > Properties 순으로 이동


두번째 방법: 작업중인 project 우클릭 > Build Path > Configure Build Path 순으로 이동



▶ JRE System Library unbound 오류 수정


좌측 목록에서 Java Build Path 항목을 선택 시 우측에 네가지 탭이 보입니다. 

여기서 Libraries 탭을 선택 하면 

JRE System Library [jre 버전 정보] (unbound) 라는 상태가 보입니다. 


이것을 수정해야 하니 우측 화면상에서 Add Library 를 선택 합니다. 




Add Library 를 선택 시 위와 같이 Library Type 선택 하는 팝업이 뜹니다. 

JRE System Library 를 선택 후 Next 를 클릭해 줍니다. 




JRE의 build path 를 선택 하는 화면입니다. 


Alernate JRE > installed JREs... 를 클릭하면 설치된 JRE 항목이 아래 이미지와 같이 검색됩니다. 




저의 경우 하나 밖에 없어서 바로 선택 후 적용했지만 만약 여러개의 JRE 가 설치 되어 있으시다면 원하는 Java 버전을 선택 하시면 됩니다. 




원하는 JRE 를 선택 등록이 정상적으로 처리 되면 위와 같이 JRE System Library 가 두개가 됩니다. 

자세히 보시면 하나는 unbound 상태 입니다. 해당 JRE 를 선택 후 Remove 버튼을 클릭하여 삭제 합니다. 




이제 좀전에 등록한 JRE 만 남기고 깨끗이 정리 되었습니다. 


프로젝트 내 많은 오류 메세지들이 해결 되었을 거예요 ^^





 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D




블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



 ■ Java Character - Character.toLowerCase() 함수



toLowerCase() 함수는 입력 받은 인자 값을 소문자로 변환하여 리턴해줍니다. 




Syntax

public static char toLowerCase( char ch )

public static int toLowerCase( int codePoint )




Example


1
2
System.out.println(Character.toLowerCase('T'));
System.out.println(Character.toLowerCase('\u0054'));
cs


대문자 'T' 와 Unicode 값을 입력 시 소문자 't' 로 리턴 해줍니다. 



1
System.out.println(Character.toLowerCase(84));
cs


대문자 'T' 를 의미하는 Unicode 숫자 값 84를 입력 시 소문자 't' 를 리턴 하는 것이 아니라 소문자 't'에 상응하는 Unicode 116을 리턴 합니다. 



1
System.out.println(Character.toLowerCase('자'));
cs


'자' 라는 한글을 입력 해 봅니다. 결과는 어떻게 나올까요? 

'자' 라는 한글은 영문자가 아닙니다. 그러니 대소문자 변환 할 것도 없죠.

위 코드를 실행 시 '자' 라는 값을 그대로 리턴 시킵니다.




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D



블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



 ■ Java Character - Character.toUpperCase() 함수



toUpperCase() 함수는 입력받은 인자 값을 영문 대문자로 변환하여 리턴합니다. 



Syntax

public static char toUpperCase ( char ch )

public static int toUpperCase ( int codePoint )



Example


1
2
System.out.println(Character.toUpperCase('t'));
System.out.println(Character.toUpperCase('\u0074'));
cs


소문자 't' 와 유니코드 값을 이용하여 대문자로 변환 하면 대문자 'T' 가 리턴됩니다. 



1
System.out.println(Character.toUpperCase('T'));
cs


인자 값이 대문자 일 경우 별도 변경 사항 없이 그대로 대문자 'T' 가 리턴 됩니다. 



1
System.out.println(Character.toUpperCase(116));
cs


인자 값이 int 형인 경우도 동일합니다. 

116 은 소문자 't' 를 의미 합니다. 대문자로 변경을 할 경우 대문자 'T' 가 리턴 되는 것이 아니라 대문자 'T' 에 상응하는 Unicode 숫자 값이 리턴 됩니다. 


실행 결과 84 가 리턴됩니다. 




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D




블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



 ■ Java Character - Character.isLowerCase() 함수 



isLowerCase() 함수는 입력 받은 인자가 영문 소문자 인지 여부를 판단하여 true 또는  false 값을 리턴 합니다. 



Syntax

public static boolean isLowerCase ( char ch )

public static boolean isLowerCase ( int codePoint )



Example


1
2
System.out.println(Character.isLowerCase('t'));
System.out.println(Character.isLowerCase('\u0074'));
cs


영문 소문자 't' 그리고 영문 소문자 t 의 Unicode 인 \u0074 모두 소문자를 의미 하므로 true가 리턴 됩니다. 


1
2
System.out.println(Character.isLowerCase('T'));
System.out.println(Character.isLowerCase('\u0054'));
cs


영문 대문자 'T' 그리고 Unicode 값인 \u0054 모두 대문자 T 를 의미 하므로 false 가 리턴 됩니다. 


1
System.out.println(Character.isLowerCase(116));
cs


입력 값이 int 형입니다. 

위 Syntax 를 보시면 두번째 함수가 int 형 인자를 받고 있습니다. 

Unicode 의 소문자 t를 의미 하는 값으로 true 가 리턴 됩니다. 


1
2
System.out.println(Character.isLowerCase('7'));
System.out.println(Character.isLowerCase('굿'));
cs


char 형의 '7' 값은 영문자가 아닙니다.

또한 '굿' 이라는 한글 캐릭터 역시 영문자가 아니며 당연히 소문자도 아니므로 false 값이 리턴 됩니다. 




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D



블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



■ Java Character - Character.isUpperCase() 함수



isUpperCase() 함수는 입력 받은 인자가 영문 대문자 인지 여부를 판단하여 true 또는 false 값을 리턴 합니다. 



Syntax

public static boolean isUpperCase ( char ch )

public static boolean isUpperCase ( int codePoint )



Example


1
2
System.out.println(Character.isUpperCase('t'));
System.out.println(Character.isUpperCase('\u0074'));
cs


영문 소문자 't' 그리고 영문 소문자 t 의 Unicode 인 \u0074 모두 소문자를 의미 하므로 false 가 리턴 됩니다. 



1
2
System.out.println(Character.isUpperCase('T'));
System.out.println(Character.isUpperCase('\u0054'));
cs


영문 대문자 'T' 그리고 Unicode 값인 \u0054 모두 대문자 T 를 의미 하므로 true 가 리턴 됩니다. 



1
System.out.println(Character.isUpperCase(84));
cs


입력 값이 int 형입니다. 

위 Syntax 를 보시면 두번째 함수가 int 형 인자를 받고 있습니다. 

Unicode 의 대문자 T 를 의미 하는 값으로 true 가 리턴 됩니다. 



1
2
System.out.println(Character.isUpperCase('7'));
System.out.println(Character.isUpperCase('굿'));
cs


char 형의 '7' 값은 영문자가 아닙니다.

또한 '굿' 이라는 한글 캐릭터 역시 영문자가 아니며 당연히 대문자도 아니므로 false 값이 리턴 됩니다. 




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D



블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



■ Java Character - Character.isDigit() 함수



isDigit() 함수는 명시된 char 값이 숫자 인지 여부를 판단하여 true 또는 false 값으로 리턴 합니다. 앞서 포스팅한 siLetter() 함수와 반대 기능을 한다고 생각 하시면 됩니다. 



Syntax

public static boolean isDigit ( char ch )

public static boolean isDigit ( int codePoint )



Example

1
System.out.println(Character.isDigit('a'));
cs


입력 값 'a' 가 숫자 인지 여부를 판단하는 코드 입니다. 

당연히 아니죠 ^^


실행 결과 false 가 리턴 됩니다. 



1
System.out.println(Character.isDigit('97'));
cs


입력 값 '97' 이 숫자 인지 여부를 판단하는 코드 입니다. 


실행 결과 true 가 리턴 됩니다. 



1
System.out.println(Character.isDigit(97));
cs


앞선 예제와 달리 char 형'97' 값이 아닌 int 형 97 을 입력 했습니다. 

얼핏 보기에는 97 은 숫자 이니 ture 가 리턴 될 것이라 생각 할 수 있습니다. 


Syntax 에 보시면 두번째 함수의 인자 값이 int codePoint 라고 되어 있습니다. 

이 codePoint 는 Unicode 값으로 소문자 a 를 의미 합니다.

a 는 문자죠? ^^


실행 결과는 예상과 달리 false 가 리턴됩니다. 



Unicode 표는 아래 링크를 참조 하세요

https://en.wikipedia.org/wiki/List_of_Unicode_characters




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D



블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



■ Java Character - Character.isLetter() 함수



isLetter() 함수는 명시된 char 값이 문자 인지 여부를 판단하여 true/false 를 리턴 합니다. 



Syntax

public static boolean isLetter(char ch)

public static boolean isLetter(int codePoint)



Example


1
System.out.println(Character.isLetter('a'));
cs

char 형 a 가 letter 인가 판단하는 코드 입니다. 


실행 결과는 true 가 리턴 됩니다. 



1
System.out.println(Character.isLetter('7'));
cs

char 형 7 이 letter 인가 판단하는 코드 입니다. 


실행 결과는 false 가 리턴 됩니다. 7은 digit 입니다. 




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D




블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



 ■ Java Character Class



안녕하세요. 제임스 입니다. 


이번 포스팅 부터 Java Character Class 에 대해 정리 해보겠습니다. 


일반적으로 Character 를 사용할때는 primitive data type 인 char 를 이용합니다. 하지만 개발 중 primitive data type 대신 Character 객체를 사용해야 하는 경우가 있는데요, 이를 위해 자바에서는 wrapper Class 인 Character 를 제공합니다. 


Character 객체는 아래 예제와 같이 Character 컨스트럭터를 이용하여 생성할 수 있습니다. 


1
Character chr = new Character('c');
cs




Java compiler 는 상황에따라 Character 객체를 생성해줍니다. 물론 이 경우와 반대의 경우도 있습니다. Character 를 char 형으로 자동 변환 해 주기도 합니다. 

이는 자바의 Autoboxing 및 Unboxing 이라는 기능이 있기 때문입니다. 관련 내용은 아래 링크 참조 하세요.

2018/04/17 - [Java] - [ 자바 코딩 ] Java Autoboxing vs Unboxing




Escape Sequences (이스케이프 시퀀스)

백 슬래시(\) 가 앞에 붙은 문자는 Escape Sequence 이며 특별한 의미를 가지고 있습니다. 


Escape Sequence

요약 

 \t

 해당 위치에 TAB 키 만큼 공간을 줍니다

 \b

 해당 위치에 backspace 를 추가 합니다.  

 \n

 해당 위치에 newline (새줄 효과)를 줍니다.

 \r

 해당 위치에서 복귀 효과를 줍니다. 

 \f

 해당 위치에서 서식 효과를 줍니다. 

 \'

 해당 위치에 따옴표를 표기 합니다

 \"

 해당 위치에 쌍따옴표를 표기 합니다. 

 \\

해당 위치에 백 슬래시를 표기 합니다. 



1
System.out.println("123\b456 backspace 효과를 줘서 바로 앞 3 을 삭제처리 ");
cs


위 예제는 backspace 효과를 줬습니다. 바로 앞에 3이 있으니 backspace 효과를 사용 시 3이 삭제 되어 출력 됩니다. 결과는 아래와 같습니다. 


12456 backspace 효과를 줘서 바로 앞 3 을 삭제처리 



1
System.out.println("기존 라인\n신규라인으로 줄바꿈 처리");
cs


위 예제는 실전에서 가장 많이 사용하는 newline 효과를 적용 했습니다. 

결과는 아래와 같습니다. 


기존 라인

신규라인으로 줄바꿈 처리



1
System.out.println("\"Double quote\" 쌍따옴표 사용");
cs


Single quote 와 함께 많이 사용되는 Double quote 를 이용해 샘플을 만들어 봤습니다. 

실행 결과는 아래와 같습니다.


"Double quote" 쌍따옴표 사용



Character Class 에는 많은 함수들이 제공되고 있습니다. 

이 함수들은 차근 차근 정리해 서 올리겠습니다. 




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D



블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



■ Java Autoboxing vs Unboxing



안녕하세요. 제임스 입니다. 


자바 개발중 별로 중요하게 생각지 못하거나 왜 그런지 모르고 개발 하는 것들 중 한가지가 Wrapper Classes 와 primitive data type 사이에 이루어 지고 있는 자동 변환 기능을 Autoboxing 과 Unboxing 이라 부르고 있습니다. 


이번에는 이 Autoboxing 과 Unboxing 에 대해 정리해보겠습니다. 



Autoboxing은 자바 컴파일러가 primitive data type 을 그에 상응하는 wrapper class 로 자동 변환 시켜 주는 것을 의미 합니다. 예를 들면 int 를 Integer 로, double 을 Double 로 변환 시키는 것들을 의미 합니다. 


1
2
3
4
5
6
7
8
public static void main(String[] args) {
     char ch = 'j';
     autoBoxing(ch);
}
    
public static void autoBoxing(Character chr){
    System.out.println("autoboxing test result : chr = ["+chr+"]");
}
cs


autoBoxing 함수의 인자 값은 Character 형을 받는 것으로 정의 되어 있지만 실제로 입력한 값은 char 형입니다. 입력 된 primitive data type 인 char 를 Java compiler 가 자동으로 wrapper class 인 Character 형으로 변환 시켜 줬습니다. 


실행 결과는 아래와 같습니다. 


autoboxing test result : chr = [j]



1
2
3
4
5
6
7
8
public static void main(String[] args) {
    int i = 7;
    autoBoxing(i);
}
    
public static void autoBoxing(Integer I){
    System.out.println("autoboxing test result : Integer I = ["+I+"]");
}
cs


위 코드는 int 를 Integer 로 변환 시키는 예제 입니다. 


실행 결과는 아래와 같습니다. 


autoboxing test result : Integer I = [7]




Unboxing은 자바 컴파일러가 wrapper class 를 primitive data type 으로 자동 변환 시켜 주는 것을 말합니다. 


1
2
3
4
5
6
7
8
public static void main(String[] args) {
    Character chr = new Character('c');
    unBoxing(chr);
}
    
public static void unBoxing(char ch){
    System.out.println("unboxing test result : chr = ["+ch+"]");
}
cs


unBoxing 함수의 인자 값은 char 형으로 정의 되어 있지만 실제 함수 호출 시 입력된 값은 wrapper class 인 Character 입니다. java compiler 가 wrapper class 인 Character 를 primitive data type 인 char 형으로 변환 시킨 것입니다. 


실행 결과는 아래와 같습니다. 


unboxing test result : ch = [c]



1
2
3
4
5
6
7
8
public static void main(String[] args) {
    Integer i = new Integer(2);
    unBoxing(i);
}
    
public static void unBoxing(int i){
    System.out.println("unboxing test result : int i = ["+i+"]");
}
cs


위 코드는 Integer 를 int 로 변환 시키는 예제 입니다. 


실행 결과는 ...


unboxing test result : i = [2]




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D



블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,



 ■ Java Number - Math.log() 함수 & Math.log10() 함수



log() 함수는 수학의 자연로그 함수 입니다. 자연로그 함수란 밑이 자연대수인 e 인 로그 함수를 의미 합니다. 

log10() 함수는 밑이 10인 로그 함수를 의미 합니다. 



Syntax

public static double log (double d)

public static double log10 (double d)



Example


1
System.out.println(Math.log(7.38905609893065));
cs


위 코드는 밑이 e 인 7.38905609893065 값을 뽑아 내는 코드 입니다. 

결과는 2.0 이 나옵니다. 



위와 반대 개념으로 exp() 함수가 있습니다. 

e의 2.0 승을 하는 코드가 아래와 같습니다. 


1
System.out.println(Math.exp(2));
cs


위 코드를 실행 시키면 첫번째 예제의 인자 값인 7.38905609893065 가 리턴 됩니다. 




1
System.out.println(Math.log10(10));
cs


위 코드는 밑이 10인 10 값을 가져오는 코드 입니다. 

밑인 10을 생략하면 log10 과 같이 쓸수 있는데요 이 값은 익히 아시는 바와 같이 1 입니다. 

위 코드를 실행 하면 1.0 이 나오는데요. 이는 함수의 return data type 이 double 형이기 때문입니다. 



 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D




블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,