이번 공부는 대부분 c언어와 비슷한 부분이 많아서 공부하기 수월했다!!
1. 변수와 자료형
1-1. 변수타입의 종류
변수는 그릇 같은 것으로 정수형 변수는 정수를 실수형 변수는 실수를 담을 수 있는 것 같이 이해하면 된다.
자바에서 변수는 데이터 타입의 변수와 참조형 타입의 변수로 나누어 진다고 한다.
1-1-1. 데이터 타입의 변수
1-1-2. 참조형 타입의 변수
처음 참조형 타입의 변수는 데이터 타입의 변수 8가지를 제외한 모두라고 할 수 있다.
예를 들어 string과 scanner이다. 객체의 주소를 저장하는 것이라고 할 수 있다. 문자열은 문자열의 첫 번째 문자의 주소를 가리키는 것과 같은 의미인 것 같다.
대표적으로 문자열 타입의 변수를 알아보자.
문자열을 " "로 묶어 변수를 선언할 수 있다. 문자처럼 ' '로 묶으면 에러가 발생한다. (하지만 하나의 문자는 문자열로 나타낼 수 있다.)
1-2. 변수 선언
변수 선언은 (변수타입 변수이름=int a)으로 하면 되고 변수 선언과 변수의 값을 할당을 함께 할 수 있다. (변수타입 변수이름=변수값=int a=3;)
그런데 변수를 선언할 때 int iv; 는 인스턴스 변수, static int cv; 은 클래스 변수, void method() { int lv; } 은 지역변수로 선언할 수 있다.
1-2-1. 인스턴스 변수
인스턴스 변수는 인스턴스가 생성될 때 생성됨니다. 그렇기 때문에 인스턴스 변수의 값을 읽어오거나 저장하려면 인스턴스를 먼저 생성해야합니다. 인스턴스 별로 다른 값을 가질 수 있으므로, 각각의 인스턴스마다 고유의 값을 가져야할 때는 인스턴스 변수로 선언합니다.
1-2-2. 클래스 변수
클래스 변수는 인스턴스 변수에 static만 붙여주면 됩니다. 인스턴스 변수는 각각 고유한 값을 가지지만 클래스 변수는 모든 인스턴스가 공통된 값을 공유하게 됩니다. 한 클래스의 모든 인스턴스들이 공통적인 값을 가져야할 때 클래스 변수로 선언합니다. 클래스가 로딩될 때 생성되어(그러므로 메모리에 딱 한번만 올라갑니다.) 종료 될 때 까지 유지되는 클래스 변수는 public 을 붙이면 같은 프로그램 내에서 어디서든 접근할 수 있는 전역 변수가 됩니다. 또한 인스턴스 변수의 접근법과 다르게 인스턴스를 생성하지 않고 클래스이름.클래스변수명 을 통해서 접근할 수 있습니다.
1-2-3. 지역 변수
메서드 내에서 선언되며 메서드 내에서만 사용할 수 있는 변수입니다. 메서드가 실행될 때 메모리를 할당 받으며 메서드가 끝나면 소멸되어 사용할 수 없게 됩니다.
출처: https://itmining.tistory.com/20 [IT 마이닝]
변수 a를 선언하고 출력해 보았다. a+1은 a가 1이므로 1+1이 되어 2가 출력된다.
1-3. 형 변환
int를 float이나 double로 바꾸고 싶을 때 형 변환이 필요하다. 형 변환은 데이터 타임을 전환한다는 것이다.
1-3-1. 자동 형 변환
자동 형 변환에서는 표현범위가 좁은 데이터 타입에서 넓은 데이터 타입으로 변환만 허용된다. 예를 들어보자. float의 표현범위 보다 double의 표현 범위가 더 넓다. 그러면 float에서 double로의 데이터 타입 변환은 가능하지만 double에서 float로의 형 변환은 불가능한다.
byte->short, char->int->long->float->double 순으로 표현 범위가 넓다.
1-3-2. 명시적 형 변환
명시적 형 변환은 자동 형 변환과는 반대로 수동으로 형 변환을 시켜주어야 한다.
예시) float a= (float)100.0;
2. 조건문&반복문
java 조건문과 반복문을 알아보자.
2-1. 조건문
이렇게 조건문은 어떤 조건이 만족되면 조건문 안의 명령문이 실행되게 된다.
c언어와 비슷하게 조건문에서는 if, else와 else if 를 쓸 수 있다.
또다른 조건문으로는 switch문이 있다.
2-2. 반복문
반복문을 알아보자. java의 반복문에는 while과 for이 있다. 두가지 모두c언어와 비슷하게 작동한다.
3. 연산자
Java 연산자는 단항연산자, 산술 연산자, 숫자 연산자, 비교 연산자, 논리 연산자, 삼항 연산자, 할당 연산자가 있다. 이 내용은 c언어와 매우 비슷해서 공부하기 수월했다.
연산자 종류에 따라 연산방향과 우선순위가 다르니까 기억해 놓자.
연산자(Operator)
이구자바의 스터디룸 연산자(Operator) 실제 프로그래밍에서 가장 많이 쓰이는 연산자에 대해 알아봅시다....
blog.naver.com
각각 우선순위를 생각해서 계산해 보면, a+d는 1+4=5, a+b*c-d는 a+(b*c)-d 로, 1+6-4=3으로 결과가 나온다.
문자열도 덧셈이 가능하다.
'자바 공부' 카테고리의 다른 글
this와 접근 제어자 (1) | 2021.01.31 |
---|---|
객체지향이란? / 클래스선언, 클래스 구성, 변수, 메소드 등 (2) | 2021.01.25 |
참조타입/배열(2차원배열, 다차원 배열, 가변배열) (2) | 2021.01.16 |
백준 연습문제(JAVA공부) 2739, 2839, 10430 문제풀이 (2) | 2021.01.16 |
자바 공부 준비(자바 설치, 이클립스 설치, 표준 입출력) (1) | 2021.01.02 |