Programming Language/Java

[Java] 변수와 자료형 / 연산자 / 조건문, 반복문

성니 2021. 1. 10. 22:34

http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788994492032&orderClick=LEa&Kc=

 

Java의 정석 - 교보문고

자바의 기초부터 객제지향개념을 넘어 실전활용까지 수록한『Java의 정석』. 저자의 오랜 실무경험과 강의한 내용으로 구성되어 자바를 처음 배우는 초보자들의 궁금한 점을 빠짐없이 담고 있

www.kyobobook.co.kr

 

1. 변수와 자료형

 

* 변수의 명명규칙

1. 대소문자가 구분되며 길이에 제한이 없다

2. 예약어를 사용해서는 안 된다

3. 숫자로 시작해서는 안 된다

4. 특수문자는 '_'와 '$'만을 허용한다

 

package iamseongni.hello.eclipse;

public class Hello {

	public static void main(String[] args) {
		int year  = 0;
		int age = 14;
		
		System.out.println(year);
		System.out.println(age);
		
		year = age + 2000;
		age = age + 1;
		
		System.out.println(year);
		System.out.println(age);
	}

}

실행결과

 

System.out.println(year); // 변수 year의 값을 출력
System.out.println(age);  // 변수 age의 값을 출력

변수와 관련한 아주 기본적인 부분은 C에서 배운 내용과 비슷해서 생략한다.

기본적인 출력 코드는 위의 코드를 참조하자.

 

package iamseongni.hello.eclipse;

public class Hello {

	public static void main(String[] args) {
		int x = 10, y = 20;
		int tmp = 0;
		
		System.out.println("x:"+ x + " y:" + y);
		
        // tmp 변수를 이용해서 x와 y의 값을 교환
		tmp = x;
		x = y;
		y = tmp;
		
		System.out.println("x:"+ x + " y:" + y);
	}

}

실행결과

▶ 덧셈 연산자 : 두 값, 두 문자열, 문자열과 숫자를 더할 수 있다

피연산자가 모두 숫자일 때는 두 수를 모두 더한다.

그러나, 피연산자 둘 중 하나가 문자열인 경우, 문자열이 아닌 피연산자를 먼저 문자열로 변환한 후 두 문자열을 더한다.

7 + " " → "7" + " " → "7 "

★기본형 타입의 값을 문자열로 변환할 때는 빈 문자열("")을 더해주면 된다

 

▶ 문자 리터럴 : 'A'와 같이 작은따옴표로 문자 하나를 감싼 것

문자열 리터럴 : "JAVA"와 같이 두 문자 이상을 큰따옴표로 감싼 것

 

 

* 기본형 변수

분류 타입
논리형 boolean
true와 false 중 하나를 값으로 갖고, 조건식과 논리적 계산에 사용됨
문자형 char
문자를 저장하는데 사용되고, 변수에 하나의 문자만 저장 가능
정수형 byte, short, int, long
정수를 저장하는데 사용되며, 주로 int가 사용됨
실수형 float, double
실수를 저장하는데 사용되며, 주로 double이 사용됨

 

* 상수와 리터럴

▶ 상수(constant) : 값을 저장할 수 있는 공간이지만, 한 번 값을 저장하면 다른 값으로 변경할 수 없다.

선언하는 방법은 변수와 동일한데, 단지 변수의 타입 앞에 final을 붙여주기만 하면 된다.

final int MAX = 100; // 상수 MAX를 선언 & 초기화

반드시 선언과 동시에 초기화를 해야 하며, 이후에 상수의 값을 변경하는 것이 허용되지 않는다.

 

▶ 리터럴(literal) : 12, 123, 3.14, 'A'와 같은 값. 우리가 기존에 알고 있던 '상수'의 다른 이름

final int FURNITURE = 100;
/* FURNITURE이 상수, 100이 리터럴 */

 

 

* 형식화된 출력 - printf()

println()은 변수의 값을 그대로 출력하기 때문에, 값을 변환하지 않고는 다른 형식으로 출력 불가능하다. 이때 printf()와 지시자(specifier)를 사용하면 같은 값이라도 다른 형식으로 출력할 수 있다.

 

지시자 설명
%b 부울리안(boolean) 형식으로 출력
%d 10진(decimal) 정수의 형식으로 출력
%o 8진(octal) 정수의 형식으로 출력
%x, %X 16진(hexa-decimal) 정수의 형식으로 출력

 

 

 

println은 그대로, printf는 형변환 가능. printf 지시자를 이용해 21을 10진수와 18진수로 출력한 예제.

 

 

 

2. 연산자

 

4 * x + 3; // x=5
4 * 5 + 3;
23;
// 결과를 얻었지만 값이 쓰이지 않고 그냥 사라지기 때문에 의미가 없다.

y = 4 * x + 3;
y = 4 * 5 + 3;
y = 23;
// 대입 연산자 '='를 사용해서 변수에 결과를 저장해야 한다.

y = 4 * x + 3;
System.out.println(y); // 변수 y의 값을 출력

/* 결과 출력만을 원하고, 변수에 저장하지 않기를 원하는 경우*/
System.out.println(4 * x + 3);
System.out.println(23); // 23이 화면에 출력

 

 

 

 

연산자와 관련한 아주 기본적인 부분은 C에서 배운 내용과 비슷해서 생략한다.

 

1. 산술 > 비교 > 논리 > 대입. 대입은 제일 마지막에 수행된다.

2. 단항(1) > 이항(2) > 삼항(3). 단항 연산자의 우선순위가 이항 연산자보다 높다.

3. 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다.

 

 

 

곱연산을 수행하고 결과를 저장 후 출력 / 저장하지 않고 출력하는 예제

 

 

3. 조건문과 반복문

 

* 조건문

if, else, if-else, if-else if, switch

 

if-else문을 활용하여 홀수와 짝수를 판별하는 예제.

 

짝수를 입력받을 경우, 문장 출력

 

 

 

* 반복문

for, while, do-while, continue, break

 

for문을 이용해서 숫자 세기 / 반대로 세기 예제

 

728x90