/*
*/ 여러줄 주석
// 한줄주석
클래스의 이름은 코드작성창에서 바꿀 수 없음
클래스의 이름을 바꾸고 코드작성창에서 클래스명을 바꿔주면
오류없이 작동
메소드는 함수와 비슷함
메소드의 반환값을 지정해줘야한다.
클래스의 구조:
메인 메소드는 꼭 클래스가 가질 필요는 없다.
모든 클래스에 메인이 포함되지는않는다.
패키지 이름은 소문자를 쓰는게 정석이다!
클래스의 이름은 대문자로 시작
클래스: 객체 지향 언어에서 프로그램을 개발하는 단위
메서드: 수행할 작업을 나열한 코드의 모임
실행문: 작업을 지시하는 변수 선언, 값 저장, 메서드 호출 등의 코드
문자,언더바,$로 시작, 영문대소문자 구분, 한글 가능
연산자를 포함하면 안된다
자바 키워드를 사용하면 안된다
길이 제한 없음
숫자로 시작할 수 없음
공백불가능
변수와 메서드는 모두 소문자로 표기
복합 단어일 때 두번째 단어부터 첫글자 대문자
클래스와 인터페이스는 첫 자만 대문자로 표기
Boolean 타입의 변수명은 is로 시작
복합단어일때도 마찬가지
상수는 전체를 대문자로 표기
복합단어일때는 언더바로 연결
상수 : 자기자신이 값을 가진 것
Final : 변하지않는 값이다~
제한(limit)에서 많이 사용됨.
정수타입 : byte , short, int(기본), long (메모리 크기 순서)
문자타입 : char(문자 한개만 저장 가능, ''로 감싸야한다! 문자열은 "")
실수타입 : float( ex)float PI = 3.14f; , double(더 길게,기본)
논리타입: boolean
값이 존재하는지, 배열이 비었는지, 결과가 참인지 거짓인지 등을 표현
변수 : 변하는 값을 저장하는 공간
자료형 변수명 = 값;
변수명 : 값을 저장하는 메모리 번지에 붙이는 이름
변수 선언 int age;
변수 초기화 age = 10;
선언과 초기화는 동시에 가능
= : 할당, 대입연산자 연산의 우선순위가 최하위
변수선언은 위쪽에
리터럴 : 변수안의 값
여러개의 변수를 ,로 연결해 선언가능
<< 고정 소수점과 반대되는 개념
5x10**-2 > 부동소수점 방식
0.05 > 고정소수점 방식
실수는 정수보다 정밀하기때문에 부동소수점방식으로 표기
(그냥 이렇대..)
더블형이 정밀한 수를 나타낼 수 있음.
뭔가 단점이 있다..
Char c = 'A';
Char c = 65; 일종의 정수타입이라 65 대입 가능 = 아스키코드
Char c = '\u0041'; 유니코드 값으로 대입
Char c = "A"; (문자가 아니라 문자열로 감쌌기때문에 오류)
Boolean 변수명(is머시깽) = true;
문자세트 : 각 문자를 숫자와 매칭시킨 것
인코딩
컴퓨터에 입력 원래 리터럴값을 변환값으로 바꿔주는것
디코딩
컴퓨터가 반환 변환값을 원래 리터럴값으로 바꿔주는것
각 나라 언어 표현의 필요성으로 유니코드(UNI CODE) 개발
자바 10부터 지원
변수에 대입되는 초기값을 통하여 데이터 타입을 컴파일러가 추론
식별자로 사용가능
변경할 수 없는 데이터(변하지않아야하는 값)를 담는 변수
변수와 구분하려고 모두 대문자로 표기
반드시 final 키워드로 지정
자동타입변환(묵시적 형변환)
>(작은 범위의 수를 큰 범위의 형에 넣을때)
강제타입변환(명시적 형변환)
>(큰 범위의 수를 작은 범위의 형에 넣을때)
Double d1 = 5*3.14
// double의 3.14를 float로 형변환해 f에 저장
// 정수 5를 실수 5.0으로 자동 변환
Float f = (float)3.14;
Double d2 = 1;
//int의 300을 byte 형태로 변환하면 데이터손실
//정수 1을 실수로 자동 변환
Byte i = (byte)300;
키보드로 데이터 입력
Import java.utl.Scanner;
Scanner in = new Scanner(system.in)
단항 연산자가 우선순위가 제일 높다
기초타입에서만 사용할 수 있다.
결과도 true or false
논리타입에만 사용 가능
And연산자에서 앞 조건식이 false면 조건식2 와는 관계없이 false가 나온다.
Or연산자에서 앞 조건식이 true면 조건식2와는 관계없이 true가 나온다.
정수타입에만 사용
#개발자로 일하면서 쓸 일이 없을것이다~
증감연산자는 변수의 위치에 따라 의미가 다르다
타입이 허용하는 최대값을 벗어나는 것
타입이 허용하는 최소값을 벗어나는 것
조건식? 연산1:연산2 >> 조건 true :연산1 , 조건 false : 연산2