본문 바로가기

각종 언어 기본 문법31

이것이 자바다 5장 복습 : 참조 타입 (3/) 열거 타입 ◆ 열거타입 선언하기 월화수목금토일 딱 7개의 데이터를 가지는 요일 처럼, 한정된 값만을 가지는 데이터 타입을 열거 타입 (enumeration type)이라고 부른다. 열거 상수 (enumeration constant) 중에서 하나의 상수를 저장하는 데이터 타입이다. 열거 타입 변수를 선언하기 위해서는 별도로 소스파일 (.java)를 생성해야한다. (int a = 99; 처럼 간단하지가 않음 ㅠ) 1) 열거 타입 변수 명은 무엇으로 할 것인지 정하기. 관례적으로 앞글자만 대문자고 나머진 소문자. 예: Week 2) Week.java라는 코드 파일 별도 생성/저장. 작성 방법은 아래 코드 블락 처럼. 열거 타입이 가진 요소들이 열거 상수인데. 열거 상수는 모두 대문자로 쓰는 것이 관례다. public e.. 2021. 8. 8.
이것이 자바다 5장 복습 : 참조 타입 (2/) String, 배열 ◆ String 사실 문자열을 스트링 변수에 저장한다는 말은 틀린 표현이다. (일반적으로 이런 식으로 표현하긴 하지만..) 문자열은 기본 타입이 아니라 참조 타입이기 때문에, 직접 변수에 저장되는 것이 아니라 String 객체로 생성되고 변수가 String 객체를 참조하는 셈인 것이다. ◆ new new 연산자는 힙 영역에 새로운 객체를 만들어 낸다. 만약 아래와 같이 작성한다면, 둘이 가리키는 객체는 같지만. public class MyTest { public static void main(String[] args) { String name1 = "Justin"; String name2 = "Justin"; char ans = (name1==name2) ? 'T':'F'; System.out.print.. 2021. 8. 8.
자바 개념 노트 [5]: 참조 타입[1] : 데이터 타입 분류, 메모리 사용 영역, Null Pointer ■ 데이터 타입 분류: #기본형변수와 참조형변수 자바가 가지는 데이터 타입 크게 두 가지: Primitive vs Reference int age = 25; age는 기본타입이다. (원시타입이라고도 말한다) 그래서 age는 25란 값을 실제로 가지는 것이다. 25란 값을 age에 바로 저장한다. (참고로 25는 스택 영역에 있다) String hobby = "독서"; String은 참조타입이다. hobby가 가지는 값은, "독서" 자체가 아니라, "독서"란 값을 가지는 객체의 주소이다. ( 그래서 참조 타입 변수를 비교할 때는 살짝 더 깊게 생각해야 한다. 아래 그림을 보자 price의 값은 100.5이다. age의 값은 25이다. 하지만 name의 값은 100이 아니라 100번지로 보아야하고, hobb.. 2021. 8. 8.
자바 스터디 노트 [4] 조건문, 반복문, 배열 -조건문 2종류: if, switch. (switch 포맷의 경우 break를 붙이지 않으면 다음 case 구문까지 다 가동 되니 주의) - 반복문 3종류: for, while, do-while for loop 포맷 : (초기화식; 조건식; 증감식) 예: (int ii=0; ii 2021. 8. 8.
자바 스터디 노트 [3] 연산자 간편조건식: ? A:B; if 조건~~이 True이면 A, False이면 B 간편대입식: +=, -=, *=, /=, %=, &=, ^=, :=, =, >>>= 우변의 값을 좌변에 넣는 것. 비트 연산도 간편식 가능 논리: !, &, &&, |, || 비트: ~, &, |, ^ not, and, or, xor 쉬프트: >>, > 비트를 좌측/우측으로 밀어서 이동 #연산 순서: 4칙연산에서 따로 덧셈/뺄샘 보다 곱셈/나눗셈을 먼저 묶어 계산하듯, 논리vs비교 연산에도 순서가 있음 &&보다는 >,3 && y 2021. 8. 8.
자바 스터디 노트 [2] 자바 프로그래밍에 필요한 것들 (클래스, 메소드, 변수, 타입 기초) 자바 실행 프로그램은 반드시 클래스 블록과 메소드 블록으로 구성되어야 한다. 아래가 자바 프로그래밍에서의 아주 기본 포맷이다. public class Hello { public static void main(String[] args) { System.out.println("Hello, welcome to the java world!"); } } - Hello{}: class block - main(String[] args){} : method block - System.out.println(): 괄호 안에 있는 문장을 출력. 마지막엔 줄바꿈(엔터)가 붙는다. #메소드: 어떤 일을 처리하는 문장들을 모아놓은 함수. 메소드 블록은 단독으로 구성될 수 없고 반드시 클래스 블록 내부 위치. #메인 메소드. 메소.. 2021. 8. 8.
자바 스터디 노트 [1] 자바 개요 자바 소개 : 히스토리 1995년도 Sun Microsystems(현재는 Oracle)에서 발표한 프로그래밍 언어. 1991년도 Oak란 이름의 언어에서부터 시작함. 자바 언어가 발표된 1995년~년도에는 윈도우 프로그램 개발이 주류였기 때문에, C++에 비해 자바는 열세였음. 메모리 및 CPU를 지나치게 많이 사용했기 때문. 하지만 1999년도 부터 인터넷이 활성화되고 Web Application 구축용 언어로 자바가 급부상 됨. 많은 기업체 및 공공기관의 다양한 서버 운영체제에서 단 한번의 작성으로 모든 곳에서 실행 가능한 언어는 자바 뿐. WORA. Write Once Run Anywhere. 자바 특징: 플랫폼 독립적. 이식성이 높음. 한 번 컴파일 해놓으면, 윈도우/맥/리눅스 등등 다 사용 가능.. 2021. 8. 8.
이것이 자바다 확인 문제 풀이 4장, 챕터4, Chapter4 [신용권의 이것이 자바다 챕터 4 조건문과 반복문 확인 문제 풀이] 문제1 답: #조건문의 종류: if, switch #반복문의 종류: for, while, do-while 문제 2 답: 2번 switch 문에는 double이 올 수 없다. 가능한 타입들은 : byte, char, short, int, long, String 뿐이다. 문제3 답: public class Ex03 { public static void main(String[] args) { int sum=0; for (int ii=1; ii 2021. 8. 8.
이것이 자바다 확인 문제 풀이 3장, 챕터3, Chapter3 [신용권의 이것이 자바다 챕터 3 연산자 확인 문제 풀이] 문제1 답: ③ 연산식은 하나 이상의 값을 산출 할 수 없다. 예를 들어, 1+1은 무조건 2만 가능하다. 1==3의 결과는 무조건 false이다. 문제2 답: 31 ++x의 x는 바로 +1이 적용되어서 11이고 y--의 y는 이후 -1이 적용되어서 여전히 20이다. 11+20을 하므로 31이 답이다. public class Exercise02 { public static void main(String[] args) { int x = 10; int y = 20; int z = (++x) + (y--); System.out.println(z); } } 문제3 답: 가 삼항 연산은 아래처럼 진행된다. (조건)? 맞을때의결과 : 아닐때의결과 !scor.. 2021. 8. 8.
이것이 자바다 확인 문제 풀이 2장, 챕터2, Chapter2 ■ 문제1 - 답: 4 ① ㅇㅇ. 변수는 하나의 값만 저장 ② ㅇㅇ. 변수는 선언할 때 지정한 타입의 값만 저장할 수 있음 (배열/array의 경우 초기화 안해두어도 int 타입으로 선언만 하면, 내부 값을이 일괄 0으로 지정되긴 함..) ③ ㅇㅇ. 변수가 선언된 중괄호를 벗어나면, 그 변수 못씀. (그래서 for/if 블록 안 변수 들은, 해당 블록 밖 main() 블록에서 못 쓸 수도 있으니, 변수 선언/초기화 시점을 잘 지정해야함.) ④ ㄴㄴ. 변수는 초기화 안되면 못 읽음. 디폴트로 0으로 지정되어 읽을 수 있는 거 아님. (배열/array의 경우 초기화 안해두어도 int 타입으로 선언만 하면, 내부 값을이 일괄 0으로 지정되긴 함..) ■ 문제2 답: -변수 이름 사용 불가한 것: 6hour (.. 2021. 8. 8.
이것이 자바다 확인 문제 풀이 1장, 챕터1, Chapter1 ■ 문제1 - 답 4번 ① 그렇다. JDK는 JRE와 컴파일러 등의 개발 도구를 포함한다. ② 그렇다. JDK의 full name은 JAVA *Development* Kit이니, 당연히 개발할 때 필요하다. ③ ㅇㅇ. 읽는 것만 하려면 JRE만 있어도 된다. 코드 수정/작성 할 때 JDK가 필요. ④ ㄴㄴ. JRE는 코드를 읽고 실행하는 것만 가능하다. 컴파일을 한다는 것은 JDK가 필요. - JRE: JVM+라이브러리 API - JDK: JVM+라이브러리+API + 컴파일러에 필요한 개발 도구 ■ 문제2 - 답 4번 ① 그렇다. JVM(자바 버츄얼 머신)은 java.exe 명령어에 의해 구동. ② 그렇다. JVM은 바이트 코드를 기계어로 변환/실행한다. ③ ㄴㄴ. 운영체제별로 다르다. JVM은 운영체제.. 2021. 8. 8.