728x90

자바 28

23.02.03(금): 조건 연산자, 윤년/평년, 조건문 if

오늘 배운 내용 01. 삼항 연산자 02. 윤년과 평년 03. 조건문 if 01. 삼항 연산자 실습 028 정수를 사용자 입력받고, 양수인지 음수인지 0인지 판별 후 출력하는 프로그램. 입력은 BufferedReader 로, 기능은 조건 연산자로 구현한다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Test028{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System..

23.02.02(목): 기본 입출력, 연산자(비트,논리,삼항...), 특수 문자 영문 이름

오늘 배운 것 01. printf() 02. Scanner 03. 실수 자료형의 정밀도 04. 입출력 실습 05. 비트 단위 연산자 06. 논리 연산자 07. 삼항 연산자 08. 주요 특수문자 영문이름 01. printf() print(), printf() 는 인자 없이 사용할 수 없다. boolean, char, String은 %b, %c, %s 로 지정한다. %h : 16진수 (hex) %o : 8진수 (oct) %10d : 10진수 정수를 10자리 확보한 후 출력한다. %010d: 10자리 중 빈 공간은 0으로 채운다. %f : 기본 정밀도인 소수점 6자리까지 출력 %.2f: 소수점 2자리까지 출력(반올림) %8.2f : 8자리 확보 후, 소수점 2자리까지, 비는 공간은 공백으로 출력. 이 때, 데..

23.02.01(수): BufferedReader, read(), skip(), 이름 표기법

오늘 배운 것 01. BufferedReader - InputStreamReadr, IOException 02. System.in.read() - skip() 03. 이름 표기법 정리 +) 단축키, 주석, 변수명 01. BufferedReader 사용자에게 데이터를 입력받는 클래스. 우항 값이 숫자나 문자처럼 확실한 데이터가 아니기 때문에 new 키워드를 사용한다. (기본 자료형이 아니지만, 새로 메모리에 공간 만들어줘!) 메서드이기 때문에 ()가 붙고 괄호 안에서 인자를 받는다. InputStreamReader : 키보드 입력은 전기신호(바이트)이므로 번역기가 필요하다. IOException 자바는 보수적이라 불확실성을 싫어한다. 어떤 값이 입력될지 모르니 throws IOException: 예외를 발..

23.01.31(화) : 연산자, 변수와 자료형, 상수, 진수와 접두사

오늘 수업 내용 01. 연산자 (분류, 종류) 02. 변수와 자료형, 연산자 03. 상수 (final) +) error, 매개변수, String 01. 연산자 (Operator) :단항, 이항, 삼항(조건), 대입, 복합 대입, 관계, 논리, 산술, 부호, 증감, 비트 , 비트 시프트 ① 항의 수로 구분 : 단항 , 이항 (기본) , 삼항(조건 연산자) ② 대입 연산자(=): 우에서 좌로 결합. 이 때 우항의 데이터는 사라지지 않는다. 그대로 존재하는 값을 참조해서 좌항에 대입된다. int num = 7; // 8바이트 사용. (num , 7) // 대입한다고 7이 사라지는 게 아님. int num2,num3; // 8바이트 사용(num2, num3) ③ 복합(대입) 연산자: += , -=, *= ,/=..

11. 이진법과 보수, 리터럴과 접미사 / 진수와 접두사

이진법과 보수 2진법의 보수: 0을 1로, 1을 0으로 뒤집는다.(== 1의 보수) cpu는 가산만 가능하고, 기본 구조적으로 감산과 음수 개념이 없어서 생긴 방식. 1010 은 00001010과 같다. (맨 앞 0은 + 부호비트) // 10 보수는 11110101 이다. (맨 앞 1은 - 부호비트) // 이 값에서 1을 더하면 -10이 됨. 00000010 의 보수는 11111101 + 1 ( - 2 ) 와닿지 않는다면 보수 계산 많이 검색해보고 노트에 직접 계산해보기 정처기 등의 시험에서 자주 나오는 개념. 리터럴과 접미사 10. -> 10.0 (디폴트인 double 10.0 으로 취급) .10 -> 0.10 ( 더블 0.10) 10f -> 10.0f ( 플로트) 진수와 접두사 int bin = 0b..

