TIL 6 [ Java( 개념,변수,입출력, 데이터타입, 연산자) ]

2025. 2. 24. 23:52·[내일배움캠프-Sparta]/Spring 6기
반응형

1. 오늘 학습 키워드 : Java 프로그래밍 ( 개념, 변수, 입출력, 데이터타입, 연산자  ) , git 2차 특강

2. 학습 내용을 나만의 언어로 정리
Java는 클래스,객체로 이루어진 언어이다.

 

3. 학습내용

14:00 ~ 16:00  git 2차특강 ( 류제천 튜터님 특강 ) - github 브런치를 활용한 협업 , PR(Pull request)

 

[1-1~1-3 자바 개념] 

문제를 해결하는 과정 - [디버그]

.java 파일 -> 바이트코드 (JVM만 있다면 어디서든 실행 가능) ( 자바 컴파일러 )

자바의 플랫폼 독립성 -> WORA ( 워라 ) 특징 "Write Once, Run Anywhere" 한번 작성시, 어디서든 실행 가능

자바의 특징 : 플랫폼 독립성 (WORA), 모든것이 클래스, 거대한 생태계

 

주 기억장치는 ( RAM  = 메모리 ) 휘발성이고 매우빠르며, 보조기억장치는 ( HDD , SSD ) 느리고, 비휘발성이다.

메모리 관리 ( 1 byte = 8bit )

컴퓨터의 메모리는 1바이트 단위로 주소가 매겨져 관리되며, 1비트는  0또는 1중에서 1개를 저장할수 있는 공간이다.

필요한 데이터 크기를 판단하고, 적당한 크기를 활용해 데이터를 저장하는것이 좋다.

즉, 데이터 크기에 맞춰서 데이터를 저장하면 메모리절약을 하면서 개발하는것이 프로그래머가 되기 좋은 길이다.

 

카멜 케이스 : 대문자가 혹처럼 튀어나옴  ex) firstName, lastName

스네이크케이스 : 언더스코어가 뱀처럼 이어짐 ex) first_name, last_name

 

패키지(폴더)  - Java 프로젝트에서 파일들의 묶음

 

class파일명 표기는 대문자 첫글자 + 카멜표기 식으로 작성

패키지명은 무조건 소문자로 작성

 

[1-4 변수] 

변수는 데이터를 저장하는 공간을 의미한다.

변수 선언 형식  : [자료형] [변수명];

변수명은 숫자로 시작, 공백, 예약어는 사용할 수 없다. ( 단, $, _ 는 사용 가능 )

 

int a; - 변수 선언 

a = 1; a는 변수명, 1은 리터럴 을 의미함.

리터럴 - 변수안에 직접 "넣는 값"

 

int c = 3; 변수 선언, 값 할당 동시에도 가능.

 

자료형(Data Type) - 메모리를 사용하는 단위

(float는 끝에 f로 끝나야 float로 인식함, 없으면 double 형 )

 

변수명 = 데이터 위치

자료형 = 데이터 크기

자료형 데이터 범위

형 변환(캐스팅) 

1. 다운 캐스팅 [ 큰 데이터 => 작은상자 ]  - 데이터 손실 발생 !! , 명시적으로 바꿈

2. 업 캐스팅 [ 작은 데이터 => 큰 상자 ] - 자긍ㄴ 데이터를 큰상자에 옮겨 담으므로 데이터 손실 X

 

문자열(String) - " " 큰따옴표 사용

char a = 'a' ;  ( char 타입은 한 개의 문자만 사용가능 , 작은따옴표 )String b = "abc";  ( String은 앞에 대문자 S를 사용하며, 여러 문자열 , 큰따옴표 사용 )

 

[1-5 입출력(I/O)]

출력(Output) - 컴퓨터가 결과를 콘솔(화면)에 보여주는 것

System.out.println() 출력함수를 통해서 결과를 보여준다.  ( 개행문자 \n , println() < ln 개행 줄바꿈을 의미 ) 

 

입력(Input) - 데이터를 읽을때 객체( Scanner )을 사용함. System도 객체임.

Scanner sc = new Scanner(System.in);  << Scanner은 객체 , sc는 변수명, new부터 뒤는 새로운 객체 생성

 

※ sc.next(), sc.nextLine() 차이  ( 문자열형 )

next()는 띄어쓰기가 된 부분까지만 출력되고

nextLine()은 그에 상관없이 모두가 출력된다.

 

sc.nextInt() - 정수형

sc.nextDouble() - 실수형

 

*실습문제*

입출력 실습문제 Q1 풀이

 

[1-6 연산자]

연산자는 사칙연산을 기본으로, 대입연산자,  증감연산자,  비교연산자, 논리 연산자가 있다.

사칙연산은 ( + , - , *, / ) 은 기본으로 여기에 더해 나머지연산인 ( % ) 를 이용해서 값을 구한다. 

특히, 나머지 연산은 시간 연산이나, 홀짝을 알아내는데 매우 유용하게 쓰인다.

나머지 연산자 풀이

대입 연산자는 변수에 값을 저장하는 것과 같은 개념으로 int num = 3; 했을때 가 대입 연산이다.

주로 보아야 할것은 복합 대입 연산자  ( +=, -=, *=, /= , %= )  이다.

