◎ JAVA

문자

  • ex) 글자, 글꼴, 인코딩, ...
  • 프로그래밍에서 글자를 표현하기 위한 방식이다.
  • 최초 : 미국인 개발, 미국인이 사용 가능한 글자 128개를 저장한다.(ASCII)
  • 변화 : 유럽 전파, 유럽인들까지 사용 가능하도록 256글자로 확장(확장 ASCII, ISO-8859-1)
  • 최종 : 전세계 전파, 전세계 글자를 통합하기 위해 Unicode를 제정(65,536자)
  • 유니코드의 표현 방식 중 UTF-8이라는 방식이 존재한다.(세계 통일 직전)

문자열(String)

  • 문자열은 참조형 데이터(reference type)이다.
  • 반대되는 표현은 원시형 데이터(primitive type)이다.
  • 원시형 데이터는 간단하게 사용하는 크기가 정해진 데이터를 말한다.(총 8가지)
  • 참조형은 주문제작형태이므로 크기를 알 수 없다.
  • 참조형은 주문제작할 정도로 복잡하므로 참조변수(리모컨)가 존재한다.
  • 참조변수를 이용하여 대상의 기능을 사용할 수 있다.
  • 더하기는 예외적으로 가능하다. (연결하기 위한 용도)

이스케이프 문자(Escape sequence)

  • 탭(Tab), 엔터(Enter) 등 표시를 해야하지만 사용할만한 글자가 없는 경우
  • 역슬래시()와 알파벳을 조합하여 명령을 만든다.
  • \t (tab), \n(new-line, enter)
  • 출력이 불가능한 글자와 조합하여 출력 가능하도록 변경할 수 있다.

표준 입력

  • 표준 입력 통로(System.in)에서 데이터를 가져오는 것이다.
  • 내용이 정해져있는 출력과 달리 시기와 내용이 불확실하다.
  • ASCII 코드값을 읽어온다.

Scanner

  • Scanner를 System.in에 결합시켜서 사용한다.
  • 도구 생성
    - 자동 import : Ctrl + Shift + o
    - new는 우측에 적힌 내용을 새로 만들라는 의미의 연산자(동적할당연산자)
    - sc는 참조변수(리모컨)이며 생성한 입력도구를 사용하기 위한 변수
    		Scanner sc= new Scanner(System.in);
    	
    		System.out.println("정수를 입력해주세요");
    		int n = sc.nextInt();//int 값 한 개 읽어주세요
    		System.out.println("n = " + n);
    	
    		System.out.println("정수를 입력해주세요");
    		int m = sc.nextInt();
    		System.out.println("m = " + m);
    	
    		System.out.println("실수를 입력해주세요");
    		double d = sc.nextDouble();
    		System.out.println("d = " + d);
    
    		//모든 사용을 마치고 정리
    		sc.close();
               

표준 출력(Standard Output)

  • 표준 출력 통로(System.out)을 통해 데이터를 내보내는 행위

  • System.out.println() - 내용을 1줄 단위로 출력하는 명령

  • System.out.print() - 내용을 그대로 출력하는 명령

  • System.out.printf() - C언어 방식의 출력 명령(비추천)

    	public class Test01 {
    		public static void main(String[] args) {
    
    			System.out.println("hello");
    			System.out.println("goodbye");
    
    			System.out.print("hello\n");
    			System.out.print("goodbye\n");
    	
    			System.out.printf("hello\n");
    			System.out.printf("%d + %d = %d\n", 10, 20, 30);
    
    		}
    	}
profile
Backend Developer

0개의 댓글