[K-digital] Today I Learned #8


오늘은 Java에서 제공하는 package를 import 해보고 사용해보는 실습, 예외 처리, Amateras UML 툴을 설치해서 사용해보는 실습을 해보았다.

1. Package import

이 때 했던 실습 중, String class API를 사용한 실습에 대하여!
equalsIgnoreCase(), toLowerCase(), endsWith() 사용

str = "JAVA";
if (str == "JAVA") {
  System.out.println("JAVA");
}

if (str.equalsIgnoreCase("JAVa")) { // 대소문자 무시 비교
  System.out.println("JAVa");
}

String img = "Fall.jPg";
img = img.toLowerCase(); //소문자로 바꾸기
if (img.endsWith("jpg")) {
  System.out.println("가을입니다.");
}

boolean sw = img.endsWith(".jpg") || img.endsWith(".gif") || img.endsWith(".png");
if (sw == true) {
  System.out.println("JPG, GIF, PNG 전송 가능");
}

보통 문자열 비교할 때 자주 쓰이는 기능들을 다뤄보았다.
결과는, 요렇게 출력된다!

JAVA
JAVa
가을입니다.
JPG, GIF, PNG 전송 가능

이번엔 DecimalFormat() 사용해보기!

DecimalFormat df = new DecimalFormat("#,###,###");
String pay = df.format(2500000);
System.out.println(pay);

df = new DecimalFormat("₩ #,###,###원");
pay = df.format(2500000);
System.out.println(pay);
        
String itpay = String.format("₩ %,d원", 3200000);
System.out.println(itpay);

에 대한 결과는

2,500,000
₩ 2,500,000원
₩ 3,200,000원

이렇게 출력됨을 확인할 수 있다.

마지막으로 SimpleDateFormat() 을 사용해보았다.

SimpleDateFormat sd = new SimpleDateFormat();
String date1 = sd.format(new Date());
System.out.println(date1);
        
sd = new SimpleDateFormat("yyyy-MM-dd");
date1 = sd.format(new Date());
System.out.println(date1);
        
sd = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
date1 = sd.format(new Date());
System.out.println(date1);
        
//상품주문코드 생성 시 사용
sd = new SimpleDateFormat("yyyyMMdd_hhmmss");
date1 = "PRO"+sd.format(new Date());
System.out.println(date1);

이렇게 출력되는 형식을 지정해 줄 수 있었다!
따라서 상품주문코드 및 주문번호생성에 사용될 수 있다고 알려주셨다(신기,,)

참고 : MM(Month), mm(minute)이므로 헷갈리지 않기!

2. 예외 처리

예외가 발생하였을 때 프로그램이 그냥 종료되어 버리면 심각한 문제를 초래할 수 있기에 예외를 처리해주어서 프로그램의 비정상 종료를 막고 안정적인 루틴대로 흘러갈 수 있도록 해준다.
try-catch-finally 문 으로 예외 처리를 할 수 있다.

try{
  예외가 발생할 가능성이 있는 실행문
}
catch{
  예외가 발생하면 예외를 처리
}
finally{
  무조건 실행해야 하는 문장
}

로 구성되어 있다.
오늘 실습했던 코드이다.

public static void main(String[] args) {
    int cnt = 0;
    int avg = 0;
 
    try {
      cnt = Integer.parseInt(args[0]);
      avg = 260 / cnt;
      
      String str = null;
      System.out.println(str.toLowerCase());
      
    } catch (NumberFormatException e) {
      System.out.println("정수를 입력하세요. 예) 1 ~ ");
    } catch (ArithmeticException e) {
      System.out.println("0으로 나눌 수 없습니다.");
    } catch (NullPointerException e) {
      System.out.println("객체가 생성되지 않았습니다.");
    } catch (Exception e) {
    System.out.println("알수 없는 예외가 발생했습니다.");
    }

    System.out.println("평균: " + avg);
    System.out.println("과목수: " + cnt);
 
  }

terminal 에서 실행시키는 코드이며 여러 개의 catch문을 작성하여 다중 예외 처리를 실습하였다!

3. Amateras UML 설치

Java의 상속을 배우면서 복잡한 상속 관계를 UML다이어그램으로 제공해주는 Amateras UML을 설치하였다.
아래의 사이트를 참고하여 설치하였다.
Amateras UML 설치법 참고한 사이트


Help탭의 Install New Software 에 가서

Name : Amateras
Location : https://takezoe.github.io/amateras-update-site/

입력 후 Add!
설치가 완료되면 재부팅하라는 팝업창이 뜨며 재부팅 하면 끝!

만들고자하는 패키지에 우클릭 -> New -> Others

이렇게 설치된 걸 확인 가능하고 Class Diagram을 클릭!


원하는 클래스들을 드래그 하면 이렇게 상속관계를 다이어그램으로 보여준다.


오늘의 오늘 : 7시간 수업 후 1시간 복습 시간에 모든걸 다 정리하려고 하니 역시나 어렵다... 또 단순히 이 포스트에 내 것으로 만든 공부를 정리하는 것이 아닌 그 날의 수업을 까먹지 않기 위해 부랴부랴 적는 듯하여 이것이 맞나 싶음,,, 하지만 이렇게라도 해서 잊지않기 위한 몸부림 ㅠㅠ 고작 이런게 어렵다니유,,,

좋은 웹페이지 즐겨찾기