배열이란?

 

 

 

배열의 선언과 생성

 

 

 

배열의 인덱스

 

 

 

배열의 길이 ( 배열이름.length ) 

 

 

 

배열의 초기화

맨 아래 처럼 두줄로 선언할라면 new int[ ] 생략 불가

 

 

 

 

 

배열의 출력

char(문자타입)은 배열이름으로 예외적으로 출력 가능

Arrays.toString : 문자열타입으로 바꿔서 출력 해줌 ( 배열 값 확인할 때 많이 사용 ) 

 

 

 

 

 

배열의 활용 - 총합과 평균

 

 

 

배열의 활용 - 최대값과 최소값

 

 

 

 

 

배열의 활용 - 섞기(shuffle)

 

 

 

 

 

String배열의 선언과 생성

 

 

String 클래스

 

 

 

 

 

커맨드 라인을 통해 입력받기

 

 

1. 이클립스에서 입력 받기 ( Run-> Run Configurations )

 

 

2. window 커맨드창에서 입력 받기

alt + Enter 클래스 파일 위치 확인

 

bin 폴더 이동 후 class 파일 위치 복사

cmd 실행 후 해당 파일 위치 이동 후 입력 받기

 

 

 

2차원 배열

 

 

 

 

2차원 배열의 초기화

 

 

 

 

 

 

Arrays로 배열 다루기

 

 

 

 

 

 

 

 

'Java' 카테고리의 다른 글

객체지향 프로그래밍 II  (0) 2023.03.27
객체지향 프로그래밍 I  (0) 2023.03.15
조건문과 반복문  (0) 2023.03.03
연산자  (0) 2023.03.01
자바의 특징, 변수  (0) 2023.02.28

조건문과 반복문

 

 

 

 

if 문

 

 

 

조건식의 다양한 예

 

 

블럭{}

 

 

 

if-else문

 

 

 

if-else문 ( 처리해야 할 경우의 수가 셋 이상인 경우 )

 

 

 

 

중첩 if문

 

 

 

switch문

switch문과 else if 문 비교

switch문은 조건식에 정수, 문자열 사용 가능 다양한 값 구현 가능 / else if문은 true, false만 가능 

switch문은 조건식이 1번만 계산되서 효율적 / else if문은 true,false만 가능하기 때문에 조건식이 많아짐

switch문은 괄호 없고 조건식이 적어서 코드 가독성이 높음 / else if문은 조건식마다 괄호가 생김

왠만하면 switch문을 사용하면 좋지만 switch문은 제약조건이 있어 제약조건만 아니면 switch문 사용

 

 

 

switch문의 제약조건

 

 

 

임의의 정수 만들기

1~3 정수 만들기

1. 각 변에 3을 곱한다. ( 여기서 3은 개별 값의 갯수 ) ex)주사위면 1~6 ( *6 ) 

2. 모두 int로 변환 

3. 모두 +1

 

 

 

for문

 

 

 

 

 

중첩 for 문

 

 

 

 

 

 

 

while문

 

 

 

 

         

 

 

 

 

do-while문

 

 

 

break문

 

 

 

 

 

continue문

 

 

 

 

 

 

이름붙은 반복문

 

 

 

 

 

 

 

 

 

 

 

'Java' 카테고리의 다른 글

객체지향 프로그래밍 II  (0) 2023.03.27
객체지향 프로그래밍 I  (0) 2023.03.15
배열  (0) 2023.03.08
연산자  (0) 2023.03.01
자바의 특징, 변수  (0) 2023.02.28

연산자와 피연산자

 

 

 

 

 

연산자의 종류

 

 

연산자의 우선순위

 

 

 

 

 

연산자의 결합규칙

증감 연산자 ++과 --

 

 

부호 연산자

 

 

 

형변환 연산자

출력만 int 타입으로 출력이 될뿐 85.4라는 값이 바뀌는건 아님! ( 중요 )

 

 

 

 

자동 형변환

 

 

 

 

 

 

 

사칙 연산자

 

 

 

 

산술 변환 ( 중요)

 

 

 

 

 

 

 

 

Math.round()로 반올림하기

 

 

 

 

 

나머지 연산자

 

 

비교 연산자

 

 

 

문자열의 비교

 

 

 

논리 연산자 &&, ||

 

 

 

 

논리 부정 연산자 !

 

 

 

 

조건 연산자 ( 삼항 연산자, if문 ) 

 

 

 

 

대입 연산자

 

 

 

복합 대입 연산자

맨 위에 op=식과 = 식이 똑같다는 의미만 파악 나머지는 연산자 빼고 다 동일

맨 밑에 식은 op=식을 봤을때 ( 10 + j ) 괄호가 있다고 생각하기 ( 사칙연산으로 곱하기 먼저 계산 x )

 

'Java' 카테고리의 다른 글

