본문 바로가기

자바(JAVA)
[자바(Java)] 설치, 환경설정, println vs print vs printf(형식 지정자)

1. Java 설치하기

https://jdk.java.net/archive/

11(11.0.1+13) -> windows 64-bit Installer

**나는 윈도우를 사용하기 때문에 위와 같은 순서로 다운받았다.

**저장 폴더 기억하기

cmd로 Java 알아보기

초창기에는 명령 프롬프트에서 보이는 기본 설정들을 다 외워야 했지만 지금은 eclipse 덕분에 다 외우지 않아도 된다!

그렇지만 기본적인 환경설정은 필요하다.

환경설정


2. Eclipse 설치하기

https://www.eclipse.org/

download -> Get Eclipse IDE 2022‑06 하단 작은 글씨 Download Packages -> 오른쪽 하단에 MORE DOWNLOADS -> Eclipse 2021-03 (4.19) -> Eclipse IDE for Enterprise Java and Web Developers  -> windows

 

* eclipse 폴더 안에 있는 eclipse.ini를 메모장으로 열어서 -vm 부분을 수정한다.
C:\OneDrive\class\dev\jdk-11.0.1\bin\javaw.exe


3. 인코딩 설정하기

- encoding : UTF-8


4. 코딩 시작하기

시작하기

위 사진은 new file을 만들 때 뜨는 화면이다.

★★ 체크된 빨간 상자 안에 기본으로 체크가 되어 있는데, 반드시 해제하도록 한다.

클래스 만들기

★★클래스명은 항상 대문자로 시작한다.

밑의 빨간 상자 체크 주의하기(아직은 초기라..)

* 모듈화: 외부 라이브러리를 사용할 수 있게 해줌


// 컴파일

HelloDate.java

 (C:\Program Files\Java\jdk-18.0.2.1\bin)에 HelloDate.java 메모장 파일 저장
**메모장 형식으로 저장하지 않고 모든 파일 형식으로 저장

cmd

- javac.exe 클래스명.java

- java.exe 클래스명


// console 출력


1. System.out.println(
)

    - println 메서드

    - print line > 값을 행 단위로 출력한다. > 값을 출력한 뒤 엔터를 친다.


2. System.out.print()

    - print 메서드

    - 값을 출력한 뒤 엔터를 치지 않는다.


3. System.out.printf()

    - printf 메서드

    - print format > 출력 형식 조작 > 출력

    - 가독성 향상

    - 형식 문자 제공

        ~ 형식 문자, Place Holder

            1. %s > String

            2. %d > Decimal(정수) > byte, short, int, long

            3. %f > Float(실수) > float, double > 소수점 아래 6번째 자리까지 출력

            4. %c > char

            5. %b > boolean

            6. %tF: 연도-월-일  (2023-02-08)

            7. %tF: 시:분:초 (09:32:37)

            8. %tF: 요일  (숫자로)

            %s는 모든 자료형을 출력할 수 있다.(예외) 그렇지만 무조건 형식에 맞는 형식 문자를 사용해야 함!


        ~ 숫자 + 형식문자

            - 숫자: 출력할 너비를 지정한다.

            - 탭문자처럼 출력 내용을 서식 지정하는 역할

            - + : 우측 정렬(default)

            - - : 좌측 정렬

                ~ System.out.printf("[%10d]", 123);


        ~ %숫자1.숫자2f

            - 숫자1: 출력할 너비 지정 > 소수점도 한 자리 차지함!

            - 숫자2: 소수점 아래 자릿수 지정 > 반올림 되어 나타남.


         
~ %,d. %,f

            - 자릿수 표기(천단위 표기, 3자리)


package com.test.java;

