Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 브로드캐스트
- 백준
- name=springapplication
- 유니캐스트
- ubuntu
- 배열빈도수
- javax.management.instancenotfoundexception: org.springframework.boot:type=admin
- 페이로드
- 배열복사
- 리눅스환경
- docker
- wan
- 모래시계출력
- 배열최소값최대값
- Decapsulation
- 디비버
- 백준1946
- 도커
- springboot
- SpringApplication
- dbeaver
- 도커권한설정
- jmx
- instancenotfoundexception
- 네트워크모델
- 오름차순
- 리눅스계열
- 포트포워딩
- 우분투
- 포트포워딩 안될때
Archives
- Today
- Total
다잘하고싶어
자바기초 본문
목차
더보기
목차
프로그램과 운영체제
컴퓨터의 자료표현
자바 가상 머신 JVM
JRE vs JDK
메모장으로 코딩 후 실행하기
주석
출력문( print, println, printf)
이클립스 기본설정
변수 (데이터타입, 형변환)
연산자
조건문
반복문
break, continue
프로그램
- 명령어 → 일 해!( ex. 연산)
- 프로그램 = 명령어들의 묶음, 작업지침서
최초의 컴퓨터 : ENIAC(애니악, Electronic Numerical Integrator and Computer)
- 1945년, 포병에서 궤적을 계산하기 위해 만들어짐.
- 정밀한 계산
- 사람이 20시간 걸리는 일을 30초만에 해결 가능해짐.
- 2400명의 사람 대체
운영체제
- 시스템 하드웨어 관리 + 응용소프트웨어를 실행하기 위해 하드웨어 추상화 플랫폼을 제공하는 것
- 종류 : 리눅스, 윈도우, OS, 안드로이드(모바일)
컴퓨터의 자료 표현
비트(Bit)
- Binary digit
- 컴퓨터가 값을 저장할 수 있는 최소단위
- ex. 비트가 2개라면 4가지의 값을 표현할 수 있다.(00,01,10,11)
바이트(Byte)
- 8비트 → 256가지의 값 표현 가능( 2의 8승)
- 정보의 최소 단위
- -128부터 127까지
2진수
- 자바에서 음수를 표현?
- 비트를 반전시킨다. → 마지막에 1을 더한다
자바 가상 머신( Java Virtual Machine)
- 자바 바이트 코드를 실행할 수 있는 주체
- 자바 바이트 코드는 기계어와 유사하지만 기계어는 아님( 그 전 단계)
장점
- 컴파일을 한 번만 해도 된다.
- 운영체제에 맞게 코드를 짤 필요가 없다.(운영체제와 독립적 운영이 가능)
JDK vs JRE
- JDK : 개발자 도구 ( JRE + 개발에 필요한 도구)
- 개발에 필요한 도구 ex. 컴파일러, 디버거
- JRE : 자바 실행 환경 ( JVM 포함)
메모장에 코딩한 후에 C드라이브 Temp 폴더에 파일형식을 모든파일로 바꿔주고 txt 파일이 아닌 ~~.java 파일로 저장해준다
cmd 창을 켠다.
javac → 자바파일을 컴파일해줘 (소스코드를 바이트 코드로 만드는 과정)
javac Hello.java
바이트 코드를 JVM 을 사용해서 실행시킴
메인메소드
- 실행명령인 java 를 실행할 때 가장 먼저 호출되는 부분
- Application 에서 main() 메소드가 없다면 절대 실행되지 않는다
주석
// : 한 줄 주석
/* */ : 여러 줄 주석
/** */ : documentation API 를 위한 주석처리
-> javadoc API 를 사용하면 이 주석만 읽어서 document 파일을 만들어준다.
출력문
- 문자열 출력
println
- 문자열 + 개행문자(엔터)
printf
- 형식 지정자를 사용해서 출력하는 메소드
- f 는 포맷의 약자
- %d : 정수 → decimal , 10진수의 약자
- %f : 실수 →
- %c : 문자 → char
- %s : 문자열 → string
⇒ 실습
- 역슬래쉬를 출력하고 싶다면? 2개가 필요!
- 따옴표를 출력하고 싶다면? 따옴표 앞에 \를 넣어준다
System.out.println("\\\\");
System.out.println("\\"");
- printf 실습
System.out.printf("%d\\n", 10);
System.out.printf("%4d\\n", 10); //4칸을 확보한 다음, 오른쪽 정렬
System.out.printf("%-4d\\n", 10 ); //-를 붙이면 4칸을 확보한 다음, 왼쪽 정렬
System.out.printf("%04d\\n",10); //4칸을 확보한 다음 빈칸은 0, 오른쪽 정렬
System.out.printf("%f\\n", 10.1);
System.out.printf("%.2f", 10.123456);
결과 출력
이클립스 ( 기본 설정하기 )
- 이클립스를 가장 먼저 실행했을 때 해야할 것?
⇒ 인코딩 확인
워크스페이스와 CSS, HTML, JSP 모두 UTF-8 로 설정을 맞춰주기
⇒ perspective 도 Java 로 설정해준다
⇒ 프로젝트를 설정할때는 JRE가 내가 원하는 버전과 맞는지도 한번 체크해주기.
변수
- 정의 : 데이터를 저장할 메모리의 위치를 나타내는 이름
- 메모리의 단위 : 1바이트
데이터타입
- 기본자료형
- 참조자료형
- 실수형의 특징
- 근사값 ( 정확하지 x )
- 유효숫자 ( 정밀도 : float → 6-7개, double → 15개)
- 정밀도를 포기한 대신 값을 표현할 수 있는 범위가 넓다
선언, 저장, 할당
- int 와 달리 String 은 주소값을 저장해둔다.
데이터 형변환
묵시적 형변환 (암묵적) Implicit Casting
- 작은집 → 큰 집 이동 (집 : 범위)
- 범위가 넓은 데이터형에 좁은 데이터 형을 대입하는 것
명시적 형변환 Explicit Casting
- 큰집 → 작은 집 이동
- 범위가 좁은 데이터 형에 넓은 데이터형을 대입하는 것
short vs char → 둘다 2바이트 이지만 서로 호환되지 않는다.
연산자
- 단항연산자
- 증감연산자
- ++, - -
- 전위형 ++a (먼저 변수의 값을 변화시킨 후 사용)
- 후위형 a++(먼저 변수를 사용한 후 값을 변화)
- 부호연산자
- +, -
- 논리부정연산자
- 논리 값을 반전 → !
- !true = falase
- !false = true
- 비트부정연산자
- 비트 값을 반전 ~
- ~0 = 1
- ~1 = 0
- 형변환 연산자(type)
- 큰 집에서 작은 집 갈 때
- 산술연산자
- 정수와 정수의 연산 ⇒ 정수
- 정수와 실수의 연산 ⇒ 실수 (아래와 같은 순서로 변환)
- 둘 중 하나가 double 이면 둘 다 double 로
- 둘 중 하나가 float 이면 둘 다 float 으로
- 둘 중 하나가 long 이면 둘 다 long 으로
- 그렇지 않으면 둘 다 int 로 바꿈
- 비교연산자
- 대소비교
- 동등비교
- 객체타입비교 instanceof
- String 변수를 비교할 때는 equals() 을 사용해야 한다
- 왜? 참조형 변수는 주소값을 비교하기 때문이다
- 실제 내용(문자열)이 같은지 확인하는 것이므로 equals() 메서드를 사용함
논리연산자
- && (논리곱)
- || (논리합)
- ! (논리부정)
short circuit evaluation
and 의 경우 앞이 false, or 의 경우 앞이 true 라면 뒤의 결과를 확인하지 않고 결과값을 반환한다
- 삼항연산자
- 조건식? 식1 : 식2
- 참일 경우 식1, 거짓일 경우 식2가 실행
- 복합대입연산자
- +=, -=, /=,*=…
조건문 Conditional
if 문
- 조건식을 검사
switch 문
- 값을 검사
- 값이 일치하는 곳에 가서 실행문 실행.
- break 만나면 멈춤, break 없다면 break를 만날 때까지 다음 실행문 이어서 실행.
반복문 Loop
for 문
for( (1)초기화식 ; (2)조건식; (4)증감식; ){
(3)반복 수행할 문장;
}
- 반복횟수를 알고 있을 때 유용
- 중첩 for 문
while 문
while( (1) 조건식 ) {
(2) 반복 수행할 문장;
}
- 조건식이 true 일 경우 계속해서 반복 → 거짓이 되면 멈춘다
- 조건식 생략 불가능
do-while 문
do {
(1) 반복 수행할 문장
}while ( (2)조건식 );
- 블록 내용을 먼저 수행한 후 조건식 판단(최소 한 번 수행)
- 조건식이 true 일 경우 계속해서 반복 → 거짓이 되면 멈춘다
- 조건식 생략 불가능
break, continue
- 둘 다 반복문에 label 을 붙여서 빠져나올 수 있다.
- while 문
public class Test04_while {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//1을 입력받으면 계속 반복
//그 외의 값을 입력받으면 종료
int num = sc.nextInt();
while(num == 1) {
System.out.println("블록을 실행합니다.");
num = sc.nextInt();
}
}
}
- do ~ while 문
public class Test04_while {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//1을 입력받으면 계속 반복
//그 외의 값을 입력받으면 종료
int num = sc.nextInt();
do {
System.out.println("블록실행, 단 첫 번째에 한해서는 무조건 실행합니다.");
num = sc.nextInt();
}while(num ==1);
}
}
- break
- continue
- label 을 사용
public class Test07_label {
public static void main(String[] args) {
outer : for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if(i==2) break outer;
System.out.println("i = " + i + ", j = " + j);
}
}
}
}
'이론학습 > JAVA' 카테고리의 다른 글
클래스 다이어그램 아이콘 (0) | 2023.01.21 |
---|---|
자바 : JVM 메모리 구조 이해하기 (0) | 2023.01.19 |
자바 클래스와 객체(2) (0) | 2023.01.19 |
자바 클래스와 객체(1) (0) | 2023.01.18 |
자바 배열 (0) | 2023.01.17 |