Chapter 1 - Java

이호준·2021년 10월 17일
0

fastcampus

목록 보기
1/6
post-thumbnail

Java(eclipse)

eclipse 설치 과정

생성

new를 사용해 생성자로 생성
class 생성 후 Student studentLee(새로운 변수) = new Student();

public

1개 만 존재
Java 일 때 여러개 존재

fuction

하나의 기능을 수행하는 코드
함수는 호출하며, 사용 가능하고 수행후 return ( 재사용 가능 )
여러 곳에 호출되어 사용 가능

method

기능 구현을 위해 class 내부에 구현되는 함수
(클라이언트 코드)명으로 하는 것이 best!!!
ex) getStudentName()
--> camel notion - 소,대문자 형식
--> pakage 명 - 소문자
--> 변수 - (앞)소문자, (중간)대문자``

1. Java란?

  • 프로그래밍 언어(programing language)
  • 컴퓨터 프로그램을 만드는데 사용
  • 실행환경(JRE) + 개발도구(JDK) + 라이브러리(API)
  • 모던 프로그래밍 언어(객체지향 + 함수형)

1-1. 자바의 특징

  • 배우기 쉬운 객체지향 언어-> 프로그래밍언어 + 객체지향 개념 ( c++, java, python)

  • 자동 메모리 관리 -> 가비지 컬렉터(GC)

    • 가비지 컬렉터(GC)
      -> 시스템에서 더이상 사용하지 않는 동적 할당된 메모리 블럭을 찾아 자동으로 다시 사용 가능한 자원으로 회수하는 것으로 시스템에서 가비지 컬렉션을 수행하는 부분

  • 멀티 쓰레드를 지원 -> 하나의 기능을 수행하면서 다른 기능까지 가능

  • 풍부한 라이브러리로 쉽게 개발

  • 운영체제에 독립적

1-2. 자바 가상 머신(JVM)

  • 자바 프로그램이 실행되는 가상 컴퓨터(VM)
  • 한번 작성하면, 어디서든 실행

2. 변수

2.1 변수들의 종류

- int, double, boolean, char, float, long ...

  • 변수(variable) - 하나의 값을 저장하기 위한 공간
  • 상수(constant) - 한 번만 값을 저장 가능한 변수
  • 리터럴(literal) - 그 자체로 값을 의미하는 것
    boolean
public class BooleanTest {	
	public static void main(String[] args) {
		boolean isMarried = false;
		System.out.println(isMarried);
	}
}

결과 값 : false

Double & Float

public class DoubleTest {
	
	public static void main(String[] args) {
		double dNum = 3.14;
		
		float fNum = 3.14F;
		
		System.out.println(dNum);
		System.out.println(fNum);
	}

}

결과 값 : 
3.14
3.14

3. 변수 선언하기

4. 자료형

long

public class IntegerTest {
	public static void main(String[] args) {
		byte bs = -128; // -128~127
		System.out.println(bs);
		int iVal = 12345678900; //int의 수의 범위에 벗어난 숫자 이므로 오류
	}
    }
public static void main(String[] args) {
		byte bs = -128; // -128~127
		System.out.println(bs);
		long iVal = 12345678900L; //long으로 써주면서 수의 범위를 맞춘다
	}

4.1 인코딩& 디코딩

public class CharTest {
	public static void main(String[] args) {
		char ch = 'A';	
		System.out.print(ch);
		System.out.print((int)ch);
		int ich = 65;
		System.out.print(ich);
		System.out.print((char)ich);
		char hangul = '\uAC00';
		System.out.print(hangul);
	}
}

결과 값: A, 65, 65, A, 가

4.2 화면에서 입력받기 - Scanner

* Scanner란?

  • 화면으로부터 데이터를 입력받는 기능을 제공하는 클래스

* Scanner 사용법...

  • import문 추가
    -> import java.util.*;
  • Scanner 객체의 생성
    -> Scanner scanner = new Scanner (System.in);
  • Scanner 객체를 사용
    -> int num = scanner.nextInt(); // 화면에서 입력받은 정수를 num에 저장

5. 형변환

public class ImplicitConversion {
	public static void main(String[] args) {
	byte bNum = 10;
	int iNum = bNum; // (int-4Byte) (byte-1byte) 이므로 묵시적으로 형변환
	System.out.println(bNum);
	System.out.println(iNum);
	int iNum2 = 20;
	float fNum = iNum2;
	System.out.println(fNum);
	double dNum;
	dNum = fNum +iNum;	
	System.out.println(dNum);
   }
}
public class ExplicitConversion {
	public static void main(String[] args) {		
   	int i = 1000;
	byte bNum = (byte)i; // 명시적으로 byte를 넣으므로써 강제 형변환- 데이터 유실 
	System.out.println(bNum);		
    double dNum1 = 1.2;
	float fNum = 0.9f;
	int iNum1 = (int)dNum1 + (int)fNum; //1+0이 됨 형변환하게되면 소수점 날아감
    	int iNum2 = (int)(dNum1 + fNum); // 더하고 나서 소수점이 날아감 == 2
	System.out.println(iNum1);
	System.out.println(iNum2);
	}
}

ImplicitConversion 결과값 : 10, 10, 20.0, 30.0
ExplicitConversion 결과 값 : -24 , 1, 2

5. 연산자

5.1 항과 연산자

항(operand) : 연산에 사용되는 값
연산자(operator) : 항을 이용하여 연산하는 기호

5.2 대입 연산자

int age = 20;
--> 왼쪽 변수의 값이 오른쪽에 대입(우선 순위가 낮은 연산자)

5.3 증가, 감소 연산자

5.4 논리 연산자

연산의 결과가 true/false로 반환 됨

5.5 삼항 연산자

int 변수 = 조건식?결과1:결과2;

int a = 10;
int b = 20;
int max;
		
max = (a > b)? a:b; //  조건 연산자
System.out.println(max);
   
---> 결과 값 : 20










profile
백엔드/ 개발자

0개의 댓글