공부방

자바 기초 본문

문법/기본 문법

자바 기초

코딩 화이팅 2023. 1. 16. 13:11

운영체제와 프로그램

  • 프로그램 : 컴퓨터에서 실행될 때 특정 작업을 수행하는 일련의 명령어들의 모임(집합)
  • 애니악(ENIAC) : Electroinic Numerical Inthgrator And Computer
  • 운영체제 : 시스템 하드웨어를 관리할 뿐 아니라 응용 소프르퉤어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공하는 시스템 소프트웨어

자료구조

  • 어떻게 data structure들을 저장하고 접근하고 수정하는 수단, 방법
  • 배열, 연결리스트, 스택, 큐, 맵, 트리, 그래프

컴퓨터의 자료표현

  • 비트(Bit) : Binary Digit / 컴퓨터 값을 지정할 수 있는 최소 단위
  • 바이트(Byte) : 8비트 / 정보의 최소 단위

자바 가상 머신(JVM, Java Virtual Machine)

  • 자바 바이트 코드를 실행할 수 있는 주체
  • 자바 바이트코드는 플랫폼에 독립적이며 모든 JVM은 자바 가상 머신 규격에 정의된대로 자바 바이트코드를 실행
  • JDK : 개발자 도구 + 개발에 필요한 도구(컴파일러, 디버거)
  • JRE : 자바 실행 환경(JVM 포함)
  • Android : 달빅 가상 머신(.dex)

Main Method

  • 실행 명령인 java를 실행 시 가장 먼저 호출되는 부분

주석

  • // : 해당 기호가 있는 위치부터 그 줄 끝까지 주석처리
  • /* 내용 */ : 해당 범위의 내용 주석처리
  • /** 내용 */ : Documentation API를 위한 주석 처리

출력

  • print : 문자열
  • println : 문자열 + \n
  • printf :
    %d : 정수
    %f : 실수
    %c : 문자
    %s : 문자열
	package day0116;
	
	public class Test03_Print {
		public static void main(String[] args) {
			// print: "문자열"
			// println: "문자열" + "\n"
			// printf: %d, %s, %c, ... 형식지정자
			
			System.out.print("Hello SSAFY!\n");
			System.out.print("Hello Great 9th!\n");
			
			System.out.println("\\");//역 슬래쉬 출력
			System.out.println("\"");//" 출력
			
			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);//소수점 6째자리까지 출력
			System.out.printf("%f\n", 10.12345678);//소수점 6째자리까지 반올림하여 출력
			System.out.printf("%.2f\n", 10.12345678);//소수점 둘째자리까지 반올림
			
		}
	}
//
Hello SSAFY!
Hello Great 9th!
\
"
10
  10
10  
0010
10.100000
10.123457
10.12

변수

  • 데이터를 저장할 메모리의 위치를 나타내는 이름
  • 메모리 상에 데이터를 보관할 수 있는 공간을 확보
  • 적절한 메모리 공간을 확보하기 위해서 변수의 타입 등장
  • '='을 통해서 CPU에게 연산작업을 의뢰

자료형

  • 기본 자료형과 참조 자료형
  • 기본 자료형

형변환

  • 묵시적 형변환 : 작은 -> 큰
  • 범위가 넓은 데이터 형에 좁은 데이터 형을 대입하는 것
  • 예) byte b=100; int i=b;
  • 명시적 형변환 : 큰->작은
  • 범위가 좁은 데이터 형에 넓은 데이터 형을 대입하는 것
  • 형 변환 연산자 사용 - (타입)값;
  • 예) int i=100; byte b=i; (불가능)  byte b =(byte) i;
  • short=양수 음수
  • char=양의 정수

연산자

  • 단항 연산자
  • 전위형 ++i : 먼저 변수의 값을 변화시키고->사용
  • 후위형 i++ : 먼저 변수의 값을 사용->변화
  • 비트 연산자
    ~0 : 1
    ~1 : 0
  • 형 변환 연산자 : 명시적 형변환
  • 정수와 정수의 연산=정수
  • 정수와 실수의 연산=실수
  • 둘 중 하나가 double :둘 다 double로 바꿔줌
  • 둘 중 하나가 float : 둘 다 float
  • 둘 중 하나가 long : 둘 다 long
  • String 변수 비교할 때 equals()사용
  • &&:논리 곱 / 피연산자 모두가 true일 때만 true
  • ||: 논리 합 / 피연산자 중 하나라도 true일 경우 true
  • | : 논리 부정 / 피연산자의 결과를 반대로 바꾼다.
  • 삼항 연산자
    조건식 ? 식1 : 식2
    조건식이 진실->식1 실행
    조건식이 거짓->식2 실행
  • 복합 대입 연산자
    i+=1->i=i+1

