자바(JAVA)/미니 프로젝트 & 기초 공부

Java 기초 다시 공부하기 5주차 - Java, 변수와 자료형, 연산자, 조건문, 반복문, 다차원 배열

개발학생 2024. 8. 9. 16:08
반응형

1. Java

- 독립적인 플랫폼: 운영체제에 따라 코드를 재작성하는 과정이 필요없음

- 객체 지향 언어: 절차 지향적 언어에 비해 생산성과 보안성이 높음

- 자바 프로그램 작성/실행 과정 

- 활용: 웹/모바일/엔터프라이즈 애플리케이션, 웹/앱 서버

- 플랫폼: Java SE(Standard Edition/기본 개발 환경), Java EE(Enterprice Edition/서버 기반 프로그램 개발 환경),

               Java ME(Micro Edition/모바일, 임베디드 시스템 개발 환경)

2. 변수와 자료형

1) 변수(Variable)

- 데이터를 저장하는 메모리 공간에 붙여준 이름

int age = 20;
String country = "Korea";

 

- 이름 규칙: 문자와 숫자, _(underscore, underbar), $ 사용 가능, 숫자로 시작 x, 대소문자 구분, 공백 사용 x,

                   예약어(true, false, if, continue 등) 사용 x

- 표기법

  카멜 표기법(camelCase) 파스칼 표기법(PascalCase)
설명 가장 앞의 문자는 소문자, 나머지 단어의 첫 문자는 대문자 각 문자의 첫 문자를 대문자로
예시 myName, iPhone, powerPoint MyName, IPhone, PowerPoint

 

2) 자료형(Data Type)

- 변수의 종류, 단위

- 변수 종류에 따라 담을 수 있는 데이터의 타입과 크기가 다름 

(1) 숫자(Number) - 숫자 형태의 자료형

종류 예시
정수 int intNum = 10;
long longNum = 2147483648L;
실수 float floatNum = 0.1f;
double doubleNum = 3.4028236E38;
2진수, 8진수, 16진수 // 10진수 12를 다른 진수로 표현 시
int number2 = 0b1100;
int number8 = 014;
int number16 = 0xC;

(2) 부울(Boolean) - 참과 거짓을 나타내는 자료형

boolean isPass = true;
boolean isOk = false;

(3) 문자(Character) - 한 개의 문자 표현에 사용하는 자료형

char keyFirst = 'a';
char keySecond = 'b';

(4) 문자열(String) - 문자들로 이루어진 집합

* 문자열 메서드: equals, indexOf, replace, substring, toUpperCase(대문자로 변환)

String s1 = "Hello World!";
String s2 = "01234";

(5) StringBuffer - 문자열을 자주 추가하거나 변경할 때 사용

*스트링버퍼 메서드: append, insert, substring

StringBuffer sb1 = new StringBuffer("Hello World!");

(6) 배열(Array) - 많은 수의 데이터를 담을 수 있는 자료형

int[] array1 = {1, 2, 3, 4, 5};
char[] array2 = {'a', 'b', 'c', 'd', 'e'};

(7) 리스트(List) - 배열과 같이 여러 데이터를 담을 수 있는 자료형(추가로 여러 메서드 제공)

* 리스트 메서드: add, get, size, remove, clear, sort, contains

ArrayList list = new ArrayList();
list.add(1);

(8) 맵(Map) - key:value 형태로 데이터 저장

* 맵 메서드: put, get, size, remove, containsKey

HashMap<String, String> map = new HashMap<String, String>();
map.put("product", "kiwi");
map.put("price", "9000");

(9) 제너릭스(Generics) - 자료형 명시적으로 지정, 제한적으로 안정성을 높여주고 형변환을 줄여줌

ArrayList<String> al = new ArrayList<String>();
HashMap<String Integer> hash = new HashMap<String, Integer>();

3. 연산자 

1) 기본 연산자

(1) 항과 연산자

- 단항 연산자: 항이 한 개(ex: num++)

- 이항 연산자: 항이 두 개(ex: 1+1)

- 삼항 연산자: 항이 세 개(ex: (3>1) ? 1:0)

(2) 대입 연산자(=)

- 우측 데이터를 좌측 변수에 대입(ex: int num = 100;)

(3) 부호 연산자(+, -)

- 부호를 나타내는 연산자(ex: +10, -10)

(4) 산술 연산자(+, -, *,  /, %)

- 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%)
   -> ex: 10 % 3 == 1

(5) 증가/감소 연산자(++, - -)

- 값을 1만큼 늘리거나 1만큼 줄임
  -> ex: num++, ++num, num--, --num

(6) 관계 연산자(>, <, >=, <=, ==, !=)

- 두 항의 값 크기 비교 (결과 값은 비교 결과에 따라 true 또는 false)
   -> ex: 10>9, 5!=3

(7) 논리 연산자(&&, ||, !)

- 논리식에 대해 참 거짓 판단 (결과 값은 true 또는 false)
   -> ex: (10 > 9) && (1 == 0) (10 > 9) || (1 == 0)

(8) 복합 대입 연산자 

- 대입 연산자와 다른 연산자를 조합한 연산으로, 코드를 간결하게 작성할 때 사용
   -> ex: num1 += num2;

             num1 %= num2;

2) 비트 연산자

(1) 2진법

- 컴퓨터에서 데이터 표현에 사용하는, 2를 기반으로 하는 숫자 체계

(2) 2의 보수

- 2의 제곱수에서 빼서 얻은 이진수
  -> ex: 2진수 3의 2의 보수: 11 → 01

(3) 비트 연산자

- 비트 단위로 연산

- 기본 연산자와 비교

(4) 비트 논리 연산자 (&, |, ^, ~)

- AND 연산자(&): 두 개의 비트 값이 모두 1인 경우에만 결과 1

(5) 비트 이동 연산자 (<<, >>, >>>)

- << 연산자: 비트를 왼쪽으로 이동

- >> 연산자: 비트를 오른쪽으로 이동

- >>> 연산자: 비트를 오른쪽으로 이동(부호비트 상관 없이 0으로 채움)

4. 조건문

1) if - 조건에 따라 무엇을 실행할지 판단하는 분기 구조

if (조건문 1) {
	조건문 1을 만족할 때 실행할 내용;
} else if (조건문 2) {
	조건문 2를 만족할 때 실행할 내용;
} else {
	그 외의 상황에서 실행할 내용;
}

2) switch - 입력 값에 따라 어떤 case를 실행할 지 판단하는 분기 구조

switch (입력 값) {
	case 입력 값 1:
    	실행할 내용;
        break;
	case 입력 값 2: 
    	실행할 내용;
        break;
    ...
    default:
    	실행할 내용;
        break;
}

5. 반복문

1) for - 주어진 횟수만큼 반복하여 실행

for (초기치; 조건문; 증가치;) {
	반복하여 실행할 내용;
}

2) while - 조건문이 만족하는 동안 반복하여 실행하는 구조

- while과 do-while이 있음

while (조건문) {
	반복하여 실행할 내용;
}

do {
	반복하여 실행할 내용;
} while (조건문);

6. 다차원 배열

1) 일차원 배열

int[] array1 = {1, 2, 3, 4, 5};
char[] array2 = {'a', 'b', 'c', 'd', 'e'};

2) 이차원 배열

자료형   변수명     초기화 자료
int[][] array3 = {{1,2,3}, {4,5,6}};
                        행 열
int[][] array4 = new int[1][2];

3) 다차원 배열

int[][][] array5 = {{{1,2}, {3,4}}, {{5,6}, {7,8}}};
반응형