자바 다시 배우 기(CS61b)
13278 단어 Java
우리 의 첫 번 째 자바 프로그램 을 보 여 주세요.다음 프로그램 을 실행 하여"Hello world!"화면 으로.
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
일부 관건 적 인 문법 특징 은 주의해 야 한다.
public class
성명 을 사용 합 니 다.자바 에 서 는 모든 코드 가 클래스 에 존재 합 니 다.main
이라는 방법 에서 이 방법 은 public static void main(String[] args)
이 라 고 밝 혔 다.{
과 }
으로 코드 세그먼트 의 시작 과 끝 을 나타 낸다.프로그램 실행
자바 프로그램 을 실행 하 는 데 가장 자주 사용 되 는 방법 은 일련의 프로그램 을 통 해 그것 을 실행 하 는 것 이다.첫 번 째 는 자바 컴 파일 러 나
javac
이다.두 번 째 는 자바 해석 기 또는 java
입 니 다.예 를 들 어 Hello World.자바 를 실행 하려 면 자바 c Hello World.자바 에 게 터미널 에 입력 하 라 고 명령 한 다음 자바 Hello World 를 입력 하 십시오.결 과 는 이렇게 보 였 다.$ javac HelloWorld.java
$ java HelloWorld
Hello World!
위의 그림 에서$는 터미널 의 명령 프롬프트 를 표시 합 니 다.
저희 가 컴 파일 할 때'자바'를 포함 하고 있 음 을 알 수 있 지만,설명 할 때'class'를 포함 하지 않 습 니 다.이것 이 바로 그것 의 방식 이다.
변수 와 순환
다음 프로그램 은 0 에서 9 사이 의 정 수 를 출력 합 니 다.
public class HelloNumbers {
public static void main(String[] args) {
int x = 0;
while (x < 10) {
System.out.print(x + " ");
x = x + 1;
}
}
}
우리 가 이 프로그램 을 실행 할 때,우 리 는 다음 을 보 았 다.
$ javac HelloNumbers.java
$ java HelloNumbers
$ 0 1 2 3 4 5 6 7 8 9
이 프로그램의 재 미 있 는 특성 들 이 당신 을 놀 라 게 할 수도 있 습 니 다.
System.out.print
이지 System.out.println
이 아니다.이것 은 우리 가 줄 바 꿈 자 를 포함 하지 말 아야 한 다 는 것 을 의미한다.이러한 특징 중에서 가장 중요 한 것 은 변수 가 성명 을 가 진 유형 이다.
정적 형식
자바 의 가장 중요 한 특성 중 하 나 는 모든 변수 와 표현 식 이 이른바 정적 유형 을 가지 고 있다 는 것 이다.자바 변 수 는 이 형식의 값 을 포함 할 수 있 으 며,이 형식 만 포함 합 니 다.그 밖 에 변수의 유형 은 영원히 변 하지 않 을 것 이다.
자바 컴 파일 러 의 관건 적 인 특징 은 정적 형식 검 사 를 수행 하 는 것 이다.예 를 들 어 우리 가 다음 과 같은 절차 가 있다 고 가정 한다.
public class HelloNumbers {
public static void main(String[] args) {
int x = 0;
while (x < 10) {
System.out.print(x + " ");
x = x + 1;
}
x = "horse";
}
}
이 프로그램 을 컴 파일 합 니 다.우 리 는 다음 을 보 았 습 니 다.
$ javac HelloNumbers.java
HelloNumbers.java:9: error: incompatible types: String cannot be converted to int
x = "horse";
^
1 error
컴 파일 러 는 실행 되 기 전에 프로그램 을 거부 하기 도 한다.이것 은 세계 에서 이 프로그램 을 실행 하 는 사람 이 유형 오 류 를 만 나 지 않 는 다 는 것 을 의미 하기 때문에 큰 문제 입 니 다!
이것 은 Python 등 동적 유형 언어 와 대비 되 며,사용 자 는 실행 기간 에 유형 오 류 를 만 날 수 있 습 니 다!
추가 적 인 오류 검 사 를 제공 하 는 것 외 에 정적 유형 은 프로그래머 로 하여 금 그 나 그녀 가 어떤 대상 을 사용 하고 있 는 지 정확하게 알 게 한다.우 리 는 앞으로 몇 주 동안 이것 이 얼마나 중요 한 지 볼 것 이다.이것 은 내 가 개인 적 으로 가장 좋아 하 는 자바 기능 중의 하나 다.
한 마디 로 하면 정적 유형 은 다음 과 같은 장점 을 가진다.
정의 함수
모든 자바 코드 는 클래스 의 일부분 이기 때문에 우 리 는 함 수 를 정의 하여 특정한 클래스 에 속 하도록 해 야 합 니 다.클래스 에 속 하 는 함 수 는 일반적으로'방법'이 라 고 부른다.우 리 는 전체 과정 에서 이 용어 들 을 서로 바 꾸 어 사용 할 것 이다.Java 프로그램 은 다음 과 같 습 니 다.
public class LargerDemo {
public static int larger(int x, int y) {
if (x > y) {
return x;
}
return y;
}
public static void main(String[] args) {
System.out.println(larger(8, 10));
}
}
이곳 의 새로운 문법 은 우리 가 키워드 Public static 을 사용 하여 우 리 를 설명 하 는 방법 입 니 다.이것 은 Python 의 def 키워드 의 매우 대략적인 시 뮬 레이 션 입 니 다.우 리 는 다음 장 에서 성명 방법의 다른 방법 을 볼 것 이다.
코드 스타일
코드 는 여러모로 예뻐요.그것 은 간결 할 수 있다.그것 은 매우 총명 할 수 있다.그것 은 매우 효율 적일 수 있다.초보 자 코드 중 가장 중시 되 지 않 는 부분 은 코드 스타일 이다.초보 자로 서 프로 그래 밍 을 할 때,당신 은 그것 을 더 이상 고려 하거나 오래 유지 하지 않 아 도 된다.
본 과정 에서 우 리 는 코드 의 가 독성 을 유지 하기 위해 노력 할 것 이다.좋 은 인 코딩 스타일 의 가장 중요 한 특징 은:
getUserName
입 니 다.황금 의 법칙 은 낯 선 사람 이 쉽게 이해 할 수 있 도록 코드 를 만 드 는 것 이다.
저 희 는 변수 이름과 함수 이름 을 선택 하여 무슨 일이 일 어 났 는 지 정확하게 알 수 있 도록 자기 기록 코드 를 작성 하 는 것 을 권장 합 니 다.하지만 항상 충분 한 것 은 아니다.예 를 들 어 복잡 한 알고리즘 을 실현 하려 면 설명 코드 를 추가 해 야 할 수도 있다.당신 의 평론 사용 은 현명 해 야 합 니 다.경험 과 타인 코드 에 대한 접촉 을 통 해 댓 글 이 가장 적합 할 때 를 느 낄 수 있 습 니 다.
하나의 특별한 주의사항 은 모든 방법 과 거의 모든 클래스 를 하나의 주석 으로 설명 하고 자바 doc 형식 을 사용 해 야 한 다 는 것 입 니 다.자바 doc 주석 에서 블록 주석 은 추가 적 인 별표 로 시작 합 니 다.예 를 들 어/**,주석 은 보통 설명 표 시 를 포함 합 니 다.우 리 는 이 교과서 에서 이 라벨 들 을 토론 하지 않 을 것 입 니 다.그러나 위의 링크 를 참고 하여 그들 이 어떻게 일 하 는 지 알 아 보 세 요.
태그 가 없 는 예제 로:
public class LargerDemo {
/** Returns the larger of x and y. */
public static int larger(int x, int y) {
if (x > y) {
return x;
}
return y;
}
public static void main(String[] args) {
System.out.println(larger(8, 10));
}
}
광범 위 하 게 사용 되 는 javadoc 도 구 는 코드 를 만 드 는 HTML 설명 에 사용 할 수 있 습 니 다.우 리 는 뒤의 장절 에서 예 시 를 볼 것 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.