Java 02 - 23.01.03

softCoder·2023년 1월 3일
0

Java

목록 보기
2/2

! class name 과 file name은 같아야한다.
! c:\work 폴더에 원하는 것 저장할 것. 금요일에 work폴더만 이동
! CSV(Comma Separated Values): CLI 내에서 문자들을 구분하기 위한 방법 path에서는 ;를 사용하고 / compile에서는 v(space)를 사용하여 구분한다.ex) java Hi 1 2 3
path

컴파일(javac v Hi.java ==> Hi.java 파일을 컴파일 하라)


Java는 O/S에 독립적이다.
단점: app이 없으면 작동하지도 않는다.
다른 언어에 비해 느리다. why? ~.java -> compile(JDK) -> O/S (OS에 바로 작동하는 언어도 있다.)
==> Java는 서버용이다(서버용은 성능이 좋다)

Java Home

  • 'Java home' => c:\programfiles\Java\JDK1.8.0

  • 컴파일 실행 프로그램 c:\programfiles\Java\JDK1.8.0\bin\ Javac.exe

  • java 실행 프로그램 c:\programfiles\Java\JDK1.8.0\bin\ Java.exe

path 설정하기

path: 경로를 알려줄 때 사용 -> 나는 javac.exe가 어디에 있는지 알지만
컴퓨터는 cmd 에서 정확한 경로로 cd 하지 않는 이상 경로를 인지하지 못한다.

  1. echo path: path를 출력
  2. echo %path%: path의 내용을 출력

path 설정해주기

아래를 설정해주고 %path%를 cmd에 입력하면 원하는 경로가 내용에 포함된 것을 볼 수 있다.

JAVA_HOME 변수에 경로 지정하기

c:\programfiles\Java\JDK1.8.0 경로를 JAVA_HOME으로 지정해주고
echo %java_home%로 출력하고 싶을 때.
'시스템 변수'에서 바로 새로만들기 'JAVA_HOME'을 만들어준다.

CLI(console/cmd)에서 java 실행 시키는법

  1. cmd -> java 파일이 존재하는 디렉토리로 변경 (c:\work로 디렉토리 변경)
  2. javac Hi.java -> Hi.java 파일을 compile 하라. ==> class가 생성된다.
  3. java Hi -> 실행

인자를 입력해주어야 하는 경우 파일명(확장자제거) 뒤에 입력해준다.

===> CLI에서 java를 실행하는 경우 복잡하고 과정이 길기 때문에 간편한 툴인 eclipse나 intelij를 사용하는 것.

Data Type

c = c + 10;
c += 10; => 왼쪽에 오른쪽을 더해주고 다시 왼쪽에 저장.
두가지는 동일한 코드다.

Primitive(기본형)

8가지.

  • 숫자

    • 정수:
      • byte => 1byte
      • short => 2byte
      • int => 4byte
      • long => 8byte
    • 실수:
      • float => 4byte
      • double => 8byte
  • 문자: char => 2byte

  • 논리: boolean => 1bit

1 byte = 8 bit (2^8) ㅁㅁㅁㅁㅁㅁㅁㅁ -> 2^8=256 256가지를 나타낼 수 있다. -128~0~127
2 byte = 16 bit (2^16)
4 byte = 32 bit (2^32)
8 byte = 64 bit (2^64)

variable declaration / variable assignment

변수 선언/ 값의 대입
int a ==> 변수 선언(a라는 int 주소를 만들어주기)
a = 10; ==> 값의 대입(a주소에 10을 대입하여 저장)
byte a
int b
byte a = b ===> 불가능하다. int(4byte)를 byte(1byte)에 넣을 수 없다.
int b = a ===> 가능하다. byte(1byte)를 int(4byte)에 넣을 수 있다.

Reference(참조형)


Casting 형변환

작은 data type + 큰 data type ==> 큰 data type으로 묵시적 형변환

묵시적 형변환

ex) byte b1 = 10; / byte b2 = 20; ==> byte b3 = b1+b2;
byte b3 = 30?? 틀렸다.

불가능 !!

기본적으로(암묵적으로) 정수와 정수의 계산 결과는 int로 결과값이 된다.

byte b3 = b1 + b2; ===> int(b1+b2)를 byte(b3)에 넣을 수 없기 때문에 오류 !!

