처음 파일 생성 후 main 매소드 생성을 위해 작성해야하는 public static void main(String[] args)를 psvm
만 작성 후 엔터를 누르면 자동으로 생성된다.
혹은 main
만 작성한 후 엔터치면 동일하게 작성된다.
프린트를 위해서는 System.out.println()를 작성해야하는데 sout
작성 후 엔터치면 동일하게 자동생성된다.
숫자 자료형
정수
정수는 소수점이 없는 수
정수를 표현하기 위한 자료형 :
int, long (주로 사용 됨)
byte, short (잘 사용하지 않음)
System.out.println(123);
System.out.println(-34);
실수
실수는 소수점이 있는 수
실수를 표현하기 위한 자료형 : float, double
System.out.println(123.123);
System.out.println(-3.14);
문자/문자열 자료형
한 개의 문자 (char)
활용도가 적지만 문자값을 표현하는 방식이 다양하다.
문자값 표현 방식 : 문자, 아스키코드, 유니코드
char a1 = 'a'; // 문자로 표현
char a2 = 97; // 아스키코드로 표현
char a3 = '\u0061'; // 유니코드로 표현
System.out.println(a1); // a 출력
System.out.println(a2); // a 출력
System.out.println(a3); // a 출력
문자열 (String)
문자들로 구성된 문장
System.out.println("Hello World!");
System.out.println(true);
System.out.println(false);
String
"안녕하세요"와 같은 문자열을 위한 변수를 만들 때 사용,
큰 따옴표(")와 함께 사용 필요
char
'A'와 같이 한글자만 입력할 때 사용,
작은 따옴표(')와 함께 사용 필요
final String
절대 변하지 않는 상수 => javascript에서 const와 동일한 역할
변수명을 항상 대문자로 작성해야 하고, 재할당 불가
int
15, 24와 같은 숫자 입력 시 사용,
표현 가능 범위 : -2147483648 ~ 2147483647
long
int가 담지 못하는 큰 수들의 변수를 만들 때 사용,
숫자 뒤 소문자 l 혹은 대문자 L을 추가하여 작성
표현 가능 범위 : -9223372036854775808 ~ 9223372036854775807
float
3.14와 같은 숫자 입력시 사용
숫자 뒤 소문자 f 혹은 대문자 F를 추가하여 작성
표현 가능 범위 : -3.4 X 1038 ~ 3.4 X 1038
저장 할 값에 어울리는 이름으로 생성
밑줄(underscore, _ ), 문자, 숫자 사용가능
공백은 사용 불가
밑줄 또는 문자로 시작 가능
숫자로는 시작 불가
한 단어 혹은 2개 이상 단어의 연속으로 생성
(nationality, dateOfBirth, fight_no 등)
카멜 표기법(Camel case)사용
예약어(keyword) 사용 불가
(public, static, void, int, char 등)
절대 변하지 않는 상수(final String)는 대문자로 변수 생성
상수의 경우 팟홀 표기법을 주로 사용함
final String CODE = "KR";
카멜 표기법(Camel case)
낙타의 등 모습을 닮아 만들어진 이름으로, 모두 소문자로 작성하되, 첫단어 제외한 각 단어의 첫글자만 대문자로 작성한다.
String userId;
파스칼 표기법(Pascal case)
카멜 표기법은 첫글자를 소문자로 작성하지만, 파스칼 표기법은 모든 단어의 첫글자를 대문자로 선언하여 작성한다.
String UserId;
팟홀 표기법(Pothole case)
pothole은 영어로 '움푹패인 곳'이라는 뜻을 가지고 있다.
카멜과 파스칼의 경우 단어 구분을 대문자를 통해 했다면, 팟홀은 밑줄(underscore)을 통해 구분하고, 모든 단어는 소문자로 표기하여 작성한다.
String user_id;
문자에서 숫자로, 숫장에서 문자로 자료형의 타입을 변경하는 것을 말한다.
변환을 원하는 곳 앞에 (int), (double), (float)와 같은 형태로 작성하여 형변환
// int to double
int score = 93;
System.out.println(score); // 93
System.out.println((double) score); // 93.0
// double to int
double score_d = 98.8;
System.out.println((int) score_d); // 98
// 정수 + 실수 연산
score = 92 + (int) 98.8;
System.out.println(score); // 190
// 변수에 형변환된 데이터 집어넣기
double converedScoreDouble = score;
System.out.println(converedScoreDouble); // 190.0
// int > long > float > double
String.valueOf(), Integer.toString(), Double.parseDouble() 등을 이용하여 형변환
다만, () 안에 들어가는 것과 변수의 형이 동일해야한다.
int로 변수 선언 시 ()안에 "93"이 들어가는 것은 가능하지만, "98.8"이 들어가면 오류가 발생한다.
//숫자를 문자열로
String s1 = String.valueOf(93);
s1 = Integer.toString(93);
System.out.println(s1); //93
String s2 = String.valueOf(98.8);
s2 = Double.toString(98.8);
System.out.println(s2); //98.8
//문자열을 숫자로
int i = Integer.parseInt("93");
System.out.println(i); //93
double d = Double.parseDouble("98.8");
System.out.println(d); //98.8
버스 도착 정보를 출력하는 프로그램을 작성하시오.
각 정보는 적절한 자료형의 변수에 정의합니다.
정보
String busNum = "강북02";
int leftMin = 3;
double leftDis = 1.5;
System.out.println(busNum + "가 도착까지 남은 시간은 " + leftMin + "분이고, 남은 거리는 " + leftDis + "km 입니다.");
// 강북02가 도착까지 남은 시간은 3분이고, 남은 거리는 1.5km 입니다.
프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산(operation)이라고 한다.
연산자는 산출 방법에 따라 산술, 부호, 문자열, 대입, 증감, 비교 연산자로 구분할 수 있다.
사칙연산을 다루는 연산자로, 가장 기본적이고 가장 많이 사용되는 연사자 중 하나이다.
모두 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽이다.
일반 연산
System.out.println(4 + 2); //6
System.out.println(4 - 2); //2
System.out.println(4 * 2); //8
System.out.println(4 / 2); //2
System.out.println(5 / 2); //2 , 몫 연산
System.out.println(5 % 2); //1 , 나머지 연산
우선 순위 연산
System.out.println(2 + 2 * 2); // 2 + (2 * 2) = 6
System.out.println((2 + 2) * 2); // 8
증감 연산
int val;
val = 10;
System.out.println(val); // 10
System.out.println(++val);
// 11, val에 다가 1을 더해주고, sout 실행됨
System.out.println(val); // 11
System.out.println(val++);
// 11 sout이 실행되고, val에 다가 1을 더해줌
System.out.println(val); // 12
증감 연산을 활용한 예제
//은행 대기표
int waiting = 0;
System.out.println("대기 인원 : " + waiting++); // 대기 인원 : 0명
System.out.println("대기 인원 : " + waiting++); // 대기 인원 : 1명
System.out.println("대기 인원 : " + waiting++); // 대기 인원 : 2명
System.out.println("총 대기 인원 : " + waiting); // 총 대기 인원 : 3명
변수에 값을 대입할 때 사용하는 이항 연산자이며, 피연산자들의 결합 방향은 오른쪽에서 왼쪽이다.
int num = 10;
num = num + 2;
System.out.println(num); // 12
복합 대입 연산자
num = 10;
num += 2; // num = num + 2와 동일하게 작동함
System.out.println(num); // 12
피연산자 사이의 상대적인 크기를 판단하는 연산자이고, 결합방향은 왼쪽에서 오른쪽이다.
System.out.println(5 > 3); // true
System.out.println(5 >= 3); // true
System.out.println(5 < 5); // false
System.out.println(5 <= 3); // false
System.out.println(5 == 5); // true
System.out.println(5 != 5); // false
주어진 논리식을 판단하여, true와 false를 결정하는 연산자이다.
And연산과 Or연산은 두개의 피연산자를 가지는 이항 연산자이며, 결합방향은 왼쪽에서 오른쪽이다.
Not연산자(논리 부정 연산자)는 피연산자가 단 하나뿐인 단항 연산자이며, 결합방향은 오른쪽에서 왼쪽이다.
boolean 김치찌개 = true;
boolean 계란말이 = true;
boolean 제육볶음 = true;
System.out.println(김치찌개 || 계란말이 || 제육볶음);
// true, ||는 or을 의미하고 하나라도 true면 결과 값은 true
System.out.println(김치찌개 && 계란말이 && 제육볶음);
// true, &&는 and를 의미하고 전부 true면 결과 값은 true
// And 연산
System.out.println((5 > 3) && (3 < 1)); // false
System.out.println(1 < 3 && 3< 5); // true
// Or 연산
System.out.println((5 > 3) || (3 < 1)); // true
// Not 연산 (논리 부정연산자)
System.out.println(!true); // false
System.out.println(!(5 == 5)); // false
자바에서 유일하게 피연산자를 세 개 가지는 조건 연산자이다.
문법 : 조건식 ? 참의 경우 결과 값 : 거짓의 경우 결과 값
int x = 5;
int y = 7;
int max = (x > y) ? x : y;
System.out.println(max); // 7
int min = (x < y) ? x : y;
System.out.println(min); // 5
어린이 키에 따른 놀이 기구 탑습 가능 여부를 확인하는 프로그램을 작성하시오.
정보
실행 결과
키가 115cm 이므로 탑승 불가능합니다.
키가 121cm 이므로 탑승 가능합니다.
int childTall = 115;
String availability = (childTall >= 120) ? "키가 " + childTall + "cm 이므로 탑승 가능합니다." : "키가 " + childTall + "cm 이므로 탑승 불가능합니다.";
System.out.println(availability);
// 키가 115cm 이므로 탑승 불가능합니다.
childTall = 120;
availability = (childTall >= 120) ? "키가 " + childTall + "cm 이므로 탑승 가능합니다." : "키가 " + childTall + "cm 이므로 탑승 불가능합니다.";
System.out.println(availability);
// 키가 120cm 이므로 탑승 가능합니다.
유튜브 나도코딩
https://youtu.be/NQq0dOoEPUM
점프 투 자바
https://wikidocs.net/book/31
기존에 한번 씩 만나본 적 있던 친구들인데 왜 이렇게 다시 보기 싫을까... 하하하....
강의 언제 다 듣지.... 중요한걸 알지만 얼른 문법은 없애버리고 싶다...