[int_정수타입] & [bouble_실수타입]
다음 형식으로 기본 메소드를 정의** (아래 형식에서 하나라도 빠지면 아래의 에러 뜸)
public static void main(String[] args)
package jun02;
public class Hello { // Hello 클래스
// 메인 메소드는 반드시 이 모양이어야 합니다.
public static void main(String[] args) {
int number; // 변수선언
number = 100; // 변수에 값 대입
int num = 101; // 변수선언 + 값대입 == 변수 초기화
// 리터럴 = 고정된 값 (ex 100, 101)
int num1 = 3.14 // 오류남
double num1 = 1.0009;
}
}
// 변수 : 변하는 수 <---> 상수 : 변하지 않는 수
// 프로그램이 진행할 때 중간의 값을 저장해두기 위한 공간
// 데이터타입 변수이름; = 변수 선언 = 명령어
등호(=)는 값을 넣는다는 의미, 같다는 의미는 등호두개(==)
[문자열] & [형변환_ Cast]
package jun02;
public class Hello {
public static void main(String[] args) {
int num = 101;
double num1 = 1.0009;
String num2 = "Hello"; // 문자열 ""
// 대입기호 기준으로 양 변의 데이터 타입이 동일해야 대입가능
int num3 = num; // 양쪽 데이터타입 동일(int) ->가능
num1 = 3.3333; // 양쪽 데이터타입 동일(double) ->가능
num3 = (int) 10.3333; // 형변환 = 데이터타입 변환 (cast = 값의절삭)
System.out.println(num3); // 10
}
}
* 형변환 (double -> int)
num3 에 3.33333 값을 정수(int)형태로 저장 (소수점 이하 수들은 절삭)
[자동대입_프로모션]
package jun02;
public class Hello {
public static void main(String[] args) {
int iNumber = 14;
double dNumber = iNumber; // 자동 대입 = 프로모션
System.out.println(dNumber); // 14.0 표기는 실수로!
}
}
* 프로모션 (int -> double)
왼쪽(double)이 오른쪽(int)보다 더 큰 타입이라 int가 자동 대입 (정수타입 선언은 실수로도 가능)
[변수] _ p.48
변수 : 변수는 변하는 값을 나타내는 문자다.
다양한 값이나 양을 넣을 수 있는 빈 자리를 나타내는 기호.
종종 주어진 집합에 있는 임의의 원소를 나타낼 때 쓴다.
변수는 수뿐만 아니라 벡터, 행렬과 함수를 나타낼 때도 쓴다.
- (비NCS) 응용SW 기초기술 활용
변수는 우리가 이미 익숙하게 사용하고 있는 개념입니다.
예를 들어 하나의 연산식이 있을 때
1 + 2 = 3
3 + 3 = 6
8 - 5 = 3
- 변수를 사용하는주 목적
같은 타입(type)의 값이 프로그램 실행시에 자주 변경되어야 할 때, 이를 변수에 담아서 활용하기 위함.
- 변수 선언(초기화) 규칙 (꼭 기억해주세요******)
1. 변수는 특정 블럭{} 내부에 어디서건 선언 가능합니다.
만약 메소드 바디 내부에서 선언 = 지역 local 변수
클래스 바디에서 선언되어지면 = 인스턴스 instance 변수 (나중에 객체지향시간에 배움)
2. 변수가 처음 선언될 때 반드시 변수의 좌측에 변수타입(type), 일명 데이터 타입이 선언되어야 합니다.
3. 변수는 한번 선언되면 그 변수를 포함하고 있는 블럭 내에선 절대 재선언이 불가능 합니다.
4. 같은 타입의 변수는 한 라인에 ; (세미콜론)없이 계속 선언 가능
각 변수는 , (콤마)로 구분하여 마지막에 ;(세미콜론)을 붙입니다.
5. 지역변수는 반드시 사용 전에 초기화 되어야 합니다.
package jun02;
public class Variavle01 {
int num = 100; // 인스턴스 변수 = 클래스 아래 작성
public static void main(String[] args) {
int num = 100; // 지역변수 = 메소드 속에서 생성
num = 10; // 활용할때는 변수명만
System.out.println(num);
}
public static void print() {
int num = 100; // 같은 메소드{} 내에서 중복 선언은 불가능
// 다른 메소드에{}에서 같은 이름의 변수로 선언 가능.
} // 인스턴스변수와 지역변수는 쓰임새가 달라서 중복선언 가능 (나중에*)
}
*단축키*
코드정렬 : ctrl + shift + f
package jun02;
public class Variable01 {
public static void main(String[] args) {
{
int num2 = 100;
}
System.out.println(num); // {} 괄호가 닫히면서 num 인식을 못함
}
}
변수는 기본적으로 선언된 블록 내에서만 사용가능
*변수 선언 위치 중요 (p. 55)
package jun02;
public class Variable01 {
public static void main(String[] args) {
int num2, num3, num4, num5; // 선언만(같은 데이터타입 나열)
int num6 = 10, num7 = 11, num8 = 12; // 초기화
System.out.println(num2); // 초기화x (error)
System.out.println(num6); // 초기화o
// 지역변수는 초기화 후 사용할 수 있습니다.
}
}
변수에 값이 저장되지 않으면 변수가 생성되지 않음. 선언과 생성은 다름!! (p.50)
변수에 최초로 값이 저장되면 변수생성 = 변수 초기화, 그때의 값 = 초기값
String str = "1"; // 여기서 1은 숫자가 아닌 string (문자열)
num2 = Integer.parseInt(str); // 스트링을 int로 변환
System.out.println(str);
나중에 다시 배울예정 **참고**
[이름 만들기] _ 변수명, 클래스명, 메소드명, 상수명
1. 사용 가능한 문자 : 영어 소문자, 대문자, 숫자, $, _
단, 숫자는 이름 첫머리에 올 수 없습니다.
2. 클래스명 : 위 사용가능한 문자 조합합니다.
반드시 첫글자는 대문자여야 합니다.
한 단어 이상의 단어들의 조합일 때는 새로운 단어 첫머리 글자를 대문자로 합니다. = 파스칼 표기법
3. 메소드명, 변수명 : 사용가능한 문자를 조합합니다.
첫글자는 소문자로 시작합니다.
두 단어의 결합이라면 뒤에 오는 단어 첫글자를 대문자로 합니다. = 카멜표기법
4. 상수명 : 모든 단어를 대문자로 구성.
두 단어의 결합이라면 두 단어 사이에 _ 붙입니다. = 스네이크 표기법
5. 사용할 수 없는 이름 : 예약어는 사용 불가
자바에서 프로그래밍 진행에 필요한 단어를 미리 등록 사용하고 있습니다.
package jun02;
public class AppleKorea { // 파스칼 표기법
public static void main(String[] args) {
int checkNumber = 10; // 카멜 표기법
int POINT_NUMBER = 10; // 스네이크 표기법
String str = ""; // ctrl + String클릭 -> Open Declaration
}
}
public class Variable02 {
public static void main(String[] args) {
int $_ = 10;
}
}
* 파스칼 표기법 : 각 단어의 첫 글자를 대문자로 표기
* 카멜 표기법 : 소문자로 시작하여 이어지는 단어의 시작은 대문자로 표기
* 스네이크 표기법 : 단어 사이에 underscore(_)를 활용하여 표기
'국비과정 > JAVA (기초)' 카테고리의 다른 글
20230602 _[2일차]_03. 데이터타입2 (0) | 2023.06.04 |
---|---|
20230602 _[2일차]_02. 데이터타입1 (0) | 2023.06.04 |
20230601 _[1일차]_03. 클래스 & 메소드 (0) | 2023.06.04 |
20230601 _[1일차]_02. 자바설치 & 이클립스설치 (0) | 2023.06.04 |
20230601 _[1일차]_01. 자바기초 (0) | 2023.06.03 |