자바 기본 배우기 -main method, 주석, 출력문-

1. main method

 

java 실행시 가장 먼저 호출되는 부분

 

application에서 main() 메소드가 없다면 절대로 실행되지 않는다

 

즉 application의 시작은 특정 클래스의 main()을 실행하는 것이다

 

형태는 다음과 같이 고정된 형태이다

 

public static void main(String[] args){}

 

2. 주석(comment)

 

자바는 3가지 주석 제공

 

//는 해당 줄을 주석 처리

 

/* */은 해당 범위를 모두 주석 처리(여러 줄 주석)

 

/** */은 documentation api를 위한 주석

 

이는 어떤 함수나 class 만들때... 그것이 무슨 기능인지 설명하는것

 

파이썬 def 정의할때 바로 아래에 """ """으로 설명하는거 있잖어

 

제목 없음.jpg

 

 

위에 노란색 부분이 /** */로 들어간 주석

 

아무튼 보통은 // 이랑 /* */을 쓰겠지

 

package java01.intro;

public class Intro02_Comment {
	public static void main(String[] args) {
		
		// 해당 기호가 등장한 순간부터 줄 끝까지 주석처리 한다
		
		// int a = 10;
		
		/*
		 해당 범위를 모두 주석처리(여러 줄 주석)
		 */
		
		/**
		 * Documentation API를 위한 주석
		 * 어떤 함수, 클래스를 만들때 그에 대한 설명
		 */
	}

}

 

 

참고로 주석 단축키는 해당 부분 block 처리하고 ctrl + / 누르면 block된 부분 모두 주석처리해줌

 

3. 출력문

 

3-1) print

 

한 줄 출력

 

3-2) println

 

ln은 line의 줄임말이라고 함

 

출력 후에 줄을 바꿔주는 기호가 자동으로 들어감

 

알아서 줄 띄워주는거지

 

python의 print(end='\n')일듯(물론 파이썬은 default이지만..)

 

3-3) prinf

 

print에 format을 활용한 print

 

%d: 정수, %f: 실수, %c: 문자, %s: 문자열

 

package java01.intro;

public class Intro03_PrintTest {
	public static void main(String[] args) {
		//한줄 출력(print)
		System.out.print("Taeyeon");
		
		//한줄 출력하고 한줄 띄우기(println)
		System.out.println("Daehyuck");
	}
}

 

위를 수행하면 결과가 어떨까?

 

print()는 한줄 출력하고 끝이니까 TaeyeonDaehyuck가 나올것 같다

 

제목 없음.jpg

 

 

그러면 다음과 같이 수행한다면?

 

package java01.intro;

public class Intro03_PrintTest {
	public static void main(String[] args) {
		//한줄 출력(print)
		System.out.print("Taeyeon");
		
		//한줄 출력하고 한줄 띄우기(println)
		System.out.println("Daehyuck");
		System.out.println("suzy");
	}
}

 

println은 출력하고 한줄 띄우니까 

 

TaeyeonDaehyucksuzy라고 나올 것 같다

 

제목 없음.jpg

 

 

print 끝에 \n을 넣으면 줄바꿈 가능하다

 

package java01.intro;

public class Intro03_PrintTest {
	public static void main(String[] args) {
		//한줄 출력(print)
		System.out.print("Taeyeon\n");
		//\n을 사용하면 줄바꿈
		
		//한줄 출력하고 한줄 띄우기(println)
		System.out.println("Daehyuck");
		System.out.println("suzy");
	}
}

Taeyeon
Daehyuck
suzy

 

 

\같은 특수문자를 출력하고 싶을때가 있다

 

그 특수문자 앞에 \를 붙여주면 해당 특수문자를 문자로 인식하고 출력해줌

 

package java01.intro;

public class Intro03_PrintTest {
	public static void main(String[] args) {
		//한줄 출력(print)
		System.out.print("Taeyeon\n");
		//\n을 사용하면 줄바꿈
		
		//한줄 출력하고 한줄 띄우기(println)
		System.out.println("Daehyuck");
		System.out.println("suzy");
		
		//특수문자 출력시 \를 붙여주면 해당 특수문자 출력
		System.out.println("\\");
		System.out.println("\"");
	}
}

Taeyeon
Daehyuck
suzy
\
"

 

%d는 정수를 10진수로 출력해준다

 

