변수 및 연산자, 수식

변수는 프로그램 작성 시 사용할 값을 저장하기 위해 할당받는 메모리 공간이다. 자바늬 변수는 다양한 타입의 값을 저장한수 없다.

자료형 : 변수에 저장되는 자료의 타입

-기초형 : 값을 다루는 자료형 <정수형, 실수형, 문자형, 논리형>    //기본자료형 변수 : 실제 값을 기록하는 변수

-참조형 : 주소를 다루는 자료형<클래스, 배열, 인터페이스>          //참조자료형 변수 : 객체(인스턴스)의 주소를 기록하는                                                                                                                                           변수

 

선언 : 컴파일러에게 어떤 변수를 사용하겠다고 미리 알리는 것

 

#변수 선언 : 변수를 생성한다.

[데이터타입 변수명;]

 

메모리(주기억장치)는 데이터를 저장하기 위한 장치 기본단위인 바이트(byte, 8bit)로 나누어져 있다.(문자 하나를 기억하는데 필요한 최소 메모리 크기) 따라서 각 영역을 구분하기 위해 바이트 단위로 주소가 할당된다. 메모리의 주소를 이용해야만 해당 메모리에 저장된 값을 참조할 수 있다.

 

  • bit : 0과 1을 저장하는 최소 저장 단위.
  • byte : ASCII코드와 같은 문자 데이터를 저장하는 단위.

 

변수이름은 식별자의 일종으로 다음과 같은 규칙을 가진다.(변수의 명명규칙)

  • 영어 대소문자가 구분되며 길이 제한이 없다.
  • 예약어를 사용하면 안된다.
  • 숫자로 시작하면 안된다.
  • 특수문자는 _와 $만 사용 가능하다.
  • 여러 단어를 섞어서 이름을 만들때 두번째 단어부터 첫 글자를 대문자로 한다.
  • 이름 사이에 공백문자를 포함할 수 없다.

표기법 : 카멜표기법(변수명, 메서드명), 파스칼 표기법(클래스명), 스네이크 표기법

 

#변수에 데이터 저장

[변수명 = 값;]

'=' 기호: 대입한다. 오른쪽 값을 왼쪽에 저장. 변수를 선언한 후 처음 값을 저장한다면 '초기화'한다고 표현.

변수의 사용 범위: 중괄호 블록 {}내에서 선언되고 사용.

public class Variable1 {
	public static void main(String args[]) {
		int level; //선언
		level=10; //대입,초기화
		System.out.println(level);
	}

기초형

  • 정수형 : byte(1byte), short(2byte), int(4byte), long(8byte)
  • 실수형 :float(4byte), double(8byte 실수형에서 디폴트 자료형)
  • 문자형 : char
  • 논리형 : boolean<true/false 표현, 1바이트만큼의 메모리 공간을  차지>

참조형 : String

 

리터럴 : 리터럴은 변수와 상수에 저장되는 값 자체를 의미. null리터럴(기본 타입에 사용 불가)

 

  var 키워드

  • java 10부터 도입
  • 지역변수의 선언에만 사용 (변수 선언문에 반드시 초기값 지정)
  • 변수타입선언 생략 : 컴파일러가 변수 타입 추론

 

#논리 타입 변수 선언

[boolean 변수명;]

public class BooleanEx {
	public static void main(String args[]) {
		boolean isMarried = true;
		System.out.println(isMarried);
	}

 

#문자 타입 변수 선언

[char 변수명;]

char 데이터 타입을 표현할 때 유니코드를 직접 지정할 수 있다. 유니코드는 모든 나라의 언어를 컴퓨터에서 표현하기 위해 언어와 상관없이 문자아다 고유한 코드를 부여한 하나의 방법(\u : 다음에 문자에 해당하는 유니코드를 지정하면 된다. )

' '로 문자 표현

 

#문자열 타입 변수에 데이터 저장

[String name = "홍길동";]

 

정수형

최상위 부호 비트 : 0이면 양의 정수,1이면 음의 정수

1의 보수 : 0->1,1->0

2의 보수 : 최하위 비트에 +1

 

상수선언 : 상수는 일단 초기화되어 값이 정해지면 그 값을 변경할 수 없다.

  • final 키워드 사용
  • 선언 시 초기값 지정
  • 실행 중 값 변경 불가

Scanner 객체를 위한 메소드

nextByte() : byte 타입의 정수 하나를 읽는다.

nextShort() : short 타입의 정수 하나를 읽는다.

nextInt() : int 타입의 정수 하나를 읽는다.

nextLong() :  long 타입의 정수 하나를 읽는다.

nextFloat() : float 타입의 실수 하나를 읽는다.

nextDouble() : double 타입의 실수 하나를 읽는다.

next() : 공백 이전에 종료되는 하나의 문자열을 읽는다.

nextLine() : 한 줄의 문자열을 읽는다. 즉, '\n'을 포함하는 한 라인을 읽고 '\n'을 버린 나머지 문자열을 리턴한다.

close : Scanner의 사용종료

 

import 문장

  • 입력 기능을 가지고 있는 클래스를 포함시키는 문장이가.
  • 클래스들은 패키지라는 단위로 그룹핑되어 있다.
  • 패키지들을 자바 클래스 라이브러리라고 부른다.

사용자로부터 입력

x = input.nextInt(); 

Scanner 객체인 input을 이용하여 사용자로부터 정수를 읽어 들이는 문장. input을 통해 메소드를 호출

 

형변환

형변환(type cast)은 어떤 자료형의 값을 다른 자료형의 값으로 바꾸어 주는 연산.

  • 자동 형변환 : 큰 크기 타입 = 작은 크기 타입
  • 강제 타입 변환 : 데이터 타입 변수명 = (데이터 타입) 변수명 또는 값; 
  • 축소 형변환 - 강제 형변환 : 더 작은 크기의 자료형에 값을 저장하는 형변환
  • 확대 변환 - 강제 형변환 : 더 큰 크기의 변수로 값을 이동하는 변환

'Java' 카테고리의 다른 글

Java 생성자 및 클래스 변수, 클래스 메서드  (1) 2023.05.14
Java 객체 지향 프로그래밍  (0) 2023.05.13
Java 배열  (0) 2023.05.13
Java 제어문(조건문, 반복문, 보조제어문)  (0) 2023.05.13
Java 기초 이론  (0) 2023.05.13

+ Recent posts