Jshell로 여유롭게 놀았어요.

3496 단어 jshellJava

개요

  • 본고는 Jshell의 사용 방법을 간략하게 설명할 것이다
  • 배경.

  • 며칠 전에 JUG CCC
  • 에 참가했어요.
  • 거기 짱@nowokay Jshell에서 Java 11에 대해 얘기했다
  • 대상

  • Jshell 초보자
  • Java 쓰기가 귀찮으신 분
  • 준비물

  • 맥만 터미널
  • 전제는 docker
  • 가 있다는 것이다.

    환경 구조

  • 아래 명령
  • 을 클릭하면 됩니다.
    docker run -it openjdk:11 jshell
    
    그러면

    이렇게 하면 쓸 수 있어요.

    일단 한번 해보도록 하겠습니다.

    jshell> String hoge = "hoge"
    hoge ==> "hoge"
    

    /vars

  • 내가 만든 변수 알려줘
  • jshell> /vars
    |    String hoge = "hoge"
    |    List<String> list = []
    |    String test = "test"
    

    / imports 두드리기

  • 지금 유행하는 거 알려줘
  • jshell> /imports
    |    import java.io.*
    |    import java.math.*
    |    import java.net.*
    |    import java.nio.file.*
    |    import java.util.*
    |    import java.util.concurrent.*
    |    import java.util.function.*
    |    import java.util.prefs.*
    |    import java.util.regex.*
    |    import java.util.stream.*
    

    다시 시작하고 싶을 때

  • 직접 import
  • 두드리기
    jshell> import java.util.Scanner
    
    이거 역시 인기가 없네요.
  • 사용 시 Shift+tab을 누르고 떠나는 즉시 i
  • 를 누릅니다.
    jshell> ZonedDateTime
    0: Do nothing
    1: import: java.time.ZonedDateTime
    Choice:
    Imported: java.time.ZonedDateTime
    
    이렇게 하면 돼요. 이렇게 import.
    jshell> ZonedDateTime now = ZonedDateTime.now()
    now ==> 2018-12-21T16:14:20.037591Z[Etc/UTC]
    

    보충하다

  • 이것은 종착역과 마찬가지로tab키를 누르면 완성
  • jshell> var lsit = List.
    class     copyOf(   of(
    
    이런 느낌은 IDE 완성 타이밍과 같은 타이밍(어쨌든. 완성 후) Tab을 누르면 사용할 수 있어요.

    줄 바꿈

  • 이런 목록을 만들었습니다
  • jshell> var list = List.of("hoge","fuga","piyo")
    list ==> [hoge, fuga, piyo]
    
  • 이 녀석에 대해 늘 처리할 것을 많이 쓴 것 같아서 줄을 바꾸고 싶은데 적당한 곳에서 줄을 바꾸면 집행된다.
  • jshell> var result = list.stream().filter(word -> word.startsWith("h"))
    result ==> java.util.stream.ReferencePipeline$2@31610302
    
  • 이건 정말 슬프다
    jshell> var result = list.stream().filter(word -> word.startsWith("h")
       ...>  ).collect(Collectors.toList())
    result ==> [hoge]
    
    
    이런 느낌으로 ()을 연 상태거나.이전 줄의 "return"은 줄을 바꿀 수 있습니다

    /exit

  • 의외로 알려지지 않았을 수도 있지만 이렇게 하면 벗을 수 있다
  • jshell> /exit
    |  Goodbye
    

    /help

  • 어려운 점이 있으면 help
  • 참조

    감상

  • Jshell이 상당히 기쁘다
  • IDE에 의해 보완된 부분이 많기 때문에 import의 반에 신경을 쓰지 않는 것이 좋은 계기가 될 수 있다
  • 중간에 자바 11 코드를 삽입했지만 보시다시피 Oracle에서 JDK를 설치하지 않아도 터미널에서 자바 11을 쉽게 시험할 수 있습니다. 좋습니다
  • Sample 프로젝트를 만들기 전에 확인하지 못했던 것들(시간의 변환 등)을 시도할 때 Jshell은 선택의 여지가 많죠
  • 총결산

  • 어쨌든 한 시간 정도 놀았기 때문에 즐겁게 놀 수 없으니 추천하는 사용 장면이나 사용 지령이 있으면 알려주세요
  • 참고 자료


    귀사 Qita의 보도를 참고하게 해 주세요.
    Learn JDK11 with JShell (2018/12/15 JJUG CCC 2018 Fall)

    좋은 웹페이지 즐겨찾기