조건문

if

  • 조건식의 결과에 따라 블록 실행 여부가 결정

if else

  • 조건식이 참일 경우 if 블록의 문장들을 실행하고, 거짓일 경우 else 블록의 문장들을 실행

if - else if - else

  • 조건식이 참일 경우 해당 블록의 문장들을 실행하고, 거짓을 경우 다음 조건식을 확인한다.

Switch

switch(수식){
	case 값1:
    	실행문A;
        break; 
    case 값2:
    	실행문B;
        break;
    default://else 역할과 비슷
    	실행문C;
        }

반복문

for

  • for(1. 초기화식; 2. 조건식; 4. 증감식){
    3. 반복 수행할 문장
    }
  • 초기화식, 증감식은 ','를 이용하여 둘 이상을 작성할 수 있음

While

  • while(1. 조건식){
    2. 반복 수행할 문장;
    }
  • 조건식이 true일 경우에 계속해서 반복(무한 루프 가능,  break 필수)
import java.util.Scanner;

public class Text04_While {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		//1을 입력 받으면 계속 반복
		//그 외의 값이면 종료(반복X)
		int num = sc.nextInt();
		while(num==1) {
			System.out.println("블록을 실행합니다.");
			num=sc.nextInt();
		}
	}
}

Do while

	package 연습;

import java.util.Scanner;

public class 연습 {
			public static void main(String[] args) {
				// 1을 입력받으면 계속
				// 1 이외의 값이면 종료
				Scanner sc = new Scanner(System.in);
				int num = sc.nextInt();
				do {
					System.out.println("블록을 실행합니다.(단, 첫번째에 한해서는 무조건 실행해요. 0이든 1이든 상관없어요.)");
					num = sc.nextInt();
				} while(num == 1);
				System.out.println("프로그램의 끝.");

			}
	}
//
0
블록을 실행합니다.(단, 첫번째에 한해서는 무조건 실행해요. 0이든 1이든 상관없어요.)
0
프로그램의 끝.
  • do{
    1. 반복 수행할 문장;
    }while (2. 조건식);

  • break : switch, while, do-while, for 문의 블록에서 빠져나오기 위해서 사용
  • continue : 반복문의 특정지점에서 제어를 반복문의 처음으로 보냄.
public class Text06_break {
	public static void main(String[] args) {
		for(int i=0;i<10;i++) {
			if(i==3) break;
			System.out.println(i);
		}
	}
}
public class Text07_continue {
	public static void main(String[] args) {
//		for(int i=0;i<10;i++) {
//			if(i==3) continue;//건너뛴다.
//			System.out.println(i);
//	}
		
//		outer: for(int i=0; i<3; i++) { //outer를 coutinue를 통해 건너뛰고 싶은 반복문 앞에 추가
//			for(int j=0; j<3; j++) {
//				if(i==1) continue outer; // 건너뛸 반복문을 설정
//				System.out.println(i+","+j);
//			}
//		}

//위 이중 반복문은 0,0~2,2까지 출력
	
	outer: for(int i=0; i<3; i++) {
		for(int j=0; j<3; j++) {
			if(i==1) break outer;
			System.out.println(i+","+j);
		}
	}
}
}
//
0
1
2
4
5
6
7
8
9
0,0
0,1
0,2
1,0
2,0
2,1
2,2

 

'문법 > 기본 문법' 카테고리의 다른 글

추상클래스, 인터페이스, 제어자  (0) 2023.01.25
상속, 다형성  (0) 2023.01.20
객체지향 심화(0119)  (0) 2023.01.19
자바 클라스와 객체(0118)  (0) 2023.01.18
자바 기본 문법, 배열  (0) 2023.01.17