# 반복문과 아스키코드 질문 학교에서 자바강의를 듣다가 저의 지식선에는 해결이 되지 않아 이렇게 질문을 드려봅니다. ``` for(int i=0; i<word.length(); i++) { char dan = word.charAt(i); for(int j=1; j<=27; j++) { if (dan== (char)(96+j)) { sum+=j; } } } ``` 이 부분에서 for문속 int j의 범위가 왜 27인지까지가 잘 이해가 되지 않고 if문속 형변환시 96이라는 숫자가 왜 나오는지 모르겠어요,,,
## j의 범위 j 초기값은 1입니다. ``` // for 문의 초기값 설정 for (int j = 1; 반복조건; 매회갱신) { ... } ``` 그리고 j의 값은, 매회 반복 종료 시, 1씩 증가되죠. ``` // j의 값을 1 증가 for (초기값; 반복조건; j++) { ... } ``` 이러한 반복은 j의 값이 27이하인 경우, 계속 진행됩니다. ``` // j가 27보다 작거나 같으면 반복을 수행 for (초기값; j <= 27; 매회갱신) { ... } ``` ## 96이라는 숫자 아스키코드표에 의해 알파벳 'a'의 값은 97입니다. j의 값이 1부터 시작하므로, 이와 연계하기 위해 96부터 값을 지정한 코드로 여겨집니다. ## 아스키코드란? 아스키코드(ASCII)표는 특정 숫자값으로 문자를 나타내기위한 표입니다. | 10진수 | 문자 | |:-------:|:-----:| | 0 | NUL | | ... | ... | | 48 | '0' | | 49 | '1' | | 50 | '2' | | ... | ... | | 57 | '9' | | ... | ... | | 65 | 'A' | | 66 | 'B' | | 67 | 'C' | | ... | ... | | 90 | 'Z' | | ... | ... | | **97** | `'a'` | | 98 | 'b' | | ... | ... | | 122 | 'z' | | ... | ... | ## 레퍼런스 --- 1. 아스키코드란? - https://bit.ly/30Xvw6d