printf("%d", <정수>)하면 <정수>가 %d에 들어감

 

%o는 8진수로

 

%x는 16진수이고 %X는 대문자로 나옴

 

참고로 16진수는 0~15까지를 사용하는데 10은 a, 11은 b, 12는 c, 13은 d, 14는 e, 15는 f

 

package java01.intro;

public class Intro03_PrintTest {
	public static void main(String[] args) {
		//한줄 출력(print)
		System.out.print("Taeyeon\n");
		//\n을 사용하면 줄바꿈
		
		//한줄 출력하고 한줄 띄우기(println)
		System.out.println("Daehyuck");
		System.out.println("suzy");
		
		//특수문자 출력시 \를 붙여주면 해당 특수문자 출력
		System.out.println("\\");
		System.out.println("\"");
		
		//%d는 정수 formatting
		System.out.printf("%d \n", 10); //10진수
		System.out.printf("%o \n", 10); //8진수
		System.out.printf("%X \n", 10); //16진수 대문자
		System.out.printf("%x \n", 10); //16진수 소문자
	}
}

Taeyeon
Daehyuck
suzy
\
"
10 
12 
A 
a

 

formatting 기호 앞에 숫자 쓰면 그 숫자만큼 칸을 확보하고 해당 formatting값을 출력

 

%4d하면 4칸 확보한 다음에 숫자를 출력하는데 오른쪽 정렬시킴

 

%-4d하면 4칸 확보한 다음에 숫자를 출력하는데 왼쪽 정렬시킴

 

%04d하면 4칸 확보한 다음에 숫자를 출력하는데 빈칸을 0으로 채움

 

package java01.intro;

public class Intro03_PrintTest {
	public static void main(String[] args) {
		//한줄 출력(print)
		System.out.print("Taeyeon\n");
		//\n을 사용하면 줄바꿈
		
		//한줄 출력하고 한줄 띄우기(println)
		System.out.println("Daehyuck");
		System.out.println("suzy");
		
		//특수문자 출력시 \를 붙여주면 해당 특수문자 출력
		System.out.println("\\");
		System.out.println("\"");
		
		//%d는 정수 formatting
		System.out.printf("%d \n", 10); //10진수
		System.out.printf("%o \n", 10); //8진수
		System.out.printf("%X \n", 10); //16진수 대문자
		System.out.printf("%x \n", 10); //16진수 소문자
		
		//앞에 숫자를 쓰면 그 숫자만큼 칸을 확보
		System.out.printf("%4d\n", 10);//오른쪽 정렬
		System.out.printf("%-4d\n", 10);//왼쪽 정렬
		System.out.printf("%04d\n", 10); //빈칸을 0으로 채움
	}
}

Taeyeon
Daehyuck
suzy
\
"
10 
12 
A 
a 
  10
10  
0010

 

 

%f는 실수 출력

 

기본으로 소수 6자리까지 출력해줌

 

%.2f하면 반올림해서 소수 둘째자리까지만

 

package java01.intro;

public class Intro03_PrintTest {
	public static void main(String[] args) {
		//한줄 출력(print)
		System.out.print("Taeyeon\n");
		//\n을 사용하면 줄바꿈
		
		//한줄 출력하고 한줄 띄우기(println)
		System.out.println("Daehyuck");
		System.out.println("suzy");
		
		//특수문자 출력시 \를 붙여주면 해당 특수문자 출력
		System.out.println("\\");
		System.out.println("\"");
		
		//%d는 정수 formatting
		System.out.printf("%d \n", 10); //10진수
		System.out.printf("%o \n", 10); //8진수
		System.out.printf("%X \n", 10); //16진수 대문자
		System.out.printf("%x \n", 10); //16진수 소문자
		
		//앞에 숫자를 쓰면 그 숫자만큼 칸을 확보
		System.out.printf("%4d\n", 10);//오른쪽 정렬
		System.out.printf("%-4d\n", 10);//왼쪽 정렬
		System.out.printf("%04d\n", 10); //빈칸을 0으로 채움
		
		//%f는 실수, 기본 소수 6자리까지
		System.out.printf("%f\n", 10.1);
		System.out.printf("%.2f", 10.106); //반올림해서 둘째자리까지
		
	}
}

Taeyeon
Daehyuck
suzy
\
"
10 
12 
A 
a 
  10
10  
0010
10.100000
10.11

 

 

