System.out.print("egoing said "Welcome programing world"");
문자열 안에 큰 따옴표를 넣고싶다고 위와 같이 코드를 작성하면 에러가 발생할 것이다. 이럴 때는 아래와 같이 처리하면 된다.
System.out.println("egoing said \"Welcome programming world\"");
\를 큰 따옴표(") 앞에 위치시키면 큰 따옴표의 문법적 기능을 무시하고 단순 문자로 해석하도록 강요할 수 있다. 이를 이스케이프라고 한다.
여러 줄을 출력하고 싶을 때 줄바꿈 기호 (\n)을 사용하면 된다.
System.out.println("HTML\nCSS\nJavaScript\n");
문자와 문자를 아래와 같이 작성하면 이어져서 출력된다.
System.out.println("생활"+"코딩");
출력 결과 : 생활코딩
정수 자료형
잘 모르겠을 때는 int를 사용하면 된다.
실수 자료형
잘 모르겠을 때는 double를 사용하면 된다.
문자 자료형
float a = 2.2; // 컴파일 에러가 발생한다
double b = 2.2; // 컴파일 에러가 발생하지 않는다
왜 float에 2.2를 대입했을 때 에러가 발생할까? 2.2 라고 하는 상수의 데이터 타입이 double 이기 때문이다. Java에서 실수인 상수는 기본적으로 데이터 타입이 double이다. float에 값을 대입하기 위해서는 아래와 같이 해야한다.
float a = 2.2F;
비슷한 맥락으로 Java에서 정수는 기본적으로 int 데이터 타입을 가진다. 따라서 long 이라는 데이터 타입에 값을 대입하려면 아래와 같이 해야한다.
long a = 1234L;
다만 byte 형이나 short 형에서는 int 형을 허용하기 때문에 오류가 발생하지 않는다.
System.out.println("switch(1)");
switch(1){
case 1:
System.out.println("one");
case 2:
System.out.println("two");
case 3:
System.out.println("three");
}
// switch(1)
// one
// two
// three
// 이렇게 출력된다
System.out.println("switch(2)");
switch(2){
case 1:
System.out.println("one");
case 2:
System.out.println("two");
case 3:
System.out.println("three");
}
// switch(2)
// two
// three
// 이렇게 출력된다
System.out.println("switch(3)");
switch(3){
case 1:
System.out.println("one");
case 2:
System.out.println("two");
case 3:
System.out.println("three");
}
// switch(3)
// three
// 이렇게 출력된다
&& (and)
|| (or)
! (역전)
boolean의 값을 역전시킨다.
예시) !true => false
예시) !false => true
while(조건){
반복 실행 영역
}
for(초기화; 종료조건; 반복실행){
반복적으로 실행될 구문
}
반복문 내에서 break가 실행되면 그 즉시 반복문이 완전히 종료된다.
반복문 내에서 continue가 실행되면 그 아래의 코드를 실행하지 않고, 바로 다음 반복을 진행한다.
for (int i = 0; i < 10; i++) {
if (i == 5)
continue;
System.out.println(i);
}
예를 들어 위와 같은 프로그램을 실행시키면 1,2,3,4,6,7,8,9 가 출력된다.
String[] classGroup = { "최진혁", "최유빈", "한이람", "이고잉" };
classGroup는 배열이 담길 변수의 이름이다.
String[]은 classGroup에 담을 배열에 담길 데이터의 타입이 문자열의 배열이라는 의미다. 배열을 선언할 때는 데이터 타입 뒤에 []를 붙여야 한다. []가 없다면 classGroup는 배열이 아니라 문자열 데이터 타입을 갖는 변수가 된다. 배열에 소속될 데이터들은 중괄호 안에 위치한다. 그리고 각각의 데이터들은 쉼표로 구분된다.
String[] classGroup = { "최진혁", "최유빈", "한이람", "이고잉" };
System.out.println(classGroup[0]);
System.out.println(classGroup[1]);
System.out.println(classGroup[2]);
System.out.println(classGroup[3]);
최진혁, 최유빈, 한이람, 이고잉이 출력된다.
String[] classGroup = new String[4];
System.out.println(classGroup.length);
4가 출력된다.
String[] classGroup = new String[4];
classGroup[0] = "최진혁";
classGroup[1] = "최유빈";
classGroup[2] = "한이람";
classGroup[3] = "이고잉";
String[] members = { "최진혁", "최유빈", "한이람" };
for (String e : members) {
System.out.println(e);
최진혁, 최유빈, 한이람이 출력된다.
메소드는 코드를 재사용할 수 있게 해준다.
public static void main(String[] args) {
return
}
public static void numbering() {
int i = 0;
while (i < 10) {
System.out.println(i);
i++;
}
}
// numbering이라는 메소드를 정의했다.
public static void main(String[] args) {
numbering(); // 위의서 정의한 numbering 메소드를 호출한다.
}
main 메소드
main 메소드는 규칙이다. 만들고 싶은 프로그램이 있다면 반드시
public static void main(String[] args)
가 이끄는 중괄호 안에 실행되기를 기대하는 로직을 위치시켜야 한다. 이것은 약속이기 때문에 지켜야 한다. 그렇게 코드를 작성하면 자바를 실행할 때 자바는 내가 작성한 main 메소드를 실행하게 되는 것이다. 내가 main 메소드를 작성하고, 자바는 main 메소드를 실행하는 관계라고 할 수 있다.
메소드의 입력과 출력
메소드에서의 입력 값은 매개변수를 통해서 이루어진다.
public static void numbering(int limit) {
int i = 0;
while (i < limit) {
System.out.println(i);
i++;
}
}
public static void main(String[] args) {
numbering(5);
이 코드는 0부터 4까지 출력한다. 0부터 10까지 출력하고 싶다면 numbering(5) 대신 numbering(11)을 호출하면 된다. 함수를 호출할 때 입력한 값이 limit라는 변수에 저장되어 함수의 로직에 이용되는 것이다. 이 때 limit을 매개변수라고 한다. 그리고 위의 예시에서 전달된 값 5를 '인자'라고 부른다.
복수의 인자를 사용할 수도 있다.
public static void numbering(int init, int limit) {
int i = init;
while (i < limit) {
System.out.println(i);
i++;
}
}
public static void main(String[] args) {
numbering(1, 5);
}
이 경우 1에서 4까지 출력된다.