객체지향 프로그래밍 II  (0) 2023.03.27
객체지향 프로그래밍 I  (0) 2023.03.15
배열  (0) 2023.03.08
조건문과 반복문  (0) 2023.03.03
자바의 특징, 변수  (0) 2023.02.28

자바의 특징

운영체제에 독립적

자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM( 자바가상머신 )하고만 통신하고 JVM이 자바 응용프로그램으로부터 전달 받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다. 하지만 JVM은 운영체제에 종속적이기 때문에 운영체제에 맞는 JVM을 설치 해야됨

 

객체지향언어 

객체지향개념의 특징인 상속, 캡슐화, 다형성이 잘 적용된 순수한 객체지향언어

 

자동 메모리 관리

가비지칼렉터가 자동적으로 메모리를 관리해주기 때문에 프로그래머는 메모리를 따로 관리 하지 않아도 된다. 하지만 자동으로 메모리를 관리한다는 것은 다소 비효율적인 면도 있다. 

 

네트워크와 분산처리를 지원

다양한 네트워크 프로그래밍 라이브러리( JAVA API )를 통해 비교적 짧은 시간에 네트워크 관련 프로그램을 쉽게 개발할 수 있도록 한다.

 

멀티쓰레드를 지원한다.

자바에서 개발되는 멀티쓰레드 프로그램은 시스템과는 관계없이 구현가능하며, 관련된 라이브러리( JAVA API )가 제공되므로 구현이 쉽다. 그리고 여러 쓰레드에 대한 스케쥴링을 자바 인터프리터가 담당하게 된다.

 

동적 로딩을 지원한다.

자바는 동적 로딩을 지원하기 때문에 실행 시에 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩하여 사용할 수 있다는 장점이 있다. 그 외에도 일부 클래스가 변경되어도 전체 애플리케이션을 다시 컴파일하지 않아도 되며, 애플리케이션의 변경사항이 발생해도 비교적 적은 작업만으로도 처리가 가능하다.

 

 

 

 

변수

변수의 타입

 

상수

상수는 변수와 마찬가지로 값을 저장할 수있는 공간 이지만, 값을 저장하면 다른 값으로 변경할 수 없다.

변수의 타입 앞에 키워드 'final'을 붙여주기만 하면 된다. 상수의 이름은 모두 대문자로 하는 것이 관례

여러 단어로 이루어져있는 경우 _ 로 구분

 

 

리터럴의 타입과 접미사, 접두사  ( 중요 )

 

 

 

 

문자열 결합

 

두 변수의 값 바꾸기

 

 

기본형과 참조형 ( 중요 )

 

기본형의 종류와 범위

 

기본형 표현범위 ( 중요 )

 

 

 

 

printf 를 이용한 출력 ( 중요 )

 

 

 

 

 

 

printf 를 이용한 출력 실습 

 

 

 

화면으로부터 입력받기 - Scanner

 

단순히 숫자 하나하나 입력을 받기 원할경우에는 int num = scanner.netInT (); 사용

아닐경우 밑에 응용해서 코드 작성

 

 

 

정수형의 오버플로우

 

 

 

 

타입 간의 변환방법 ( 중요 )

 

'Java' 카테고리의 다른 글

객체지향 프로그래밍 II  (0) 2023.03.27
객체지향 프로그래밍 I  (0) 2023.03.15
배열  (0) 2023.03.08
조건문과 반복문  (0) 2023.03.03
연산자  (0) 2023.03.01

타입 변환

- 기존 원시 값을 사용해 다른 타입의 새로운 원시 값을 생성하는 것

- 명시적 타입 변환 : 개발자가 의도적으로 값의 타입을 변화하는 것 

- 암묵적 타입 변환 : 자바스크립트 엔진에 의해 암묵적으로 타입이 자동으로 변환 

- 기존 원시 값을 직접 변경하는 것이 아니다.

 

 

 

암묵적 타입 변환 ( 타입 강제 변환 ) 

- 표현식을 평가할때 개발자의 의도와는 상관없이 코드의 문맥을고려해 암묵적으로 데이터타입을 강제 변환 할 때가 있다.

- 암묵적 타입 변환이 발생하면 문자열, 숫자, 불리언과 같은 원시 타입 중 하나로 타입을 자동 변환한다.

 

 

문자열 타입으로 변환

- ( + ) 연산자는 피연산자 중 하나 이상이 문자열이면 문자열 연결 연산자로 동작하기 때문에 피연산자 중 문자열 타입이      아닌 피연산자는 암묵적으로 문자열로 타입 변환이 된다.

 

숫자 타입으로 변환

- 산술 연산자 : 피연산자 중에서 숫자 타입이 아닌 피연산자를 숫자 타입으로 암묵적 타입 변환

- 비교 연산자 : 비교 연산자의 역할은 불리언 값을 만드는 것이다.

