[CH3] 3.1 람다 문법 규칙에 맞지 않는 표현식 찾기

‍bng4535·2023년 3월 30일
0

질문

답변1


따라서, 퀴즈 4의 경우
(Integer i) → { return "Alan" + i; }처럼 되어야 올바른 람다 표현식이라고 할 수 있습니다.

| 참고 : https://dev-kani.tistory.com/38

답변2

표현식이란?

값, 변수, 연산자의 조합입니다.
값은 자체로 표현식이고, 변수도 동일합니다.

구문이란?

파이썬 인터프리터가 실행하는 코드 단위입니다.

구문과 표현식의 차이
구문과 표현식을 모두 프로그램에서 작성하는 명령어들입니다.

간단하게 말해 값의 유무라고 할 수 있습니다.

구문은 액션을 수행하지만 아무것도 리턴하지 않고,
표현식은 액션을 수행하고 결과를 리턴합니다. 보통 리턴값이 필요없는 명령어를 코딩하는 명령형 언어에서 주로 나타나는 구문보다는 람다 표현식을 사용하여 프로그래밍할 때는 표현식을 사용하는 것이 낫습니다.

즉, 함수에게 arguments로 넘겨줄 수 있는 것이라면 표현식이고, 그럴 수 없다면 구문이라고 할 수 있습니다.
그렇지만 구문도 표현식처럼 값을 줄 수 있는데 그게 바로 return문을 이용할 때 입니다.

따라서, 퀴즈 5의 경우,
(String s) → "Iron Man" 또는 (String s) → { return "Iron Man"; }처럼 되어야 올바른 람다 표현식이라고 할 수 있습니다.

참고 : https://ezsnote.tistory.com/entry/statements-vs-expressions-%EA%B5%AC%EB%AC%B8-vs-%ED%91%9C%ED%98%84%EC%8B%9D-in-lambda

답변3

구문(statement)과 표현식(expression)의 차이

Expression 표현식

변수, 연산자, 메서드 호출을 문법에 맞게 만들어 구성하는 것

int cadence = 0;
anArray[0] = 100;
System.out.println("Element 1 at index 0: " + anArray[0]);

굵게 표현된 부분이 Expression이다.

식으로 반환되는 값의 데이터 유형은 식에서 사용된 요소에 따라 결정된다. "cadence = 0" 표현식은 할당 연산자가 왼쪽 피연산자와 동일한 데이터 유형의 값을 반환하기 때문에 int를 반환합니다.

123 이나 (50*100)/2 와 같은 복합 표현식도 있다.

표현식은 대개 다른 표현식 내에서 사용되며, 그 결과는 변수에 할당되거나 함수의 매개변수로 전달됩니다.

Statement 구문,문장

자바 프로그램 실행의 단위이며 하나의 문장은 하나의 실행 명령어를 나타내고, 세미콜론( ; ) 으로 끝이 난다.

  • Assignment expressions 할당 표현식
  • Any use of ++ or -- 증감연산자
  • Method invocations 메서드 호출
  • Object creation expressions 객체생성식

// declaration statement 선언 구문
double aValue = 8933.234;

Block 블록

중괄호로 묶인 코드 블록.
블록 내에는 다수의 문장과 표현식이 포함될 수 있으며, 블록 내의 코드는 함께 실행됨
주로 for,while문 등 제어구조에서 활용되며, 블록 내에서 변수를 선언할 수 있음


Statements는 실행의 단위인게 가장 큰 차이가 아닌가 싶네요

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/expressions.html

git : https://github.com/BanditBool2/ReadingRecord/issues/9
도움 주신 분 : kkambbak1 , parkchaewon18

profile
공부 기록

0개의 댓글