Programming/Java

[Java9 프로그래밍] 03. 변수와 타입의 이해 2

빠모스 2020. 3. 13. 18:45
반응형

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); // 두 문자열을 결합한다.
	}

}

 

반응형