- 피연산자의 크기를 비교하므로 모든 피연산자는 코드의 문맥상 모두 숫자 타입이어야 한다. ( 숫자 암묵적 타입 변환 ) 

- ( + )단항 연산자 : 피연산자가 숫자 타입의 값이 아니면 숫자 타입의 값으로 암묵적 타입 변환을 수행

 

불리언 타입으로 변환

- if문 for문과 같은 제어문 / 삼항 조건 연산자의 조건식의 조건식을 평가되어야 할 문맥에서 암묵적 타입 변환이 된다.

- 조건식의 평가 결과를 불리언 타입으로 암묵적 타입 변환한다.

- 자바스크립트 엔진은 불리언 타입이 아닌 값을 Truthy 값( 참으로 평가되는 값 ) 또는 Falsy 값( 거짓으로 평가되는 값 )

  으로 구분한다.

- false로 평가되는 Falsy값: false undefined null 0 -0 NaN ' '(빈문자열)

- 그 외의 값은 true로 평가되는 Truthy값이다.

 

 

 

명시적 타입 변환

- 개발자의 의도에 따라 명시적으로 타입을 변경하는 방법은 다양하다.

- 표준 빝트인 생성자 함수(String, Number, Boolean)를 new연산자 없이 호출

- 빌트인 메서드 사용

- 암묵적 타입 변환 이용 

 

문자열 타입으로 변환

- 문자열 타입이 아닌 값을 문자열 타입으로 변환하는 방법은 3가지 정도 된다. 

- String 생성자 함수를 new연산자 없이 호출

- Object.prototype.toString 메서드 사용 -> toString()

- +(문자열 연결 연산자) 이용

 

숫자 타입으로 변환

- 숫자 타입이 아닌 값을 숫자 타입으로 변환하는 방법은 4가지 정도 된다.

- Number 생성자 함수를 new연산자 없이 호출하는 방법

- PareInt ParseFloat함수를 사용하는 방법(문자열->숫자타입으로만 가능)

- +단항연산자 이용

- *산술연산자 이용

 

불리언 타입으로 변환

- Boolean 생성자 함수를 new 연산자 없이 호출하는 방법

- ! 부정 논리 연산자를 두번 사용하는 벙법

 

 

 

단축 평가

- 표현식을 평가하는 도중에 평가 결과가 확정된 경우 나머지 평가 과정을 생략하는 것이다.

 

논리 연산자를 사용한 단축 평가 

- 논리합(||) 논리곱(&&) 연산자 표현식은 언제나 2개의 피연산 중 어느 한쪽으로 평가된다.

- 논리합(||)연산자 : 두 개의 피연산자 중 하나만 true로 평가되어도 true를 반환한다.

- 앞이 true일때 앞을 반환 // 앞이 false일때 뒤를 반환

- 첫번째 피연산자'cat'은 Truthy 값이므로 true로 평가되다.

- 이 시점에서 두번째 피연산자까지 평가하지 않아도 위 표현식을 평가할 수 있다.

- 이때 논리합 연산자는 논리 연산의 결과를 결정한 첫번째 피연산자를 반환한다. ( 아래 예제 참고 ) 

 

- 논리곱(&&)연산자 : 두 개의 피연산자가 모두 true로 평가될 때 true를 반환

- 앞이 true일때 뒤를 반환 // 앞이 false일때 앞을 반환

- 두번째 피연산자까지 평가해 보아야 표현식을 평가 할 수 있다.

- 두번째 피연산자가 논리곱 연산자 표현식의 평가를 결정한다.

- 논리곱 연산자는 논리 연산의 결과를 결정하는 두번째 피연산자를 반환한다.

 

- 이처럼 논리 연산의 결과를 결정하는 피연산자를 타입 변환하지 않고 그대로 반환하는 것이 단축 평가라 한다.

- 단축 평가는 표현식을 평가하는 도중에 평가 결과가 확정된 경우 나머지 평가 과정을 생략하는 것을 말한다.

- 대부분의 프로그래밍 언어는 단축 평가를 통해 논리 연산을 수행한다

 

- 단축 평가를 사용하면 if 문을 대체할 수있다.

- 어떤 조건이 Truthy 값일 때 무언가를 해야 한다면 논리곱(&&) 연산자 표현식으로 if 문을 대체할 수 있다.

- 조건이 Falsy 값일 때 무언가를 해야 한다면 논리합(||) 연산자 표현식으로 if 문을 대체할 수 있다.

 

객체를 가리키기를 기대하는 변수가 null 또는 undefined가 아닌지 확인하고 프로퍼티 참조할 때

- 객체를 가리키기를 기대하는 변수의 값이 객체가 아니라 null 또는 undefined인 경우 객체의 프로퍼티를 참조하면

  타입 에러가 발생한다.

- 이때 단축 평가를 사용하면 에러를 발생시키지 않는다.

+ Recent posts