반응형
Java에서 변수명을 짓는 방법
- 변수의 의미와 목적이 분명히 나타나야 한다.
- 비슷한 이름은 사용하지 않는다.
- 단축어 사용을 지양한다.
- 숫자로 시작할 수 없다.
- 띄어쓰기를 할 수 없다.
- 특수기호를 사용하지 않는다.
- 예약어를 사용하지 않는다.
- Camel Case를 지킨다. => 단어와 단어사이엔 대문자로 표시.
- 대소문자를 구분한다.
Camel Case 사용
- 변수명의 머리글자는 소문자로 시작한다.
- 다음 나타나는 단어의 머리글자는 대문자로 한다.
ex) int resultOfCalculateTwoNumbers = 10 + 50;
=> 장황해보일순 있지만 복잡한 애플리케이션과 비즈니스에선 이런식으로 써주는게 고수로 가는 길이다.
UTF-8 인코딩이란?
- 유니코드 한 문자를 나타내기 위해 1바이트에서 4바이트까지를 사용한다.
- 예를 들어서, U+0000부터 U+007F 범위에 있는 ASCII 문자들은 UTF-8에서 1바이트만으로 표시된다.
- 4바이트로 표현되는 문자는 모두 기본 다국어 평면(BMP) 바깥의 유니코드 문자이며, 거의 사용되지 않는다.
- UTF-16과 UTF-8중 어느 인코딩이 더 적은 바이트를 사용하는지는 문자열에서 사용된 코드 포인트에 따라 달라지며, 실제로 DEFLATE와 같은 일반적인 압축 알고리즘을 사용할 경우 이 차이는 무시할 수 있을 정도이다.
- 이러한 압축 알고리즘을 사용하기 힘들고 크기가 중요할 경우 유니코드 표준 압축 방식(Standard Compression Scheme for Unicode)을 대신 사용할 수 있다.
실습 코드
package java9Politec;
public class Lesson04_Variables2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a = 3;
int b = 5;
int addResult = 3+5;
int subResult = 3-5;
int mulResult = 3*5;
int divResult = 3/5;
//=> 결과는 0이 나온다. 정수와 정수의 연산은 결과값이 정수가 나오기 때문.
double divResult2 = 3/5;
//=> 0.0이 나옴. 애초에 정수 나누기 정수여서 답인 0을 소숫점을 포함해서 나오는것에서 끝남.
double divResult3 = 3.0/5;
//=> 3과 5중에 하나만 더블로 바꿔도 답이 더블로 나옴. 더블과 정수중에 더블이 더 큰 의미라 자동으로 결과값이 더블로 채택되어 나옴.
int modResult = 5%3;
System.out.println(modResult);
//=> 나누기 연산은 몫으로 나오고, 나머지 연산은 모듈러스인 %로 해야함.
// 사칙연산으로 해결되지 않는것은 Math클래스로 가능하다.
double result = Math.pow(3, 4);
// Math.pow는 더블타입으로 받고있기 때문에 더블 변수에 할당해야 함.
double result2 = Math.sqrt(4);
// 4의 제곱근을 반환한다.
/*
기본적으로, 왼쪽의 변수와 오른쪽에 있는 값의 타입이 같아야지 연산이 이뤄진다.
타입이 다르더라도 할당이 되는것은 Casting이라는 타입 변환을 이용해 가능하다.
*/
// <<묵시적 캐스팅>>
long along = 3;
// => 3은 인트타입인데 long타입으로 변환되어 할당됨. 3이 3L로 바껴서 저장됨.
double aDouble = 3.14F;
// => 3.14는 플롯 타입인데 더블타입으로 묵시적 캐스팅이 되어 들어감.
// <<명시적 캐스팅>> : 캐스팅을 강제로 해준다.
int aInt = (int) 234L;
float aFloat = (float) 3.14;
// 보통 큰 타입을 작은 타입으로 바꿀때 명시적 캐스팅을 쓴다.
// 문자열
String aStr = "Hello, world"; // 문자열은 항상 쌍따옴표.
String aStr2 = "Kim";
String anotherStr = aStr.toUpperCase(); // 대문자로 변
System.out.println(aStr + aStr2); // 두 문자열을 결합한다.
}
}
반응형
'Programming > Java' 카테고리의 다른 글
[Java9 프로그래밍] 07. 함수(메소드) (0) | 2020.03.13 |
---|---|
[Java9 프로그래밍] 05-06. 데이터 구조, ArrayList, Map (0) | 2020.03.13 |
[Java9 프로그래밍] 04. 제어 흐름 (Control Flow) (0) | 2020.03.13 |
[Java9 프로그래밍] 02. 변수와 타입의 이해 1 (0) | 2020.03.13 |
[Java9 프로그래밍] 01. 자바 시작하기 (0) | 2020.03.13 |