# 반복문과 아스키코드 질문
학교에서 자바강의를 듣다가 저의 지식선에는 해결이 되지 않아 이렇게 질문을 드려봅니다.
```
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이라는 숫자가 왜 나오는지 모르겠어요,,,
sehongpark님의 답변
## 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