Java

연산자, Args, printIn/printf, 형 변환

hs_developer 2022. 5. 1. 19:05

연산자

 

public class test {

	public static void main(String[] args) {

		/*
		 * String 문자열 타입을 int 정수 타입으로 변경하려면?
		 * Integer.parseint("1") : 문자열 1 -> 정수 1
		 * Double.parseDouble("12.5"); 문자열 12.5 -> 실수 타입 12.5
		 * Float.parseFloat("5") : 문자열 5 -> 실수 타입 5
		 */
		
		String su1 = "5";
		String su2 = "3";
		System.out.println("두 수 더하기: " + (su1 + su2));
		
		
		/*
		 * 문자열 su1, su2를 정수 타입으로 변환 후 계산하자
		 * wrapper class : 기본형과 클래스형간의 변환을 위한 클래스(Integer, Double, Long)
		 */
		
		int num1 = Integer.parseInt(su1);
		int num2 = Integer.parseInt(su2);
		int result = num1 + num2;
		
		System.out.println("변환 후 두 수 더하기: " + result);
		System.out.println("변환 후 두 수 빼기: " + (num1 - num2));
		System.out.println("변환 후 두 수 곱하기: " + (num1 * num2));
		System.out.println("변환 후 두 수 나누기: " + (num1 / num2));
	}

}

 

// 결과 값

두 수 더하기: 53
변환 후 두 수 더하기: 8
변환 후 두 수 빼기: 2
변환 후 두 수 곱하기: 15
변환 후 두 수 나누기: 1

 

 

 

 

Args 다루기

 

public class test {

	public static void main(String[] args) {

		String name = args[0];
		int java = Integer.parseInt(args[1]);
		int oracle = Integer.parseInt(args[2]);
		
		int result = java + oracle;
		
		System.out.println("내 이름은 " + name);
		System.out.println("자바 점수는 " + java);
		System.out.println("오라클 점수는 " + oracle);
		System.out.println("두 과목 합계는 " + result + "입니다.");
		
		
	}

}

 

 

 

// 결과 값

내 이름은 jh
자바 점수는 80
오라클 점수는 75
두 과목 합계는 155입니다.

 

 

 

printf와 printIn 차이점

 

public class test {

	public static void main(String[] args) {

		int num1 = 10, num2 = 20;
		int num3 = num1 + num2;
		
		System.out.println(num1 + "+" + num2 + "=" + num3);
		System.out.printf("num1의 값은 %d, num2의 값은 %d, num3의 값은 %d입니다.", num1, num2, num3);
		
		/*
		 * printf를 이용해 출력, 변수 명은 name, age
		 * 
		 * 안녕하세요. 제 이름은 jh입니다.
		 * 나이는 25세입니다.
		 */
		
		String name = "jh";
		int age = 24;
		
		System.out.printf("\n안녕하세요. 제 이름은 %s입니다. \n나이는 %d입니다.", name, age);
		
	}
}

 

// 결과 값

10+20=30
num1의 값은 10, num2의 값은 20, num3의 값은 30입니다.
안녕하세요. 제 이름은 jh입니다. 
나이는 24입니다.

 

 

printIn은 띄어쓰기가 된다. printf는 한 칸 넘어가는 것이 안 된다. 

 

%d, %s 쓰고, 들어가는 변수 값을 뒤에 쓸 경우 printf로 써야한다.

 

 

 

 

기본 자료형

 

 

 

형 변환

 

형 변환을 위해서는 형을 맞춰줘야 한다.

 

byte a = -127;
byte b = (byte)128; // byte 형을 맞춰준다.

System.out.println("a = " + a);
System.out.println("b = " + b);

// 결과 값
a = -127
b = -128

 

// 강제 형 변환 (cast 연산자)
int x = 7;
int y = 4;
		
System.out.println(x/y); // 정수형끼리 계산은 무조건 정수형
System.out.println((double)x/y); // double로 변환했기에 결과도 double로 산출
System.out.println(x/(double)y); // 수식 중 double이 있을 경우 결과도 double로 산출


// 결과 값
1
1.75
1.75

 

double d = 100.0;
int i = 100;
int result = (int)d+i;
double result2 = (double)d+i;
		
System.out.println("result = " + result);
System.out.println("result2 = " + result2);


// 결과 값
result = 200
result2 = 200.0

 

 

예제 문제

 

메인 parameter 값으로 3과목의 점수를 읽어서(args로) 총점과 평균을 출력하시오. (소수점 이하 두 자리)
소수점 이하 두 자리기에 printf로 하기
변수는 java, jsp, spring, tot(나누기 3)

결과 값: java = 88, jsp = 77, spring = 68;
총점 : 233
평균 : 77.66(double)

 

// 방법 1

public class test {

	public static void main(String[] args) {

		// 변수
		int java = 88, jsp = 77, spring = 68;
		
		// 계산
		int tot = java + jsp + spring;
		double avg = (tot/3.0);
		
		// 출력
		System.out.printf("java=%d, jsp=%d, spring=%d\n", java, jsp, spring);
		System.out.println("총점: " + tot);
		System.out.printf("평균: %f ", avg);
	}

}


// 결과 값

java=88, jsp=77, spring=68
총점: 233
평균: 77.666667

 

 

// 방법 2

public class test {

	public static void main(String[] args) {

		// 변수
		int java = Integer.parseInt(args[0]);
		int jsp = Integer.parseInt(args[1]);
		int spring = Integer.parseInt(args[2]);
		
		// 계산
		int tot = java + jsp + spring;
		double avg = tot/3.0;
		
		// 출력
		System.out.printf("java=%d, jsp=%d, spring=%d\n", java, jsp, spring);
		System.out.println("총점: " + tot);
		System.out.printf("평균: %.2f\n", avg); // 소수점 2자리까지 출력
	}

}

// 결과 값

java=88, jsp=77, spring=68
총점: 233
평균: 77.67

 

 

 

 

 

reference 변수 이용해 쭉 출력하기

 

 

public class test {

	public static void main(String[] args) {

		char a = 'A';
		char b = '가';
		String str  = "hello";
		String str2 = new String("Happy Day"); // string을 이용한 reference 변수
		
		System.out.println(a);
		System.out.println(b);
		System.out.println(str);
		System.out.println(str2);
		
		// 실행 단계에서 문자열을 읽어와서 변수에 저장
		String name = args[0];
		String city = args[1];
		String age = args[2];
		
		System.out.println("이름은 " + name + "이고, 사는 지역은 " + city +"입니다. 나이는 " + age + "세입니다.");
		
		
	}

}

 

// 결과 값

A
가
hello
Happy Day
이름은 jh이고, 사는 지역은 서울입니다. 나이는 25세입니다.

'Java' 카테고리의 다른 글

반복문 for  (0) 2022.05.10
증감 연산자  (0) 2022.05.03
Scanner 클래스  (0) 2022.05.01
SET, GET 사용 이유와 예제  (0) 2022.03.29
[예제] 객체 간 협력  (0) 2022.03.23