728x90

Scanner

  • 읽은 바이트를 문자, 정수, 실수, 불린, 문자열 등 다양한 타입으로 변환하여 리턴하는 클래스
  • java.util.Scanner
  • Scanner는 입력되는 키 값을 공백으로 구분되는 토큰 단위로 읽는다.
  • 공백 문자 : ' \t ',' \f ',' \r ',' ',' \n '
  • 개발자가 원하는 타입 값으로 쉽게 읽을 수 있다.
  • 프로그램을 실행시키고 콘솔창에 문자열을 입력하고 'Enter'를 누르면 된다.

 

Scanner 사용법

import java.util.Scanner; //기본적으로 import 문 필요 

Scanner scan = new Scanner(System.in); // Scanner 객체

 

Scanner 메소드

메소드  설명 
 String next()   다음 토큰을 문자열로 리턴 
 byte nextByte()  다음 토큰을 byte 타입으로 리턴 
 short nextShort()   다음 토큰을 short 타입으로 리턴 
 int nextInt()   다음 토큰을 int 타입으로 리턴
 long nextLong()   다음 토큰을 long 타입으로 리턴 
 float nextFloat()   다음 토큰을 float 타입으로 리턴 
 double nextDouble()   다음 토큰을 double 타입으로 리턴 
 String nextLine()   ' \n '을 포함하는 한 라인을 읽고 ' \n '을 버린 나머지만 리턴 
 boolean hasNext()   현재 입력된 토큰이 있으면 true, 아니면 새로운 입력이 들어올 때까지 무한정 기다려서, 새로운 입력이 들어오면 그 때 true 리턴. ctrl + z 키가 입력되면 입력 끝이므로 false 리턴 
 void close()   Scanner의 사용 종료 

 

Scanner 예제

import java.util.*;
 
public class Main {
 
    public static void main(String[] args) {
        
        Scanner scan = new Scanner(System.in);
        
        System.out.println("나이를 입력해 주세요.");
        int age = scan.nextInt(); //정수형만 받는 메소드
        
        System.out.println(age);        
 
    }
 
}

 

728x90
728x90

==

  • 비교를 위한 연산자
  • 주소의 값을 비교한다.(Call By Reference)
  • 주소의 값이란 실제 내용의 값이 아닌 자료의 위치의 값

 

equals()

  • equals()는 객체끼리 내용을 비교한다.(Call By Value)

 

equals(), == 비교 코드

public class Main {

    public static void main(String[] args) throws Exception{

        String str1 = "abc";
        String str2 = str1;
        String str3 = new String("abc");

        // == 연산자는 주소를 비교.
        System.out.println(str1 == str2); // true
        // str2 에 st1 값을 넣었으므로 주소를 같이 공유 한다.

        System.out.println(str1 == str3); // false
        // str1 과 str3는 각각 생성 되었으므로 주소가 다르다.

        // equals() 는 내용을 비교한다.
        System.out.println(str1.equals(str2)); // ture
        System.out.println(str1.equals(str3)); // true
        // 내용을 비교하기 때문에 abc 내용이 같으므로 true 가 반환.

    }
}
728x90

'Java & Spring' 카테고리의 다른 글

[JAVA] BufferedRead, BufferedWriter  (0) 2022.02.22
[JAVA] Math.max(), Math.min() 최대,최소값 구하기  (0) 2022.02.21
[JAVA] Scanner 스캐너  (0) 2022.02.20
[Spring] @RequestMapping 사용법  (0) 2022.02.11
[JAVA] Map이란  (0) 2022.02.10
728x90

@RequestMapping

 

  • 요청 정보를 매핑
  • 해당 url이 호출되면 해당 메소드가 호출
  • 어노테이션 기반 동작이기 때문에 메소드 이름은 자유
  • 방식은 GET, POST, PUT, DELETE
@RequestMapping(value = "/url", method = RequestMethod."방식")

 

 

@RequestMapping 예제

사실상 기본 예제는 스프링으로 프로젝트만 만들어도 바로 볼 수 있다.

@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
    logger.info("Welcome home! The client locale is {}.", locale);

    Date date = new Date();
    DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);

    String formattedDate = dateFormat.format(date);

    model.addAttribute("serverTime", formattedDate );

    return "home";
}

 

참고

  • @RequestMapping을 많이 사용하긴 했지만 스프링 4.3부터 새로운 어노테이션 5개가 추가됨.
  • @PostMapping
  • @GetMapping
  • @PutMapping
  • @DeleteMapping 
  • @PatchMapping

위 5개 어노테이션은 따로 정리 해보자

 

728x90
728x90

Map

  • Map은 리스트나 배열처럼 순차적으로 해당 요소 값을 구하지 않고 Key를 통해 Value를 얻는다.
  • 값(Value)은 중복될 수 있지만, Key는 고유한 값(Unique)을 가져야 한다.
Map<String, String> map = new HashMap<>();

 

Map 예제

Map<String, String> map = new HashMap<>();

map.put("name", "doik");
map.put("age", "33");

System.out.println(map.get("name")); // "doik"

 

결론

  • Key를 통해 Value를 찾는다.
  • Key는 중복될 수 없지만, Value는 중복될 수 있다.
  • Key로 Value를 찾기 때문에 순서를 유지하지 않아도 된다.
  • Key에 해당하는 값이 이미 존재하면 값을 갱신한다.
728x90

+ Recent posts