day3

상은👸·2023년 8월 30일
0

뚜벅뚜벅 첫번째

목록 보기
3/26
post-thumbnail

진짜 변수 끝! 연산자 찍먹
내일부터는 찐 연산자

< 변수명 설정 >

  1. 변수명 정할때는 최대한 자세하게 써주자!
    ex) 브랜드명 : 로지텍 -> String brandName = "로지텍";
  1. 정수,실수 나오면 최대한 int,double로 작성!
    (String으로 작성해도 값이 저장되긴 하지만 나중에 골치아파질수도 있기땜시롱..ㅠ)

ex) 상품가격 : 135000 -> int productPrice = 135000;

  1. 변수명은 소문자로! 문장이 두개면 두번째 문장 처음은 대문자로 작성합시다

ex) HDMI포트여부 : true -> boolean hdmiPort = true;

※ boolean HDMI = true; (X)

< 헷갈릴 수도 ㅠㅠㅠ>

4 / 10 을 실행시켜서 결과가 0.4 가 나오는 것을 보여주려고 하는데 아래 계산 결과가 맞지 않습니다.
정상적으로 0.4 가 계산되서 출력되도록 만들어주세요.

int num1 = 4;
int num2 = 10;
double num3 = num1 / num2 ;
System.out.println( num3 );

=>

int num1 = 4;
int num2 = 10;
double num3 = (double)num1 / num2 ;
System.out.println( num3 );

num1/num2를 하면 int/int 라서 정수형 0이 나오게 되서 double 형태인 0.0이 출력이 되게 되는데
(double)num1 / num2 로 강제 형 변환을 시켜주면 double / int 로 바뀌게 되면서 4.0 / 10 이라 0.4가 나오게 된다!

<문자열 + 연산 : 그냥 이어붙여서 문자열로 변환하는 법>

(1)

int num1 = 10;
int num2 = 20;
String s1 = "30";

int num3 = num1 + num2;
String s2 = s1 + num2;

=> num3 : 30
s2 : "3020"

String s3 = num1 + num2;

-> s3은 String인데 num1+num2의 값은 int라서 문자열로 변환해주려면

String s3 = String.valueOf(num1 + num2);

-> String.valueOf(바꿀값)으로 바꿔주거나

String s5 = num1 + num2 + "";

-> 이런식으로 int+int+String으로 구성해서
"30"이라는 문자열 값이 나오도록 한다.

(2)

int num1 = 10;
int num2 = 20;
String s1 = "30";

System.out.println(num1 + num2 + s1);

-> int + int + String -> "3030"
-> 정수끼리 더한다음에 문자열화!

System.out.println(num1 + s1 + num2);

-> int + String + int -> "103020"

System.out.println(s1 + num1 + num2);

-> String + int + int -> "301020"

연습문제1

결과가 7.5가 나오도록 작성하세요

double a = 3.5;
double b = 4.7;
double result = _______________;
System.out.println(result);

=> double result = a + (double)b
=> a를 강제 형변환 해서 정수형으로 만들어주고 b를 더한다 -> 3.5 + 4 = 7.5

연습문제2

계산결과가 12가 나오도록 작성하세요

String a = "3.4";
String b = "4";
______ result = ________;
System.out.println(result);

=> String 문자열을 각각 숫자로 변환해준다
= a는 실수형
-> double d1 = Double.parseDouble(a);
= b는 정수형
-> int i1 = Integer.parseInt(b);
= a와 b가 곱해진 정수형이 나와야하고 a는 실수형이라 정수로 바꿔줘야한다! 근데 double은 int안에 못들어가니까 강제타입변환해준다!
-> int result = (int)d1 * i1; // 12

※ 위의 방법도 좋지만 더 줄일 수 있는 방법도 있다!!

String a = "3,4";
String b = "4";
int result = (int)Double.parseDouble(a) * Integer.parseInt(b);
System.out.println(result);

=> 딱 밑줄 친 부분만 채우려고 하면 이렇게 코드가 작성되는데!!! 이게 더 클린코드다!
-> 위처럼 변수를 지정해서 a를 숫자로 바꾸고 b를 숫자로 바꿀 수도 있지만
Integer.parseInt(문자열), Double.parseDouble(문자열) 이렇게 쓸 수 있다

연습문제3

결과가 2.5가 나오도록 작성하세요

int x = 10;
int y = 4;
___result = ___x/y;
System.out.println(result);

=> double result = (double)x / y
=> 결과가 실수형이니까 변수 앞에 double로 놓고 x/y가 정수/정수 니까 실수/정수로 바꿔줘야 결과가 실수가 나오잖아
그러니까 x를 강제 변환 시켜줘서 앞에 (double) 삽입! 그러면 실수형으로 변환된다!
-> 10.0 / 4 = 2.5

연산자

산술연산자 : + - * / %(나머지)

profile
뒤죽박죽 벨로그

0개의 댓글

관련 채용 정보