패키지(package)패키지는 간단하게는 자바 파일을 구분하기 위한 폴더로 이해하면 된다. variable라는 패키지를 만들었다면 해당 패키지에 들어가는 자바 파일 첫줄에 package variable;와 같이 소속된 패키지를 선언해주어야 한다. 자바 파일이 위치하는 패키지와 package variable 선언 위치가 같아야 한다. 변수 타입이제 나머지 내용은 이전에 발행했던 글의 내용과 비슷하다.2024.10.19 - [PS/Java] - [ JAVA ] 기본 문법 - 콘솔 출력, 자료형 [ JAVA ] 기본 문법 - 콘솔 출력, 자료형기본 문법부터 정리하고자 한다.수업으로 자바를 수강한 적이 있는데 오래되기도 했고 자주 사용한 언어가 아니어서 초반부터 정리한다. IDE : IntelliJ ( 이..
자바는 표준 스펙과 구현으로 나눌 수 있다자바 표준 스펙자바는 이렇게 만들어야 한다는 설계도이 표준 스펙을 기반으로 여러 회사에서 실제 작동하는 자바를 만듦자바 표준 스펙은 자바 커뮤니티 프로세스(JCP)를 통해 관리됨다양한 자바 구현여러 회사에서 자바 표준 스펙에 맞추어 실제 작동하는 자바 프로그램을 개발함각각 장단점이 있음. ex. Amazon Corretto는 AWS에 최적화 되어 있음각 회사들은 대부분 윈도우, MAC, 리눅스 같이 다양한 OS에서 작동하는 버전의 자바도 함께 제공함 다양한 자바 구현에 대해서는 아래 사이트를 참고한다.https://whichjdk.com/ko/Java 애플리케이션을 빌드하고 실행하려면 Java 플랫폼과 표준 스펙(Java SE)을 구현하는 Java 컴파일러, 런..
메서드 : 메서드도 함수의 한 종류publici static int add(int a, int b){ int sum = a + b; return sum;}: 메서드를 사용하면 중복이 제거되고 코드가 깔끔해짐메서드 선언과 메서드 본문- 메서드 선언 : 메서드의 이름, 반환 타입, 매개변수(파라미터) 목록을 포함함public static int add(int a, int b)- public : 다른 클래스에서 호출 할 수 있음- static : 객체를 생성하지 않고 호출할 수 있는 정적 메서드- int : 반환 타입- add : 메서드의 이름 부여- (int a, int b) : 메서드를 호출할 때 전달하는 입력 값으로 메서드 내에서만 사용됨제어자 반환타입 메서드이름 (매개변수 목록) { 메서드 본문}..
배열 : 같은 타입의 변수를 사용하기 편하게 하나로 묶어둔 것배열 선언int[] students; // 배열 선언students = new int[5]; //배열 생성: 배열을 생성하면 자동으로 내부 값이 초기화 됨 ( int - 0 / boolean - false / String - null ): 배열을 생성하고 나면 자바는 메모리 어딘가에 있는 이 배열에 접근할 수 있는 참조값(배열의 시작 주소)를 반환함 (students에 참조값을 보관함) - 참조값을 확인하고 싶으면 System.out.println(students);를 해보면 됨 인덱스 : 배열의 위치를 나타내는 숫자로 배열은 0부터 시작함배열은 왜 참조형을 사용하는가? (동적 메모리 할당): 기본형 변수들은 모두 사이즈가 명확하게 정해져 ..
Scanner : System.out을 통해 출력했듯이 System.in을 통해 사용자의 입력을 받을 수 잇음. 그러나 자바는 System.in을 통해 사용자 입력을 받으려면 여러 과정을 거쳐야 해 복잡하고 어려움. 이를 해결하기 위해 Scanner라는 클래스를 제공함.Scanner scanner = new Scanner(System.in);: scanner라는 변수를 선언해 사용함 Scanner로 입력받기scanner.nextLine(); // 엔터 입력 전까지 문자를 가져옴scanner.nextInt(); //입력을 int형으로 가져옴scanner.nextDouble(); //입력을 double형으로 가져옴 주의 ) 다른 타입 입력시 오류 발생ex.Scanner scanner = new Scanner..
지역변수와 스코프: 변수는 선언한 위치에 따라 아래처럼 분류됨지역변수 : 특정 지역(코드블록{})에서만 사용할 수 있는 변수로 그 지역을 벗어나면 사용할 수 없음멤버변수 (클래스, 인스턴스)변수는 선언한 시점부터 해당 코드 블록이 종료될 때 까지 생존한다. 따라서 if{} 블록 내부에서도 외부 블록에서 선언된 m에 접근할 수 있다.스코프(Scope) : 변수의 접근 가능한 범위- 효율적인 메모리 사용- 코드 단순화형변환 (캐스팅/Casting): 작은 범위에서 큰 범위로는 값을 넣을 수 있음ex ) int -> long -> double자바에서 숫자를 표현할 수 있는 범위는 int : 큰 범위에서 작은 범위는 소수점 버림, 오버플로우 등의 문제가 발생할 수 있음 1. 자동 형변환 (묵시적 형변환): 작은..
조건문 : 특정 조건에 따라 다른 코드를 실행if문switch문if - else if - else문 if (condition1) {// 조건1이 참일 때 실행되는 코드} else if (condition2) {// 조건1이 거짓이고, 조건2가 참일 때 실행되는 코드} else if (condition3) {// 조건2이 거짓이고, 조건3이 참일 때 실행되는 코드} else {// 모든 조건이 거짓일 때 실행되는 코드}- else문은 생략 가능switch 문: switch문은 앞서 배운 if문을 조금 더 편리하게 사용할 수 있는 기능이다. 참고로 `if` 문은 비교 연산자를 사용할 수 있지만, `switch` 문은 단순히 값이 같은지만 비교할 수 있다. if문 vs switch문- switch문의 조건..
피연산자(operand) : 연산의 대상연산자(operator) : 계산을 수행하는 기호연산자 종류산술 연산자: `+` , `-` , `*` , `/` , `%`(나머지)증감 연산자: `++` , `--`비교연산자: `==` , `!=` , `>` , `=` , `논리 연산자: `&&` (AND), `||` (OR), `!` (NOT)대입연산자: `=` , `+=` , `-=` , `*=` , `/=` , `%=`삼항 연산자: ? :- `(int)5 / (int)2` 의결과는 `2.5` 가 되어야 하지만 결과는 소수점이 제거된 `2` 가 나옴. 자바에서 같은 `int` 형끼리 계산하면 계산 결과도 같은 `int` 형을 사용함. `int` 형은 정수이기 때문에 소수점 이하를 포함할 수 없음.이 부분에 ..
기본 문법부터 정리하고자 한다.수업으로 자바를 수강한 적이 있는데 오래되기도 했고 자주 사용한 언어가 아니어서 초반부터 정리한다. IDE : IntelliJ ( 이전엔 eclipse를 사용했는데 보다 더 빠른 인텔리제이를 사용한다.)버전 : java version "21.0.5" (우아한테크코스 프리코스에서 요구하는 JDK21로 맞추어 사용한다.)01. 콘솔 출력println( ) : 괄호안 내용 출력+줄바꿈System.out.println("Hello World");print( ) : 괄호안 내용 출력printf( ) : 자료형 포맷에 따라 출력10진수 출력 : System.out.printf("%d",30); //308진수 출력 : System.out.printf("%o",30); //3616진수 ..