mim
mim 코딩 기록
mim
  • 분류 전체보기 (131)
    • 백엔드 과정 (108)
      • Java (50)
      • Oracle(SQL) (19)
      • jdbc (6)
      • html css (4)
      • JavaScript (5)
      • Servlet (12)
      • Spring (3)
      • 자바 예습 (8)
    • 개발지식 (12)
      • CS공부 (9)
      • 세미나및교육 (2)
    • 자격증 (6)
      • 네트워크관리사 (5)
    • Project (3)
    • Error Note (1)

블로그 메뉴

  • 깃허브

태그

  • 국비학원
  • 자바
  • 국비
  • 반복문
  • JDBC
  • 오라클
  • 서블릿
  • SQL
  • java
  • 데이터베이스
  • oracle
  • 배열
  • 문제풀이
  • Servlet
  • 국비교육

인기 글

최근 글

전체 방문자
오늘
어제

티스토리

반응형
hELLO · Designed By 정상우.
mim

mim 코딩 기록

백엔드 과정/Java

[Java] day3. 간단한 변수 선언 문제 정리

2021. 12. 20. 20:00
반응형

 

과제는 아니라 제출하진 않아도 되는 간단한 문제 3개를 풀어보았다. 그럼에도 고칠 부분이 있어 정리해보았다.

 

 

문제 1

/* 정수형 변수 2개를 선언하여  각 20과 30으로 초기화 한 후
 * 두 수의 더하기, 빼기, 곱하기, 나누기, 나머지를 다음과 같이 출력하세요
 * 
 * -- 출력 예시 --
 * 더하기 결과  : 50
 * 빼기 결과 : -10
 * 곱하기 결과 : 600
 * 나누기한 몫 : 0
 * 나누기한 나머지 : 20
 * */

 

작성한 코드)

		int inum1 =20;
		int inum2 =30;
	
		System.out.println("더하기 결과: " + (inum1 + inum2));
		System.out.println("빼기 결과: " + (inum1 - inum2));
		System.out.println("곱하기 결과: " + (inum1 * inum2));
		System.out.println("나누기한 몫: " + (inum1 % inum2));
		System.out.println("나누기한 나머지: " + (inum1 % inum2));

 

-> 처음엔 20, 30의 int 변수 선언 후, 연산된 값을 저장하는 result 변수도 따로 변수 선언했다.

출력값에는 result 변수를 넣었는데, 굳이 결과값에 대한 변수를 5개나 선언해야 하나? 해서 
주어진 문제가 간단해서 출력값에 연산자를 넣어 수정했다.

 


문제 2

/* 사각형의 넓이와 둘레를 구하는 문제이다.
 * 너비 12.5 높이 36.4를 변수에 저장하고
 * 각 넓이와 둘레를 계산해 변수에 담고 아래와 같이 출력되도록 하시오
 * 
 * -- 출력 예시 --
 * 면적 : 455.0
 * 둘레 : 97.8
 *  */

 

처음 작성한 코드)

		double height = 36.4;
		double width = 12.5;
		
		System.out.println("면적:" + height*width );
		System.out.println("둘레: " + 2*(height + width));

-> 나는 출력값인 둘레와 면적을 변수선언 하지 않았는데 변수 선언을 한 팀원이 많았다.

 

수정한 뒤 )

		double height = 36.4;
		double width = 12.5;
        
		double area = height * width ;
		double perimeter = (height + width) * 2 ;
        
		
		System.out.println("면적:" + area);
		System.out.println("둘레:" + perimeter);

-> 문제 1번과 같이 10+10 =20 같은 단순 숫자 연산일때와 다르게 의미를 가진 면적 = 너비 *높이 ; 같은 연산은 변수명을 작성하는 것이 맞다. 출력값이 어떤 의미인지 누가 봐도 알기 쉽게 되었고, 이게 바로 변수의 재 사용성, 유지보수성을 높게 한다는 의미인 것 같다!!

 


문제 3

/* 국어점수 80.5점, 수학점수 50.6점, 영어점수 70.8점을 실수 형태로 저장한 뒤
 * 총점과 평균을 정수 형태로 출력하세요
 * 
 * -- 출력 예시 --
 * 총점 : 201
 * 평균 : 67
 *  */

 

처음 작성한 코드)

		double koreanScore = 80.5;
		double mathScore = 50.6;
		double englishScore = 70.8;
		
		double sum = koreanScore+ mathScore + englishScore;
		int avg = (int)sum /3 ;

		System.out.println("총점 :" + (int)sum);
		System.out.println("평균: " +avg);

-> 아니 변수명 길어도 너무 길고 koreanScore 너무 직역이라 이걸 어떻게 하나? 생각했는데 팀원들 코드를 보니까 kor / mat / eng 로 쓰면되는 거였다. 나만 바보였군.

 

수정한 뒤)

		double kor = 80.5;
		double mat = 50.6;
		double eng = 70.8;
		
		int sum = (int)(kor + mat + eng);
		int avg = (int)(sum /3);
		
		System.out.println("총점: " +sum);
		System.out.println("평균: " +avg);

-> 변수명보다 두번째 실수 !!! 강제 자료형 변환을 총점은 출력값 부분에서, 평균은 변수선언에서 따로 하는 실수 !!!
너무 웃기고 바보같다. 정리하니까 이렇게 간단명료한 것을. 부끄러우면서도 재밌다고 느껴진 부분이었다. 글을 교정하는 것과 비슷하게 느껴졌다. 

 

 

 

나중엔 이 게시글을 지워야 할지도 모르겠다 ㅎ..

낼도 잘 배워보자 !! 화이팅 !!

반응형
저작자표시 비영리 변경금지 (새창열림)

'백엔드 과정 > Java' 카테고리의 다른 글

[Java] day5. 메소드  (0) 2021.12.22
[Java] day4. 연산자  (0) 2021.12.21
[Java] day3. 변수 명명 규칙/ 상수 / 타입변환(casting)  (0) 2021.12.20
[Java] day2. 변수 자료형  (0) 2021.12.17
[Java] day1.자바 프로그래밍 시작하기  (0) 2021.12.16
    mim
    mim
    개발자 취준생

    티스토리툴바