==> int b3 =b1+b2; 로 형변환 시켜주면 오류 제거 됨.

명시적 형변환

==> byte b3 = (byte)(b1+b2);

쓰레기 값 출력되지 않도록 주의할 것 !

b3 => 100으로, byte (1byte: -128~0~127)안으로 들어갈 수 있지만
b4 => 150으로 byte 범위를 벗어나서 쓰레기 값이 출력된다.

쓰레기 값 출력 !!


//실수를 정수형에 대입하면 결과는 --->??
	int i3 = 201/2;   => 100
	System.out.println("i3(201/2): "+i3);
	
//정수의 계산을 실수형에 대입한 결과는 --->??
	double d1 = 201/2;
	System.out.println("d1(201/2): "+d1);
	
//정수 int Data 201을 실수 double Data Type으로 명시적 형변환 후 계산 결과를 double Data type으로 받으면 출력 결과는??
	double d2 = (double)201/2;	
	System.out.println("d2(201/2): "+d2);   ===> 만약  double d2 = (double)(201/2); 로 변경하면 100.0으로 출력된다. 연산 먼저 계산 


용어정리

  • 단어 표기법
  1. Camel Case
    • 단어를 표기할 때 첫 문자는 소문자로 시작하며 띄어쓰기 대신 ( 대문자 ) 로 단어를 구분.
    • Java의 변수를 선언할 때 camelCase로 선언한다.
      ex) phoneNumber, createdAt, updatedAt
    • Java Class -> 대문자부터 시작하는 camel case
      Variable -> 소문자부터 시작하는 camel case
  2. Snake Case
    • 단어를 표기할 때 모두 소문자로 표기하며, 띄어쓰기 대신 ( _ ) 로 표기
    • DB 컬럼에 사용
      ex) phone_number, created_at, updated_at
  3. Upper Case
    • 단어의 첫글자만 대문자, Java Class 파일에서 사용
      ex) User, Customer, Intro
  • IDE: Integrated Development Environment 통합 개발환경 sw app 인터페이스

  • Class indentified -> 대문자 시작 camel case

  • Variable indentified -> 소문자 시작 camel case

  • declaration: (변수) 선언

  • variable declaration: 변수 선언

  • variable assignment: 값의 대입

  • casting: 형변환

  • API: 주로 API통신 규격에서는 Snake Case를 많이 사용한다.

  • DB: Snake Case

  • method: 행위/ java application 에서 method가 없으면 절대 실행될 수 없음.
    가장 먼저 실행되는 부분

  • Identifier: 식별자/ 직접 만들어줘야함, 변수명, 클래스명, 메소드명 등/ 숫자로 시작할 수는 없다

  • Keyword: 예약어/ 프로그래밍 언어에 미리 정의된 의미있는 단어/ 식별자로 사용하지 않는다
    int a = 1; ==> int: keyword / a: identifier

  • implicit casting: 암묵적 형변환 / 자료범위가 좁은 자료형 -> 넓은 자료형 변환==> 자동으로 행함

  • explicit casting: 명시적 형변환 / 넓은 자료형 -> 좁은 자료형 변환 ==> 강제로 변환해주어야함

  • append: 덧붙이다, 첨부하다

  • UTF-8:Unicode Transformation Format - 8bit

  • OOPL:객체지향언어 Object Oriendted Programming Language

  • Interpreted: 인터프리터(JRE)
    java programming -> compile -> 인터프리터(JRE) -> 컴퓨터 인식

  • CSV: CSV(Comma Separated Values): CLI 내에서 문자들을 구분하기 위한 방법 path에서는 ;를 사용하고 / compile에서는 v(space)를 사용하여 구분한다.ex) java Hi 1 2 3

  • URL: Uniform Resource Locator

  • SDK: Software Development Kit(Jdk 보다 포괄적인 개념)

  • cmd: command

  • CLI (=console): Command Line Interface

  • Configuration: 환경설정, 배열 배치, 구성

  • cd: change directory

  • echo: 메아리; 에코 서버란, 클라이언트가 전송해 주는 데이터를 그대로 되돌려 전송해
    주는 기능의 서버를 의미한다.

profile
개발 입문자입니다

0개의 댓글