본문 바로가기
Web

[Java] 증감 연산자, 거듭제곱, 삼항 연산자, 파일 입출력

by DuncanKim 2022. 6. 12.
728x90

[Java] 증감 연산자, 거듭제곱, 삼항 연산자, 파일 입출력

1. 증감 연산자

public class Main {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		int a = 10;
		
		System.out.println("현재 a는 " + a + "입니다." );
		a++;
		System.out.println("현재 a는 " + a + "입니다." );
		// 출력 전에 ++ 연산
		System.out.println("현재 a는 " + ++a + "입니다." );
		// 출력 후에 ++ 연산
		System.out.println("현재 a는 " + a++ + "입니다." );
		System.out.println("현재 a는 " + a + "입니다." );
	}
}
/* 출력
현재 a는 10입니다.
현재 a는 11입니다.
현재 a는 12입니다.
현재 a는 12입니다.
현재 a는 13입니다.
*/

증감 연산자는 ++, --가 있다.

 

변수 앞에도 붙일 수 있고, 뒤에도 붙일 수 있는데, 그 차이는

앞에 ++가 붙어있을 경우, ++ 연산을 하고 메소드가 실행된다.

위에도 나와 있는데, 주석으로 '출력 전에 ++ 연산'이라는 부분을 보면 출력으로 12가 나와 있는 것을 볼 수 있다.

그렇지만, 뒤에 ++가 붙어 있는 '출력 후에 ++ 연산'이라는 부분을 보면 출력으로 똑같이 12가 나와 있는 것을 볼 수 있다.

println이 실행되고 나서 a에 1을 증가시켰기 때문이다.

그래서 그 다음 라인에서 println을 했을 때 a만 출력을 시켜도 13이 나오게 되는 것이다.

 

 

2. 거듭제곱

double c = Math.pow(3.0, 20.0);
System.out.println("3의 20제곱은 " + (int) c + "입니다.");

Math.pow(a, b)를 쓰면 a의 b제곱을 구할 수 있다.

 

3. 삼항 연산자

public static void main(String[] args){
    
    int a = 10;
    int b = 7;
    System.out.println(max(a,b));
}
// '?' 사용 방법 (함수로 풀기) ( )? 참일때 : 거짓일때
static int max(int a, int b) {
	int result = (a > b) ? a : b;
	return result;
}

true 또는 false를 판단해주는 식이다.

 


(a 비교 연산자 b) ? (참일 경우 나오는 값) : (거짓일 경우 나오는 값)


으로 쓸 수 있다.

 

 

4. 파일 입출력

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		/*
		Scanner sc = new Scanner(System.in);
		System.out.print("정수를 입력하세요 : ");
		int i = sc.nextInt();
		System.out.println("입력된 정수는 " + i + "입니다.");
		sc.close();
		*/
		// 파일을 처리할 수 있다.
		// 프로젝트 파일에 txt 파일이 있는 경우 사용이 가능하다.
		File file = new File("input.txt");
		try{
			Scanner sc = new Scanner(file);
			while(sc.hasNextInt()){
				System.out.println(sc.nextInt() * 100);
			}		
		}catch (FileNotFoundException e){
			System.out.println("파일 읽어오는 도중 오류 발생");
		}
        sc.close();
	}
}


// input.txt파일 안의 내용
// 1 2 3 4 5 6

// 결과
/*
100
200
300
400
500
600
*/

Scanner 입출력은 주석 안에 있다.

File 입출력이 기억이 안났기 때문에 file 입출력을 중심으로 포스팅 한다.

io.File을 import 해야 File 클래스를 쓸 수 있다.

File 생성자의 매개변수를 "input.txt"로 해주면, 같은 프로젝트 폴더 안에 있는 "input.txt" 파일을 불러온다.

Scanner의 매개변수로 file을 집어넣으면, console에 파일의 내용들이 입력되는 것이다.

 

hasNextInt()는 받아온 파일 안의 데이터의 값이 정수인지를 판별해주어 리턴값으로 boolean을 반환한다.

 

728x90

'Web' 카테고리의 다른 글

[Java] 배열, 다차원 배열  (0) 2022.06.13
[Java] 원 찍기  (0) 2022.06.13
[Java] 반복 함수, 재귀 함수  (0) 2022.06.13
[Java] 사용자 정의 함수  (0) 2022.06.13
[Java] 자바 데이터 타입, 사칙연산, substring  (0) 2022.06.12

댓글