%s는 문자열 출력

 

%c는 문자 하나만 출력함

 

package java01.intro;

public class Intro03_PrintTest {
	public static void main(String[] args) {
		//한줄 출력(print)
		System.out.print("Taeyeon\n");
		//\n을 사용하면 줄바꿈
		
		//한줄 출력하고 한줄 띄우기(println)
		System.out.println("Daehyuck");
		System.out.println("suzy");
		
		//특수문자 출력시 \를 붙여주면 해당 특수문자 출력
		System.out.println("\\");
		System.out.println("\"");
		
		//%d는 정수 formatting
		System.out.printf("%d \n", 10); //10진수
		System.out.printf("%o \n", 10); //8진수
		System.out.printf("%X \n", 10); //16진수 대문자
		System.out.printf("%x \n", 10); //16진수 소문자
		
		//앞에 숫자를 쓰면 그 숫자만큼 칸을 확보
		System.out.printf("%4d\n", 10);//오른쪽 정렬
		System.out.printf("%-4d\n", 10);//왼쪽 정렬
		System.out.printf("%04d\n", 10); //빈칸을 0으로 채움
		
		//%f는 실수, 기본 소수 6자리까지
		System.out.printf("%f\n", 10.1);
		System.out.printf("%.2f\n", 10.106); //반올림해서 둘째자리까지
		
		//%s는 문자열, %c는 문자 하나
		System.out.printf("%s\n", "Subin");
		System.out.printf("%c\n", 'w');
	}
}

Taeyeon
Daehyuck
suzy
\
"
10 
12 
A 
a 
  10
10  
0010
10.100000
10.11
Subin
w

 

 

당연히 여러가지 formatting을 섞어서 사용 가능

 

대응하는 값을 여러개 인자로 주면 됨

 

package java01.intro;

public class Intro03_PrintTest {
	public static void main(String[] args) {
		//한줄 출력(print)
		System.out.print("Taeyeon\n");
		//\n을 사용하면 줄바꿈
		
		//한줄 출력하고 한줄 띄우기(println)
		System.out.println("Daehyuck");
		System.out.println("suzy");
		
		//특수문자 출력시 \를 붙여주면 해당 특수문자 출력
		System.out.println("\\");
		System.out.println("\"");
		
		//%d는 정수 formatting
		System.out.printf("%d \n", 10); //10진수
		System.out.printf("%o \n", 10); //8진수
		System.out.printf("%X \n", 10); //16진수 대문자
		System.out.printf("%x \n", 10); //16진수 소문자
		
		//앞에 숫자를 쓰면 그 숫자만큼 칸을 확보
		System.out.printf("%4d\n", 10);//오른쪽 정렬
		System.out.printf("%-4d\n", 10);//왼쪽 정렬
		System.out.printf("%04d\n", 10); //빈칸을 0으로 채움
		
		//%f는 실수, 기본 소수 6자리까지
		System.out.printf("%f\n", 10.1);
		System.out.printf("%.2f\n", 10.106); //반올림해서 둘째자리까지
		
		//%s는 문자열, %c는 문자 하나
		System.out.printf("%s\n", "Subin");
		System.out.printf("%c\n", 'w');
		
		//formatting 문자에 대응하는 값으로 주면 mapping되어 출력
		System.out.printf("안녕하세요 저는 %s에요. 제 혈액형은 %c형이에요", "대혁이",'O');
	}
}

Taeyeon
Daehyuck
suzy
\
"
10 
12 
A 
a 
  10
10  
0010
10.100000
10.11
Subin
w
안녕하세요 저는 대혁이에요. 제 혈액형은 O형이에요

 

 

4. 기타

 

4-1) 하도 자주 쓰는건 약어가 있다고함

 

sysout하고 ctrl+space 누르면

 

System.out.println()을 불러온다

 

 

4-2) 특정 함수가 어떤식으로 구현되어 있는지 확인하고 싶다면

 

해당 함수를 ctrl을 누른 상태에서 눌러보면 open declaration이라고 나옴

 

제목 없음.jpg

 

4-3)

 

%c, %s로 formatting할때

 

문자열은 ""으로 씌우고 문자는 ''으로 씌워야함

 

만약에 %c로 하나의 문자를 받을건데 ""으로 씌우면 에러나더라

 

제목 없음.jpg

 

728x90