728x90
반응형
Number

 

  • 정수
    • 자바의 정수를 표현하기 위한 자료형은 int, long 이다.(차이: 표현 범위)
int age = 10;
long countOfStar = 57835982L;

 

  • 실수
    • 자바의 실수를 표현하기 위한 자료형은 float, double 이다. (차이: 표현범위)
    • 자바에서 실수형은 default가 double이므로 float 변수에 값을 대입할 때는 F 접미사를 꼭 붙여야 함.
float pi = 3.14F;
double morepi = 3.14159265358979323846;

 

  • 8진수와 16진수
    • 8진수와 16진수는 int 자료형을 사용하여 표시한다.
    • 0 으로 시작하면 8진수, 0x 으로 시작하면 16 진수가 된다.
int octal = 023;	// decimal: 19
int hex = 0xC;		// decimal: 22

 

  • 숫자연산
    • 자바의 사칙연산은 실생활에서 사용하는 사칙연산과 크게 다를 바 없다.
    • +, -, *, / 기호를 이요아여 두 숫자간 사칙연산을 수행한다.
package package_01;

public class TestClass {

	public static void main(String[] args) {
		int a = 10;
		int b = 5;
		
		System.out.println(a+b);	// 15
		System.out.println(a-b);	// 5
		System.out.println(a*b);	// 50
		System.out.println(a/b);	// 2
	}
}

 

  • 증감연산
    • 자바는 ++, -- 기호를 이용하여 값을 증가하거나 감소시킬 수 있다. (증감연산자)
    • 연산자의 위치에 따라 값은 달라진다.(전위 연산자 or 후위 연산자)
package package_01;
	public class TestClass{
		public static void main(String[] args) {
			
			int i = 0;
			int j = 10;
			i++;
			j--;
			
			System.out.println(i);	// 1
			System.out.println(j);	// 9
		}
	}

 

※ i++ [후위연산자]에 의해 i 값이 참조 / (되었으나 증가값은 출력되지 않음)

package package_01;
	public class TestClass{
		public static void main(String[] args) {
			
			int i = 0;
			System.out.println(i++);	// 0
			System.out.println(i);		// 1
		}
	}

 

  • i++ [후위연산자] : 값이 참조된 후에 증가
  • ++i [전위연산자] : 값이 참조되기 전에 증가

※ ++i [전위연산자]에 의해 i 값이 참조되기 전에 증가

package package_01;
	public class TestClass{
		public static void main(String[] args) {
			
			int i = 0;
			System.out.println(++i);	// 1
			System.out.println(i);		// 1
		}
	}

 


Boolean

 

참 또는 거짓의 값을 갖는 자료형을 불 자료형이라고 한다. (boolean = true or false)

boolean isSuccess = true;
boolean isFalse = false;

 

  • 불 연산
    • 불 자료형에는 불 연산의 결과값이 대입될 수 있다.
    • 불 연산은 참, 거짓을 판단하는 연산을 말한다.
    • 이러한 불 연산의 결과는 참 또는 거짓이므로 if 문과 같은 조건문에 사용하거나 불 자료형에 대입할 수 있다.
2 > 1	// true
1 == 2	// false
3 % 2	// true
"3".equals("2")	// false

 

  • 조건문
    • 불 연산은 보통 다음처럼 조건문의 판단 기준으로 많이 사용한다.
public static void main(String[] args) {
			
			int base = 180;
			int height = 185;
			boolean isTall = height > base;
			
			if(isTall) {
				System.out.println("키가 큽니다.");
			}
		}

 


문자(char)

 

한 개의 문자 값에 대한 자료형은 char를 이용한다.

char a1 = 'a';

주의할 점은 위와 같이 문자값을 ' (단일 인용부호)로 감싸주어야 한다.

 

public static void main(String[] args) {
			
			char a1 = 'a';
			char a2 = 97;
			char a3 = '\u0061';
			
			System.out.println(a1);	// a
			System.out.println(a2); // a
			System.out.println(a3); // a
		}

 


문자열 (String)

 

문자열이란 문자들로 구성된 문장을 뜻한다.

자바에서 문자열을 나타내는 자료형은 String 이다.

String a = "Happy Java";
String b = "a";
Stirng c = "123";

 

또는 다음과 같이 표현할 수도 있다.

String a = new String("Happy Java");
String b = new String("a");
String c = new String("123");

※ new 키워드는 객체를 만들 때 사용한다.

보통 문자열을 표현할 때는 가급적 첫번째 방식(literal 표기)을 사용하는 것이 좋다.