10. 변수의 기본 값, 지역변수와 초기화

지역변수 : 메서드 내에 선언된 변수 초기화 : 변수에 초기 값을 저장하는 것. 기본적으로 변수는 초기화를 원칙으로 하며 특히 지역변수는 사용 전에 반드시 초기화 해야한다. 클래스 내부에서 선언되는 변수(멤버 변수, 클래스 변수)에 한해 선언만 해도 기본 값으로 초기화가 가능함. (단, 상황에 따른 예외 있음) 아래 표는 8가지 기본 변수와 참조형 변수의 기본값을 나타낸다.. 참조형 변수는 수의 제한이 없으며 계속해서 새로 생기고 있다. 자료형 (Data type) 기본값 (Default value) boolean false char short int long \u0000 *유니코드(아스키) 0 0 0L float double 0.0f 0.0 참조형 변수 null

9. 문자와 문자열 (더하기 연산과 공백 저장)

char ch = 'A'; OK char ch = 'ab'; ERROR // 단 하나의 문자만 저장 가능 String s1 = "ab"; OK /*-------------------------------------------------*/ char ch = ''; ERROR // 빈 공간 저장 불가 String s1 = ""; OK // 연속되는 공간이 필요한 //자료형이므로 빈 내용으로 저장 가능 /*-------------------------------------------------*/ String s1 = "a" + "b"; // "ab" // 문자열끼리 더하면 하나의 문자열로 합쳐져서 반환 String s2 = "" + 7; // "7" // 문자열 + 숫자 = 하나의 문자열로 합쳐서 반환 /..

8. 형 변환과 오버플로우 (변수 실습②,③)

불리언 제외 7개의 기본형은 서로 변환 가능하다. 그러나 더 작은 단위로 형 변환하면 데이터가 손실된다. 그럼에도 강행하는 경우를 강제 형 변환이라 한다. package prac_01; public class Var_02 { public static void main(String[] args) { int askii = 65; String result_1 = Integer.toString(askii); System.out.println(result_1); System.out.println(result_1.getClass()); //더 작은 단위로 강제 변환할 때는 (자료형)으로 명시. float fnum = 1.23f; // int result_2 = fnum; 오버플로우 에러 int result_2 = ..

23.01.30(월): 음의 2진수, 실수/정수 자료형, 가비지 컬렉터 , 자동 형 변환

오늘 수업 내용 01. 음의 정수 표현 ( 2진수 > 10진수) 02. 실수 자료형 (정밀도, 접미사) 03. 정수 자료형과 32비트 기반 연산 + CPU 04. 가비지 컬렉터 05. 접미사와 형변환 06. 자동 형변환 규칙 01. 음의 정수 표현 더보기 * byte : 8개의 비트 ( 128 64 32 16 8 4 2 1 ) * 부호비트에 주목(0이면 양수, 1이면 음수) ① -10 을 byte 기반 비트열로 나타낸다. 10 = 00001010 // (8 + 2) 비트전환 -> 11110101 더하기 1 -> 정답: 11110110 ---------------------------------------------------------- ② -27 을 byte 기반 비트열로 나타낸다. 27 = 00011..

7. 상수와 리터럴, 네이밍 컨벤션

상수와 리터럴 (cf. 변수) 변수: 하나의 값을 저장하는 공간 상수 : 한 번만 값을 저장할 수 있는 공간 = 변하지 않는 변수 리터럴 : 변수의 데이터(value) 자체. int num = 100; // num은 변수, 100은 리터럴. final int num2 = 5; // num2는 상수, 5는 리터럴. 네이밍 컨벤션 (Naming Convention) (명명 규칙) (필수) : 지키지 않으면 오류 발생 1. 대소문자 구분 ( True 와 true 는 서로 다름) 2. 길이 제한 없음 : 따라서 의미를 명확하게 작성하여 주석 사용 지양 2. 예약어 사용 불가 ( true는 예약어, True는 사용가능) 3. 숫자로 시작할 수 없다. 4. 특수문자는 언더바(_) 와 달러싸인($)만 허용. (권장)..

728x90