티스토리 뷰
1. Identifier - 클래스, 메소드, 패키지, 속성, 변수 등을 식별할 수 있는 식별자 - 대소문자 가림
public class Demo {
public static void main(String args[]) {
int i = 20;
}
}
1-1 Demo, main, String, args, i 5개의 identifier가 있다. int는 keyword이다.
1-2 [A-Z], [a-z],[0-9], $, _ 사용가능. 첫글자는 숫자를 허용하지 않음
1-3 reserved name은 허용하지 않음
1-4 클래스 이름을 identifier로 사용가능함 String String = "TEST"
2. reserved words
2-1 literals, keywords
3. keywords
3-1 모두 소문자로 되어 있음
3-2 goto, const는 keyword이지만 사용되지 않음
3-3 null은 keyword가 아니라 literal이다.
4. literal
4-1 literal은 contant value으로 변수에 할당할 수 있다.
4-2 null, true, false 는 대표적 literal 이다.
4-3 특별한 것이 아니라 할당이 가능한 값들을 literal이라고 한다.
5. var - java 10 이상
5-1 var str = "my string"; 이런 식의 추론가능한 타입을 대신하여 사용가능함
6. Data Type
6-1 byte: 8bit -128 to 127 signed two's complement integer
6-2 short: 16bit -32768 to 32767 signed two's complement integer
6-3 byte, short는 대형 배열의 메모리 절약에 유용하다.
6-4 int: signed two's complement integer -2^31 to 2^31 - 1 Java8이후 Integer unsigned가 가능 0 to 2^32 -1
6-5 long: signed two's complement integer -2^63 to 2^63 - 1 Java8이후 Long unsigned가 가능 0 to 2^64 -1
6-6 float: 32bit floating point 뒤에 f나 F를 붙여 주어야 함
6-7 double: 64bit floating point default 타입
6-8 boolean: true or false
6-9 char: 16bit Unicode character. 하나의 문자열을 표현함
7. type casting
7-1 Implicit - 자동변환으로 두 타입이 서로 compatible해야 하고 타겟의 타입이 소스타입보다 커야 한다.
7-2 long -> float or double은 분명 정보 손실이 발생하지만 결과값은 least significant bit을 손실이고 round된 long값을 가지기 때문에 정확성이 떨어지지만 source의 전체 범위를 커버하기 대문에 자동 컨버전을 지원한다.
7-2 explicit - 사용자가 강제적이고 명시적으로 하는 변환
8. final
8-1 final은 상수를 만든다.
9. Wrapper 클래스
9-1 모든 primitive type에 대한 클래스형식의 지원이다.
10. Primitive variable의 메소드 전달방식
10-1 자바는 기본적으로 call by value이다. primitive 방식은 값을 복사하여 전달된다.
'Languages' 카테고리의 다른 글
Java : Optional (0) | 2020.07.28 |
---|---|
Java 2. main 메소드 (0) | 2020.07.06 |
Typescript : Generic (0) | 2020.06.14 |
Typescript : tsconfig.json 파일 (0) | 2020.06.14 |
Typescript Basic : 인터페이스 (0) | 2020.05.13 |
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- jsp
- Spring Security
- hibernate
- 자바
- one-to-many
- 외부파일
- 설정하기
- Security
- WebMvc
- Rest
- Spring
- XML
- 설정
- Angular
- spring boot
- crud
- Validation
- mapping
- one-to-one
- login
- 매핑
- RestTemplate
- 로그인
- 스프링
- 스프링부트
- 하이버네이트
- Many-To-Many
- MYSQL
- 상속
- form