public class Ex08_Output {
    public static void main(String[] args) {
	//System.out.println();
	System.out.println(100);
	System.out.println(200);
	System.out.println();

	//System.out.print();
	System.out.print("하나");
	System.out.print("둘");

	System.out.println();
	System.out.println();

	//성적표 출력하기
	String name1 = "홍길동";
	int kor1 = 100;
	int eng1 = 90;
	int math1 = 80;

	String name2 = "아무개";
	int kor2 = 95;
	int eng2 = 77;
	int math2 = 89;

	System.out.println("=============================");
	System.out.println("           성적표");
	System.out.println("=============================");
	System.out.println("[이름]\t[국어]\t[영어]\t[수학]");

	System.out.printf("%s\t%4d\t%4d\t%4d\t\n", name1, kor1, eng1, math1);
	System.out.printf("%s\t%4d\t%4d\t%4d\t\n", name2, kor2, eng2, math2);
	System.out.println();

	System.out.print(name1 + "\t ");
	System.out.print(kor1 + "\t ");
	System.out.print(eng1 + "\t ");
	System.out.print(math1 + "\n");

	System.out.print(name2 + "\t ");
	System.out.print(kor2 + "\t ");
	System.out.print(eng2 + "\t ");
	System.out.print(math2 + "\n");

	System.out.println();

	String name = "홍길동";
	System.out.printf("안녕하세요. %s님. 안녕히 가세요. %s님.\n", name, name);

	//요구사항] insert into tblMember (seq, name, age, address, tel) values (1, '홍길동', 20, '서울시 강남구 역삼동', '010-1234-5678');
	name = "홍길동";
	String seq = "1";
	String age = "20";
	String address = "서울시 강남구 역삼동";
	String tel = "010-1234-5678";

	System.out.printf("insert into tblMember (seq, name, age, address, tel) values (%s, '%s', %s, '%s', '%s')\n", seq, name, age, address, tel);
	System.out.println();

	int a = 100;
	double b = 3.14;
	char c = 'A';
	boolean d = true;

	System.out.printf("문자열: %s\n", name);
	System.out.printf("정수: %d\n", a);
	System.out.printf("실수: %f\n", b);
	System.out.printf("문자: %c\n", c);
	System.out.printf("논리: %b\n", d);

	System.out.println();

    }

}

package com.test.java;

public class Ex09_Output {
    public static void main(String[] args) {

	//숫자 + 형식문자 > 정렬
	int num = 123;

	System.out.printf("[%d]\n", num);
	System.out.printf("[%10d]\n", num);
	System.out.printf("[%-10d]\n", num);
	System.out.println();


	// %.숫자f
	double num2 = 3.581;

	System.out.println(num2);
	System.out.printf("%f\n", num2);
	System.out.printf("%.2f\n", num2);
	System.out.printf("%.1f\n", num2);
	System.out.printf("%.0f\n", num2);

	System.out.printf("%10.1f\n", num2);
	System.out.println();

	// %,d, %,f
	int price = 123456789;

	System.out.printf("금액 : %d원\n", price);
	System.out.printf("금액 : %,d원\n", price);
	System.out.println();

	// 전체 너비 20칸 + 천단위 표기 + 소수점 아래 2자리까지
	double num3 = 1234567.89012345;

	System.out.printf("%,20.2f\n", num3);
	System.out.println();
	System.out.println();
	System.out.println();

	//메뉴판 출력

	// 주의!!! 숫자를 출력할 땐 반드시 단위를 표기해야 함.
	System.out.println("================");
	System.out.println("    음료 가격");
	System.out.println("================");
	System.out.printf("콜라:\t%,6d원\n", 2500);
	System.out.printf("사이다:\t%,6d원\n", 3500);
	System.out.printf("아메리카노:\t%,6d원\n", 5000);
	System.out.printf("케이크:\t%,6d원\n", 12000);


    }
}

public class Example0915__1 {

	public static void main(String[] args) {
		System.out.printf("100+100");
		System.out.printf("%d", 100 + 100);
		System.out.printf("\n");
		
	}

}

public class Example0915__1 {

	public static void main(String[] args) {
		int num1, num2;
		num1 = 5;
		num2 = 10;
		System.out.printf("당신이 입력하신 첫 번째 정수는 %d이고 두 번째 정수는 %d입니다.", num1, num2);
		
	}

}


- %nd: n칸을 띄우고 정수를 출력해라.(총 n칸을 띄운 후, 오른쪽 끝에서부터 왼쪽으로 채운다.)

- %0nd: n칸을 띄우고 정수를 출력하되, 빈 칸(띄운 후 채우고 남은 왼쪽 공간)은 0으로 채워라.

- n보다 주어진 숫자가 더 클 경우, 무시하고 그냥 앞(왼쪽)에서부터 출력한다.

-%n1.n2f: n1칸 띄우고 채우기+소수점 아래 n2째 자리까지 출력

-%0n1.n2f: n1칸 띄우고 채우기+소수점 아래 n2째 자리까지 출력 + 왼쪽 빈 칸은 0으로 채우기