JAVA란?
- 다양한 환경에서 사용할 수 있다.
- 프로그램이 안정적이다.
- 풍부한 기능이 제공되는 언어이다.
- 객체 지향 언어이다.
- Object oriented programming(OOP) 이라고 함.
객체 : 이 세상에 있는 모든것 | 기능과 동작이 있어야함
ex) 라면은 객체가 아니다. 너x리, 신x면 등등이 객체에 해당된다.
프로젝트 생성
Ctrl + n
package(폴더)를 만들고 class를 만든다.
basic 패키지 안에 basic.ch1 패키지를 하나 더 만들어 계층 구조를 만들 수 있다.
tip.
ctrl + f11 : 작동 단축키
ctrl + shift + f : 탭 정렬
변수(Bariable)
변수란? 변할 수 있는 수
데이터(값)을 담을 수 있는 상자 (메모리 공간)
변수의 이름 규칙
- 대소문자가 구분되며 길이에 제한이 없다.
- Name과 name은 서로 다른 것으로 간주된다. - 자바에서 사용하는 예약어는 사용할 수 없다.
- while, break, for, if - 숫자로 시작해서는 안 된다.
- top10은 허용하지만, 7up은 허용되지 않는다. - 특수문자는 '_', '$'만을 허용한다.
package ex_01;
/**
* 변수란 뭘까?
* 변하는 수 (변할 수 있는 데이터)
* 데이터(값)를 담을 수 있는 메모리 공간(상자)
*/
public class Variable {
// 코드의 시작점(메인함수)
public static void main(String[] args) {
// 변수를 활용하는 3가지 유형
// int <-- 예약어, 다음 단계에서 자세한 설명을 합니다.
// 1. 변수를 선언, 2. 변수에 값을 대입, 3. 변수에 접근해서 사용(이름이 필요)
// 1. 변수에 선언
int ageBox; // 정수값을 담을 수 있는 상자를 선언
int telBox; // 정수값을 담을 수 있는 상자를 선언
// 2. 변수에 값을 대입
ageBox = 30; // 상자에 값을 넣다(초기화 하다) -> 어떤 상자에 접근해야 할지 이름이 필요하다.
// 3.1 변수 사용
System.out.println(ageBox);
// 3.2 변수 사용
ageBox = 300; // 변할 수 있는 수(데이터)
System.out.println("------------------");
System.out.println(ageBox);
} // end of main
} // end of class
변수 타입 추론 기능
자바는 변수를 정희 할때 , 변수의 타입을 명확히 밝혀야 한다.
var 키워드를 사용할 수 있다. 지역 변수의 타입으 ㄹ자동으로 추론하는 것이 가능하다.
- 개발자가 복잡한 자료형을 기억하지 않아도 되고, 코드 가독성이 높아진다.
var age = 22; // age는 int 타입으로 추론
var name - "Kim"; // name은 String 타입으로 추론
간단한 자료형은 var을 사용할 필요 없다. 하지만 아주 복잡한 변수 타입이 존재한다.
그 예로 map 변수 타입을 통해 알아보자
MAP<String,String> map = new HashMap<String,String>(); // --->>
var map = new HashMap<String,String>(); // map은 MAP<String,String>타입으로 추론
※ 다음과 같이 컴파일러가 지역 변수 유형을 추론하기에 충분한 정보가 없으면 컴파일에 실패한다.
var id = 0; // 충분한 정보가 없어서 정수혀으로 가정
var sum; // 변수 sum의 타입을 추측할 정보가 부족함. 컴파일 오류!
*핵심 정리*
변수란 데이터를 담을 수 있는 메모리 공간이며 같은 종류에 데이터 타입(?)의 값을 넣을 수 있다.
변수를 선언할 때 규칙이 있습니다.
package basic.ch01;
public class variable2 {
//코드의 시작점(main) 함수
public static void main(String[] args) {
// 변수의 이름을 만들 때 규칙이 있다.
// 1. 대소문자를 명확이 구분하며 길이에 제한이 없다.
// 값을 넣다 --> 초기화 하다라는 말과 같다.
int age = 10;
int AGE = 20;
int aGe = 30; // 변수에 선언과 동시에 초기화(값을 넣다)
// int age;
// 2. 자바에서 사용하는 예약어는 사용할 수 없다.
// int, double, if, for <-- 예약어는 변수로 선언할 수 없다.
// int if; <-- 오류 발생
// 3. 변수는 숫자로 시작할 수 없다.
// int 30age; <-- 오류 발생
// int 20Man; <-- 오류 발생
// 4. 특수 문자는 _(언더바), $(달러) 표기만 사용 가능하다.
int _count;
int $_tel;
int $count_test;
// int *count; <-- 오류 발생
// 권장 사항 - 변수를 선언할 때 소문자 부터 시작하자.
int GIVE; // 가능한 변수는 소문자로 시작하자
// 변수 선언과 동시에 초기화 가능하다.
int score = 10;
int score1, score2, score3; // 사용은 가능하지만 권장사항(x)
}//end of main
} // end of class
자바언어에서 미리 선점한 키워드 (변수 이름으로 사용할 수 없다)
연습
package basic.exercise;
public class Exercise1 {
// 코드의 시작점(main 함수)
public static void main(String[] args) {
// 1. 데이터 10, 100, 100 변수를 여러분들이 이름을 정해서
// 선언하고 동시에 초기화 후 화면에 출력 하시오
int s = 10; // 변수에 선언과 동시에 초기화(값을 넣다)
int r = 100;
int c = 100;
System.out.println(s);
System.out.println(r);
System.out.println(c);
//2. int ageBox 상자에 20을 담기
int ageBox = 20;
// 2-1. ageBox 상자의 값을 30으로 변경하고 기존에
// 담겨 있던 데이터를 다른 곳으로 옮기기
int oldBox = ageBox;
ageBox = 30;
// 아까있던 녀석은 어떻게 찾아오지?
System.out.println("ageBox : " + ageBox);
System.out.println("oldBox : " + oldBox);
//3. int a = 1; int b =3;
//선언하고 a와 b에 담겨 있는 값을 서로 스위칭
int a = 1;
int b = 3;
// 값이 사라지지 않게 하기 위해서는 메모리 상자를 하나 더 만들어서
// 넣어 두면 됨
int temp = a;
a = b;
b = temp;
System.out.println(a);
System.out.println(b);
} //end of main
} // end of class
'Java > JAVA 1 - 기초문법' 카테고리의 다른 글
JAVA - 연산자(항, 대입, 부호) (0) | 2024.04.09 |
---|---|
명령어를 통한 컴파일, 실행 (0) | 2024.04.09 |
JAVA - 형 변환(type casting) (0) | 2024.04.09 |
Java - 상수 (0) | 2024.04.09 |
JAVA 기본 - 데이터 타입 (0) | 2024.04.08 |