Java 실습 리터럴 활용 예제
Java 실습: 리터럴 활용 예제¶
문자 리터럴 - 작은 따옴표(')의 역할¶
System.out.println(0xac00); //정수 리터럴
System.out.println((char)0xac00); //문자 코드임을 가리킨다.
System.out.println('가'); //문자 리터럴
// (char)0xac00 == '가'
// ***** '문자' ==> 문자의 코드 값을 리턴한다. *****
// 문자의 코드값도 숫자로 다룰 수 있다.
// 문자 코드를 정수로 출력하라!
System.out.println((int)'가'); //44032
// '각' ==> 0xac01 (44033) 을 리턴한다.
// 따라서 다음과 같이 다른 숫자와 연산을 수행할 수 있다.
System.out.println('각' + 1); //44034
System.out.println('각' - 1); //44032
// 문자 코드에 정수 값을 연산하는 순간 그 결과는 더이상 문자코드가 아니라 정수가 된다.
// 해당 계산 결과를 문자 코드로 바꾸고 싶다면, 이전에 했던대로 (char)을 앞에 붙여준다.
System.out.println((char)('각' + 1)); //갂
System.out.println((char)('각' - 1)); //가
논리 리터럴¶
// 참 : true
// 거짓 : false
// 자바는 대소문자를 구분하여 처리한다.
System.out.println(true);
System.out.println(false);
// System.out.println(TRUE); 컴파일오류
// 보통 비교 연산의 결과로 논리 값이 리턴된다.
System.out.println(4 < 5); //true
System.out.println(4 > 5); //false
// 논리 연산의 결과도 논리 값이다.
System.out.println(true && true); //true
System.out.println(true && false); //false
System.out.println(true || true); //true
System.out.println(true || false); //true
// 문자 코드와 ''연산
// '문자' 단독으로 사용될 때는 문자로 취급하지만,
// 다른 값과 연산을 수행하면 해당 문자코드는 정수로 취급된다.
System.out.println('가' == 44032); //true
System.out.println('가' == 44033); //false
// boolean 값을 다룰 때 메모리 크기 : JVN은 논리 값을 저장할 때 4바이트 정수 메모리를 사용한다.
// true(1), false(0)으로 저장
// boolean은 배열에서는 1바이트 정수 배열의 메모리를 사용한다.
문자열 리터럴¶
// 큰 따옴표("")를 사용하여 문자열을 나타낸다.
System.out.println("홍길동");
System.out.println("가"); // 문자가 아니라 문자열이다!
// 문자열과 다른 종류의 값을 더한다?
// => 다른 종류의 값을 문자열로 변환한 후
// 기존 문자열에 결합하여 새 문자열을 만든다.
// + 연산자(operator; 특정 기능을 수행하는 명령)를 이용하여
// 여러 개의 문자열을 하나로 합쳐 새 문자열을 만들 수 있다.
System.out.println("홍길동" + "입니다."); //홍길동입니다.
System.out.println("홍길동은 " + 20 + "살입니다."); //홍길동은 20살입니다.
System.out.println("취업여부: " + false); //취업여부: false
System.out.println("키: " + 180.7f); //키: 180.7 여기서 f는 값이 아니기 때문에 문자열로 바뀌지 않음.
// 문자열의 저장?
// 자바는 char(2byte) 배열(여러 개의 메모리)에\
// 문자열의 유니코드(Unicode; UCS-2)를 저장한다.
// 예) "AB가각"
// [0041][0042][ac00][ac01] <== 2byte 메모리 4개에 저장됨.
이스케이프 문자 리터럴¶
// 이스케이프 문자
// - 문자를 제어하는 기능을 가진 문자
// - 문법
// \n , \r, \f, \t, \b, \', \", \\
//
System.out.println("Hello,World!");
System.out.println("Hello,\nWorld!"); // 줄바꿈
System.out.println("Hello,\rabc"); // 커서(cursor; 문자를 출력할 위치를 가리킴)를 처음으로 돌리는 문자
// Hello,를 쓰고 커서를 처음으로 보내 그 뒤 abc를 출력. Hel을 덮어씀
System.out.println("Hello,\b\b\bWorld!"); // 커서를 이전으로 한칸 이동시키는 문자
// Hello,를 쓰고 커서를 이전으로 3칸 이동시킨뒤 World!를 출력. 'lo,'가 덮어써짐
System.out.println("Hello,\tWorld!"); // tap 공간을 추가시키는 문자
System.out.println("Hello,\fWorld!"); // formfeed; 과거 dot print에서 사용하던 기능
System.out.println("Hello,\"W\"orld!"); // " 문자를 추가시키는 문자
System.out.println("Hello,\'W\'orld!"); // ' 문자를 추가시키는 문자
System.out.println("Hello,'W'orld!"); // ""안에서 ' 문자는 그냥 적어도 된다.
System.out.println('\''); // ''안에서 ' 문자를 출력하려면 \ 필요.
System.out.println('\"');
System.out.println('"'); // ''안에 " 문자는 그냥 적어도 된다.
System.out.println("C:\\Users\\user"); // \ 문자를 출력하고싶으면 \\
대부분 언어에서 이스케이프 문자는 동일.
** 줄바꿈 코드 **
Carrage Return(CR) : 0d
Line Feed(LF) : 0a
- windows OS 에서는 줄바꿈을 표시하기 위해 CRLF 2바이트 코드를 삽입한다.
- Unix OS 에서는 줄바꿈을 표시하기 위해 LF 1바이트 코드를 삽입한다.
jar = java archive, 단지 자바 클래스 파일들이 담김
유용한 정보¶
언어별 코딩 스타일 http://sideeffect.kr/popularconvention 구글 스타일가이드 https://github.com/google/styleguide
gradle 명령어¶
gradle tasks --all
gradle compileJava
gradle build
gradle run
gradle clean
gradle init
...
gradle eclipse
- .settings폴더, .classpath, .project파일 생성