본문 바로가기

국비과정/JAVA (기초)

20230605 _[3일차]_01. 데이터타입 복습

package jun05;
/*
 컴파일(JAVA) <--> 스크립트(JS, 파이썬)
 소스코드.java -> 컴파일 -> .class
 클래스 : 클래스변수, 메소드, 생성자 (들의 집합)
 메소드 : 함수 function (명령어들의 집합)
 명령어 : 
 
 이름 만들기 (apple, korea) = 영어대소문자, 숫자, $, _
   클래스 : AppleKorea = 파스칼 표기법 (첫글자 대문자)
   메소드, 변수 : appleKorea = 카멜 표기법 (첫글자 소문자)
   상수 : APPLE_KOREA = 스네이크 표기법
*/

public class Test01 {
	public static void main(String[] args) {
		// 우리반 인원수를 저장하고 싶어요.
		// 어떤 데이터타입을 쓰면 좋은지 적어주세요.
		// 변수명은 member
		// 자바에는 P/R타입_P타입에는 8가지종류
		byte member = 25;  // (byte) -128 ~ 0 ~ 127     -> 선언 + 초기화
/*		byte member; 선언
		member = 25; 초기화
*/
		// 변수활용
		member = 100;
		System.out.println(member);
//		int member = 10000;  같은 메소드 내에서 같은 이름으로 중복선언 불가.
		int member2 = 10000;  // 다른 이름으로 선언가능.
		
		// 예약어 _ public, class, static, void, int, byte 등...
		int class1 = 100;  // 숫자붙으면 가능.
		
		int num = 1000; // 데이터 스코프 : 선언 ; 이후부터 사용가능
		
/*		System.out.println(member);
		int member = 10000;          -> 불가능, 선언이후 출력가능.
		
		int member = 10000;
		System.out.println(member);  -> 이런 순서로는 가능		
*/
		num = member;   // 대입하다 <---- (왼 <- 오 :값이 들어가는 방향)
		
		num = num +1;  // 101
		num++;		   // 101
		++num;		   // 101   
// 		선행증감, 후행증감 위처럼 단독으로 쓰일때는 결과값 같음. 순서상관x
		
//		같은 식의 다른 표현방법
		num += 1;
/*		num = num + 1;
		num = ++num; 
		num = num++;
*/       
		num -= 1;
/*		num = num - 1;        
		num = --num;
		num = num--;
*/
		num = 0;
		num %= 2;  // 모듈러 : 나머지 값
		// 위 num에 저장될 값은?  0, 1, 0, 1 ... 반복 (2개)
		
		num %= 5;
		// 위 num에 저장될 값은?  0, 1, 2, 3, 4, 0, 1, 2... 반복 (5개)
		
		// 캐스트, 프로모션
//		 int    byte
		 num = member;  // 큰타입 <--- 작은타입 (자동대입)
//		 num = (int) member; -> 옛날버전은 크기상관없이 타입이 다르면 전부 표기해줬음.
		 
//		 member = num;  작은타입 <--- 큰타입 (아래처럼 타입 적어줘야함)
		 member = (byte) num;
        
	}

}

그래도 자바는 데이터 타입이 없는편.....

 

* ctrl + 변수명클릭 : 해당변수 선언된곳 알려줌