1. 기본패키지
A_Variable.java
// 기본패키지로 만들면 패키지 선언부 (package)가 없음
public class A_Variable {
// 패키지 : 비슷한 역할을 하는 클래쓰들의 보관함(폴더)
// > 기본패키지 안에 클래스를 만드는 거 권장사항 x
// 1. 모든 클래스를 기본패키지에 몰아넣으면 관리하기가 힘듦 (유지보수 힘듦)
// 2. 기본패키지에 만들어진 클래스는 다른 패키지에서 사용이 불가.
//> 패키지는 적어도 세 단계 이상으로 만들어주는 걸 권장.
// ex com.회사명.프로젝트명- > 도메인의 역순으로 작성
// 주로 도메인의 역순으로 1,2 레벨 --> 도메인은 고유한 이름이기 때문에 중복을 방지 가능
// 어디서 제작된 프로젝트인지 알 수 있다.
}
point
- 패키지는 적어도 3 단계 이상으로 만들어 준다 도메인 - 회사 명 - 프로젝트 명
2. Variable (변수)
A_Variable.java
package com.kh.variable;
// 다른 패키지라면 같은 클래스명으로 만들 수 있다.
public class A_Variable { // 클래스 시작
/*
* 학습 목표
* 1. 변수란 무엇인지
* 2. 변수를 왜 사용해야하는지
* 3. 변수 사용 방법
* 4. 변수명을 짓는 방법
*/
public void printVariable() { // printVariable 메소드 시작
System.out.println("===변수 사용 전===");
System.out.println(100 + 10);
System.out.println((100 + 10) *10);
System.out.println(((100 + 10) * 10) - 10);
//결과물은 잘 출력이 되지만 각각의 숫자들이 무슨 의미인지 알 수 없음
//1. 변수란 무엇인지 --> 어떤 값을 메모리 상에 기록하기 위한 공간(박스같은 개념)
int point = 100;
int bonus = 10;
int personCount = 10;
int fees =10;
System.out.println("===변수 사용 후===");
System.out.println(point + bonus);
System.out.println((point + bonus) * personCount);
System.out.println(((point + bonus) * personCount) - fees);
/*
* 2. 변수를 왜 사용하는지
* - 값의 의미를 부여하고 값들의 의미파악를 파악하기 위해. 가독성 ↑
* - 한번 값을 저장해두고 계속 사용할 목적.
* - 유지보수에 쉽게 하기위해
*/
} // printVariable 메소드 끝
public void declareVariable() { // declareVariable 메소드 시작
/* 3.변수 사용 방법
* 변수 선언 (변수를 메모리 공간에 확보해놓는 과정) == 박스를 만들겠다!!
*
* [표현법] 자료형 변수명;
*
* 자료형 : 어떤값을 담을건지, 어떤 크기의 값을 담을것인지에 따라서 변수(박스)의 크기나 모양을 정하는 부분.
* 변수명 : 변수(박스)의 이름을 정하는 부분 (의미부여)
*
* ※주의할점
* - 변수명은 반드시 소문자로 시작.
* - 여러단어로 조합될 경우 낙타표기법은 지킨다.(testVariable)
* - 같은 영역내에 동일한 변수명으로 선언 불가.
* - 해당 영역({})에 선언한 변수는 해당 영억안에서만 꺼내 쓸 수 있다. (지역변수)
*
*/
// --- 자료형에 대한 개념 ---
// 1. 논리형
boolean isTrue; // 1byte
// 2. 숫자형
// 2-1. 정수형(4종류)
byte bNum; // 1byte
short sNum; // 2byte
int iNum; // 4byte --> 정수형중에 가장 대표적인 자료형(기본형)
long lNum; // 8byte --> long을 무조건 쓰지 않는 것은 자료형들이 메모리를 차지하기 때문에
// 2-2. 실수형 (2종류)
float fNum; // 4byte
double dNum; // 8byte --> 실수형 중에 가장 대표적인 자료형(기본형) float보다 더 큰값이 아니라 정확한 값을 입력가능
// 3. 문자(한글자)형
char ch; // 2byte
// -----------위에 까지 기본 자료형(8개) -------------
// 4. 문자열(참조자료형)
String str;
/*
* 변수의 값 대입(담기) = 초기화하겠다
*
* [표현법] 변수명 = 담고자 하는 값;
*
*/
isTrue = true; // 논리형 변수에는 true/false 값만 저장가능
bNum = 1;
sNum = 2;
iNum = 4;
lNum = 8L; // 자료형 long 변수에는 숫자값 뒤에 L을 붙이는게 권장사항
fNum = 4.0f; // 반드시 f를 뒤에 붙여야함.(자료형이 바뀌는 형변환 때문에)
dNum = 8.0;
ch = 'A'; //char는 반드시 ''에 한글자 담을 것.
ch = '한'; // 나중에 대입된 값으로 초기화 됨
str = "ABC";
str = "A"; //String은 반드시 "" 사용!
//*변수에 값이 잘 담겼는지 출력
System.out.println("isTrue의 값 : " + isTrue);
System.out.println("bNum의 값 : " + bNum);
System.out.println("sNum의 값 :" + sNum);
System.out.println("iNum의 값 :" + iNum);
System.out.println("lNum의 값 :" + lNum);
System.out.println("fNum의 값 :" + fNum);
System.out.println("dNum의 값 :" + dNum);
System.out.println("ch의 값 : " + ch);
System.out.println("srt의 값 : " + str);
} // declareVariable 메소드 끝
public void initVariable() {
// * 변수 선언과 동시에 초기화(값을 담겠다)
// [표현법] 자료형 변수명 = 값;
// 1. 논리형
boolean isTrue = false; // 1byte 위의 것과 중복되지 않는가? No 영역이 달라서 괜찮음
// 2-1. 정수형
byte bNum = 1; // 1byte
short sNum = 2; // 2byte
int iNum = 4; // 4byte
long lNum = 8L; // 8byte --> L을 붙이는 이유는 형변환전에 애초에 long형이라고 못박는 것
// 2-2. 실수형
float fNum = 4.0f; // 4byte --> f필수
double dNum = 8.0; // 8byte --> 기본형
// 3. 문자형
char ch = '가'; // 2byte --> ''(홀따움표 필수) / 문자가 담기는 것같지만 문자의 고유 값이 담기는 것임
// ----- 기본자료형(8개) -------
// ----- 참조자료형 ------
String str = "안녕하세요";
System.out.println("isTrue의 값 : " + isTrue);
System.out.println("bNum의 값 : " + bNum);
System.out.println("sNum의 값 : " + sNum);
System.out.println("iNum의 값 : " + iNum);
System.out.println("lNum의 값 : " + lNum);
System.out.println("fNum의 값 : " + fNum);
System.out.println("dNum의 값 : " + dNum);
System.out.println("ch의 값 : " + ch);
System.out.println("str의 값 : " + str);
// 4. 변수 명명 규칙
int number;
// 1) 변수명이 중복되서는 안됨 (자료형이 달라도 안됨)
// double number;
// 단, 대소문자는 구분함
int numBer;
// 2) 예약어(이미 자바에서 사용되고 있는 키워드) 사용 불가
//int public;
//int void;
//int abstract;
//int true;
// 3) 숫자 사용 가능 (단, 숫자로 시작할 순 없음.)
int age1; //변수명에 숫자넣는 것 가능 권장하지는 않음
//int 1age; --> 단, 숫자로 시작할 수는 없음.
// 4) _ 또는 $ 특수문자 사용 가능 (그 외에는 사용 안됨)
int number_1;
int number$1;
//int number#1;
//* 낙타표기법 지키는게 권장 사항
String username;
String userName;
//* 한글을 사용하지 않는게 권장사항
String 이름;
}
} // 클래스 끝
point
- 패키지가 다르면 같은 클래스명으로 생성할 수 있다.
* 변수
1. 변수란 무엇인가?
- 어떤 값을 메모리 상에 기록하기 위한 공간의 개념. 개발자가 값을 넣을 수 도 있고 사용자가 넣을 수 도 있다.
2. 변수를 왜 사용해야하나?
- 값의 의미를 부여할 수 있고 코드를 보며 의미파악을 할 수 있다. 즉 가독성이 올라간다.
- 한번 값을 저장해두고 계속 사용할 목적
- 유지보수를 용이하게 해준다.
3. 변수 사용 방법
[표현법] : 자료형 변수명; ex int num;
3-1 변수 만들면서 동시에 값 대입 하기(초기화하기)
[표현법] 자료형 변수명 = 값; ex int num = 10;
4. 변수 명명 규칙
- 변수명 중복 (X) 단, 대소문자 구분
- 예약어 사용 (X) ex) int public
- 숫자 사용 (O) 단, 숫자로 시작 (X)
- _ 또는 $ 사용 (O) 그 외 사용 (X)
- 한글은 비추
- 실수형중 float과 double의 차이는 크기가 아니라 double이 더 정확한 입력이 가능하다는 점이다. (float은 4byte double은 8byte)
- 변수는 최종으로 대입된 값으로 초기화된다.
- float은 반드시 f를 뒤에 붙일것. ex) float fNum = 4.0f;
- char는 ' ', String은 " " 사용
-
Run.java
package com.kh.run;
import com.kh.variable.A_Variable;
public class Run {
public static void main (String[] args) {
// 클래스 생성
A_Variable a = new A_Variable();
// 실행할 메소드 호출
//a.printVariable();
a.declareVariable();
}
}
point
- 메인 메소드는 실행을 담당한다!!!
'JAVA > JAVA 기초' 카테고리의 다른 글
JAVA 기초 - 상수(Constant) (0) | 2020.05.28 |
---|---|
Java 기초 - Overflow (0) | 2020.05.28 |
Java 기초- 형변환 (Type Casting) (0) | 2020.05.28 |
JAVA 기초 - Scanner (Java User Input) (0) | 2020.05.28 |
JAVA 기초 - 프로그래밍 (0) | 2020.05.24 |