자바의 기초?에 관한 내용 정리
1. JDK : 자바 개발 도구 / Compiler : .java -> .class로 변환 해주는데 도와준다
2. JRE : 자바 실행 환경 / 실행하기 전에 먼저 프로그램에 메인 메서드를 포함하고 있는지 확인하면 JVM을 부팅한다
3. JDB : 디버깅
4. JVM : 자바 가상 기계 / Java프로그램이 실행되는 가상 컴퓨터 생각하면 된다.
javac.exe : 자바 컴파일러. 사람이 작성한 문장을 기계어로 번역 , (.java)을 (.class)로 변환
java.exe : 자바 인터 프리터. 클래스 파일을 실행
main 메소드 : 자바 프로젝트는 , 제일 번저 메인 클래스의 main 메소드를 실행 시킨다 = JVM의 약속
static : 이프로그램이 시작될때 무조건 실행되는 녀석임을 표현
void : 매서드의 출력 값의 데이터 타입 , void -> 아무것도 없다 OUT PUT
String[] args : 매개 변수 자리 inPUT
class : 자바 프로그램의 단위 자바프로그램은 클래스들로 구성
main 메서드 - 자바 프로그램의 시작점, main 메서드 없이 실행 불가
변수 : 프로그래밍 언어 에서는 하나의 값을 저장할수 있는 메모리 공간이다.
방법 : 변수 타입 "변수 이름"
ex) int age; //정수타입의 age라는 이름의 변수를 선언
상수 : 변하지 않는 저장공간
기본형 변수 : boolean -> True/False 값만 저장
문자형 변수 : char -> 문자 하나만 저장
정수형 변수 : 정수형 숫자값을 저장
정수형 변수 표현 범위 : 표현 범위를 초과하면 ERROR 발생한다.
실수형 변수 : 소수점 실수값을 저장
실수형 변수의 표현
참조형 변수 : String(문자열 변수),arry(배열) / 무언가 복잡한값을 저장할 때
문자와 문자열의 차이점
- 선언 관점에서 차이
char형은 문자 1개만 저장하여 ''로 선언 합니다.
String형은 문장의 형태로 저장하기 때문에 ""로 선언합니다.- 저장관점에서 차이
char형은 문자 뒤에 \0이 없다.
String 형은 끝맺음을 표시하기 위해 마지막에 \0이 있다.
참조형
참조형 변수 = 주소형 변수
기본형 변수는 실제 값을 저장 하지만
참조형 변수는 실제 값이 아닌 원본 값의 주솟값을 저장
형변환 : 변수의 타입을 바꾼다
ex>
문자열 -> 숫자
정수 -> 숫자
실수 -> 정수
변수 관련 예제
import java.util.Arrays;
import java.util.Scanner;
public class main {
public static void main(String[] args) {
//객체 : 특징(속성, 변수) , 행동 (메소드)
//. 하위 개채 접속 할때 주로 사용,System 안에 out이라는 하위 개채에 접속
// 1. boolean
//boolean flag = true;
final boolean flag; //상수 선언
flag = true;
System.out.println(flag); // ture 값 출력
// 2. char
char alphabet = 'A';
System.out.println(alphabet); //A 출력
// 3. 정수형
byte bytenumber = 127;
short shortnumber = 32767;
int intnumber = 2147483647;
long longnumber = 32768L;
System.out.println(bytenumber); //127
System.out.println(shortnumber); //32767
System.out.println(intnumber); //2147483647
System.out.println(longnumber); //32768L
// 4. 실수형
//float ,double
float floatnumber = 3.14159265f;
double doublenumber = 3.14159265;
System.out.println(floatnumber);
System.out.println(doublenumber);
//참조형 변수
//1. String
String HelloWorld = "Hello World";
System.out.println(HelloWorld); //"Hello World"
//2. 배열 arry
int[] a = {1,2,3};
System.out.println(Arrays.toString(a));
//래퍼 클래스
int number = 21;
Integer num = number;
System.out.println(num.intValue());
//숫자 → 문자 변환
//import java.util.Scanner 포함
Scanner sc = new Scanner(System.in);
int asciiNumber = sc.nextInt(); //nextInt() 문자 하나 하나를 읽는다
char ch = (char)asciiNumber; // 문자로 형변환을 해주면 숫자에 맞는 문자로 표현됩니다.
System.out.println(ch);
//문자 -> 숫자 변환
Scanner scc = new Scanner(System.in);
char letter = scc.nextLine().charAt(0); // 첫번째 글자만 받아오기위해 charAt(0) 메서드를 사용합니다.
int asciiNumberc = (int)letter; // 숫자로 형변환을 해주면 저장되어있던 아스키 숫자값으로 표현됩니다.
System.out.println(asciiNumberc);
//형변환 실습 실수 -> 정수
double doubleNumber1 = 10.1010;
float floatNumber1 = 10.1010f;
//int 형으로 변환
int intNumber1 = (int)doubleNumber1;
System.out.println("double type : "+ doubleNumber1);
System.out.println("int type : "+ intNumber1+"\n");
int intNumber2 = (int)floatNumber1;
System.out.println("float type : "+ intNumber2);
System.out.println("int type : "+ intNumber2+"\n");
//형변환 실습 정수 -> 실수
int intNumber3 = 10;
double doubleNumber2 = (double)intNumber3;
float floatNumber2 = (float) intNumber3;
System.out.println("int type : "+ intNumber3);
System.out.println("double type : "+ doubleNumber2);
System.out.println("float type : "+ floatNumber2+"\n");
//자동형변환 -> 작은 크기의 변수 타입에서 큰크기의 변수 타입으로 자동으로 변환 한다
//byte -> int
byte bytenumber2 = 10;
int intnumber4 = bytenumber2;
System.out.println(intnumber4+"\n");
//char -> int
char charAlpabet = 'A';
intnumber4 = charAlpabet;
System.out.println(intnumber4+"\n");
//int -> long
intnumber4 = 100;
long longNumber = intnumber4;
System.out.println(longNumber+"\n");
//int -> double
intnumber4 = 200;
double doublenumber3 = intnumber4;
System.out.println(doublenumber3+"\n");
//작은 크기의 타입이 큰크기 타입과 계산 할때 자동으로 큰 크기 타입으로 형변환
int aa = 10;
double b = 5.5;
double result = aa+b;
System.out.println("plus ->" + result+"\n");
//1 정수로 나누기
int iResult = aa / 4;
//2 실수로 나누기
double dResult = aa / 4.0;
System.out.println("iResutl:" + iResult );
System.out.println("dResult:" + dResult );
}
}