가독성의 이점과 컴파일 시 최적화에 도움을 주기 때문이다.

 

  • 원시(primitive) 자료형
    • 앞서 보았던 int, long, double, float, boolean, char 자료형을 원시(primitive) 자료형이라고 부른다.
      이런 primitive 자료형은 new 키워드로 그 값을 생성할 수 없다. (정수형, 실수형, 불형, 문자형)
    • primitive 자료형은 literal 로만 값을 초기화할 수 있다.
    • Stirng 은 literal 로 표기가 가능하지만 primitve 자료형은 아니다.
      String 은 literal 표현식을 사용할 수 있다.

    • 원시 자료형의 Wrapper 클래스
      ArrayList, HashMap, HashSet 등은 데이터를 생성할 때 원시 자료형 대신 그에 대응하는
      Wrapper 클래스를 사용해야 한다.

      primitive data type  대신 Wrapper Class를 사용하면 value 대신 object 를 주고 받을 수 있다.
      따라서 코드를 객체 중심적으로 작성하는데 유리하다.
      또한 multi threading 환경에서 동기화를 지원하기 위해서도 Wrapper Class는 반드시 필요하다.
primitive data type Wrapper Class
int integer
long Long
double Double
float Float
boolean Boolean
char Char

 

  • 문자열 내장 메서드

    String 자료형의 내장 메서드 중에서 자주 사용하는 것들에 대해 알아보자.
    • equals
      : equals는 두 개의 문자열이 동일한지를 비교하여 결과값을 return 한다.

    • indexOf
      : indexOf는 문자열에서 특정 문자열이 시작되는 위치(인덱스)를 return 한다.

    • contains
      : contains는 문자열에서 특정 문자열이 포함되어 있는지의 여부를 return 한다.

    • charAt
      : charAt은 문자열에서 특정 위치의 문자(char)를 return 한다.
    • replaceAll
      : replaceAll은 문자열 중 특정 문자열을 다른 문자열로 바꾸고자 할 때 사용한다.

    • substring
      : substring은 문자열 중 특정 부분을 뽑아낼 경우에 사용한다.(시작위치, 끝위치(포함x))

    • toUpperCase
      : toUpperCase는 문자열을 모두 대문자로 변경할 때 사용한다. (소문자: toLowerCase)

    • split
      : split 메서드는 문자열을 특정 구분자로 나누어 문자열 배열로 return 하는 method이다.
public static void main(String[] args) {
			
			/* equals */
			String a = "Hello";
			String b = "java";
			String c = "Hello";
			
			System.out.println(a.equals(b));	// false
			System.out.println(a.equals(c));	// true
			
			
			/* indexOf */
			String d = "Hello java";
			
			System.out.println(d.indexOf("java"));	// 6
			
			
			/* contains */
			String e = "Hello Java";
			System.out.println(e.contains(e));	// true
			
			
			/* charAt */
			String f = "Hello World";
			System.out.println(f.charAt(6));	// W
			
			
			/* replaceAll */
			String g = "Hello World";
			System.out.println(g.replaceAll("World", "Univese"));	// Hello Universe
			
			
			/* substring */
			String h = "Hello World";
			System.out.println(h.substring(0, 4));	// Hell
			
			
			/* toUpperCase / toLowerCase */
			String i = "HELLO world";
			System.out.println(i.toUpperCase());	// HELLO WORLD
			System.out.println(i.toLowerCase());	// hello world
			
			
			/* split */
			String j = "a:b:c:d";
			String[] result = j.split(":");		// {"a", "b", "c", "d"}
			
			
		}

 

  • 문자열 포맷팅

    문자열 포맷팅이란 문자열 안에 어떤 값을 삽입하는 방법이다.
    • 숫자 바로 대입
    • 문자열 바로 대입
    • 숫자 값을 나타내는 변수로 대입
    • 2개 이상의 값 넣기

    • string.format 메서드는 포맷팅된 문자열을 return 한다.
      따라서 포맷팅된 문자열을 출력하려면 다음 처럼 System.out.println 메서드를 함께 사용해야 한다.

      하지만 System.out.printf 메서드를 사용하면 String.format 메서드 없이도 동일한 형식으로
      포맷팅 된 문자열을 출력할 수 있다.
public static void main(String[] args) {
			
			
			System.out.println(String.format("I eat %d apples.", 3));
			System.out.println(String.format(("I eat %s apples."), "five"));	// I eat five apples.
			
			int number = 3;
			System.out.println(String.format("I eat %d apples.", number));
			
			int num = 10;
			String day = "three";
			System.out.println(String.format("I ate %d apples. so I was sick for %s days.", num, day));
			
			// Float
			System.out.println(String.format("%.4f", 3.4213234));
			
			// printf("I eat %s apples\n", "five");			// C language
			// print("I eat {} apples".format("five"))		// Python
			
			/* System.out.printf */
			System.out.printf("I eat %d apples.", 3);
		}
728x90
반응형

'Language > Java' 카테고리의 다른 글

Java - List  (0) 2023.03.25
Java - Array  (0) 2023.03.25
Java 자료형 - StringBuffer  (0) 2023.03.25
자바 소스코드 기본 구조  (0) 2023.03.24
자바 주요 특징  (0) 2023.03.24

+ Recent posts