복합 대입연산자는 num += 3 을 했을때, num = num + 3 을 의미하는것 과 같으므로 8이 출력된다.

복합 대입 연산자 코드 예시

증감 연산자 ( ++, -- )는 전위 연산자, 후위 연산자로 나뉜다.

전위 연산자는 값을 먼저 증감을 하고, 그 뒤에 출력을 한다. ( ++x, --x )

후위 연산자 값을 증감하기전에 출력을 먼저하고, 그 함수가 실행이 끝나면 증감을 한다. ( x++, x-- )

 

 

증감 연산자 코드 예시

 

비교 연산자 ( ==, !=, >, >=, < , <= ) 두 값을 비교하는 연산이며, 같다, 같지않다, 크다, 작다, 크거나 같다, 작거나 같다 총 6개로 구성되어있다.

비교 연산자 코드 예시

논리 연산자 ( &&(AND) , || (OR), ! (Not) ) 는 총 3개로 이루어져 있다..

AND (&&) - 두 논리 값이 참이어야 true를 반환.

OR ( || ) - 두 논리 값중 하나라도 참이면 , true를 반환.

NOT ( ! ) - 참이면 거짓, 거짓이면 참을 반환. ex) true -> false , false -> true

논리 연산자 코드 예시

 

연산자 우선순위 : 괄호가 최우선, 산술 -> 비교 -> 논리 ( ! -> && -> || ) -> 대입 연산자

 

문자열 비교는 equals() 함수를 이용해서 사용 하여야한다. ( Java 에서는 , 동등성 문제로 사용함.)

문자열 비교 코드 예시

 

*실습 문제*

연산자 실습문제 Q1 풀이 ,사칙연산(+나머지)

 

연산자 실습문제 Q2 풀이 ( 비교연산자 문제 )
연산자 실습문제 Q3 풀이 ( 문자열 동일 equals함수 )


 - 새롭게 알게 된 점

class파일명 표기는 대문자 첫글자 + 카멜표기 식으로 작성

패키지명은 무조건 소문자로 작성

Intellj에서 sout 를 작성하면, System.out.println()  출력 함수가 자동으로 나오는점.

soutv를 작성하면, 출력함수와 그위에 근접한 변수를 출력하게 작성되게 자동으로 나오는점.

주 기억장치는 ( RAM ) 휘발성이고 매우빠르며, 보조기억장치는 ( HDD , SSD ) 느리고, 비휘발성이다.


4. 내일 학습 할 것: 자바 문법 종합반 1주차 강의완(~2주차 해볼수 있는데까지), git 2차특강 복습

반응형

'[내일배움캠프-Sparta] > Spring 6기' 카테고리의 다른 글

TIL 8 [ Java(final, static, 인터페이스, 객체지향) ]  (0) 2025.02.26
TIL 7 [ Java(조건/반복문, 배열 , 메소드) ]  (0) 2025.02.25
TIL 5 [ Linux명령어, git 복습 ]  (0) 2025.02.21
TIL 4 [ 미니프로젝트 간단 웹 개발 / 배포 + TIL특강 ]  (0) 2025.02.20
TIL 3 [ Firebase배포, DB, URL구조 ]  (0) 2025.02.19
'[내일배움캠프-Sparta]/Spring 6기' 카테고리의 다른 글
  • TIL 8 [ Java(final, static, 인터페이스, 객체지향) ]
  • TIL 7 [ Java(조건/반복문, 배열 , 메소드) ]
  • TIL 5 [ Linux명령어, git 복습 ]
  • TIL 4 [ 미니프로젝트 간단 웹 개발 / 배포 + TIL특강 ]
dimenshun
dimenshun
한 소년의 개발 일기
    반응형
  • dimenshun
    Dev Life Notes
    dimenshun
  • 전체
    오늘
    어제
    • 분류 전체보기 (268)
      • CS (23)
        • 자료구조 (0)
        • 알고리즘 (0)
        • 컴퓨터 구조 (8)
        • 네트워크 (6)
        • 운영체제 (3)
        • DB ( + SQLD ) (5)
        • SW공학 (1)
      • 프로그래밍 (3)
        • Java (0)
        • Spring (0)
        • HTML,CSS (3)
        • JavaScript (0)
      • 개발 툴 (7)
        • Git(버전관리) (1)
        • Docker (3)
        • AWS (2)
        • JSP (1)
      • 코딩테스트(Algorithm) (125)
        • 백준 (6)
        • 프로그래머스 (119)
      • [내일배움캠프-Sparta] (110)
        • Spring 6기 (106)
        • KPT 회고 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    CPU
    Java
    OS
    SQL
    메모리
    db
    코딩테스트
    Python
    It
    내일배움캠프
    KPT
    컴퓨터구조
    spring
    Testcode
    알고리즘
    network
    트랜잭션
    docker
    개발자
    web
    네트워크
    Til
    SQLD
    운영체제
    세션
    배포
    웹
    AWS
    백엔드
    cs
  • hELLO· Designed By정상우.v4.10.3
dimenshun
TIL 6 [ Java( 개념,변수,입출력, 데이터타입, 연산자) ]
상단으로

티스토리툴바