Java 는 단순성, 객체 지향, 분산, 견고성, 보안, 플랫폼 독립성 및 이식성, 멀티스레드, 동적 등의 특징을 가지고 있습니다 [2]. Java 는 데스크톱 애플리케이션, 웹 애플리케이션, 분산 시스템 및 임베디드 시스템 애플리케이션 [3] 을 작성할 수 있습니다.
외국 이름
자바 언어 (특히 웹 사이트를 만드는 데 사용되는 컴퓨터 언어)
지금의 회사
신탁학
발사 시간
1995 년 5 월
빠른
항행
프로그래밍 개발
언어적 특징
작동 원리
언어의 기초
언어기준
언어규범
기술 응용 프로그램
학습 안내서
파스칼 평가
역사를 발전시키다
90 년대에는 하드웨어 분야에 단일 칩 시스템이 등장했다. 이런 저비용 시스템이 등장하자 자동제어 분야 인사들의 관심이 쏠리고 있다. 이는 TV 셋톱 박스, 빵오븐, 휴대폰 등 소비전자제품의 지능성을 크게 높일 수 있기 때문이다. ). 시장을 선점하기 위해 손회사는 199 1 에 그린이라는 프로젝트팀을 설립했다. 패트릭, 제임스 고슬링, 마이크 셰리단, 다른 엔지니어들과 함께 캘리포니아 멘로파크 (Menlo Park) 사구길 (Dune Road) 의 작은 스튜디오에서 개발되었습니다.
자바 언어 (특히 웹 사이트를 만드는 데 사용되는 컴퓨터 언어)
C++ 의 장점으로 프로젝트 팀의 연구원들은 먼저 C++ 로 프로그램을 작성하는 것을 고려하고 있다. 그러나 C++ 프로그램은 하드웨어 자원이 극히 부족한 단일 시스템에 비해 너무 복잡하고 방대하다. 또한 가전 제품에 사용되는 임베디드 프로세서 칩의 종류가 다양하기 때문에 작성된 프로그램을 플랫폼 간에 실행할 수 있는 방법도 어려운 문제입니다. 어려움을 해결하기 위해 먼저 언어 개발에 중점을 두고 임베디드 애플리케이션 요구 사항을 충족하는 간단한 하드웨어 플랫폼 아키텍처를 가정하고 해당 사양을 개발했습니다. 이 하드웨어 플랫폼의 이진 기계 코드 명령 시스템 (즉, "바이트 코드" 가 된 명령 시스템) 을 정의하여 언어 개발이 성공하면 반도체 칩 공급업체가 이러한 하드웨어 플랫폼을 개발할 수 있습니다. 새로운 언어 설계를 위해 Sun 의 직원들은 새로운 언어를 개발하지 않고 임베디드 소프트웨어의 요구 사항에 따라 C++ 를 개조하여 실용적이지 않고 보안에 영향을 미치는 구성 요소를 제거하고 임베디드 시스템의 실시간 요구 사항과 결합하여 Oak 라는 객체 지향 언어를 개발했습니다.
Oak 언어를 개발할 때 바이트 코드를 실행하는 하드웨어 플랫폼이 없기 때문에 개발 시 이 언어에 대한 실험 연구를 하기 위해 기존 하드웨어 및 소프트웨어 플랫폼을 기반으로 자신이 지정한 사양에 따라 소프트웨어로 운영 플랫폼을 구축했습니다. 전체 시스템은 C++ 보다 간단하며 큰 차이가 없습니다. 1992 년 여름 Oak 언어 개발에 성공했을 때 연구원들은 하드웨어 공급업체에 녹색 운영 체제, Oak 프로그래밍 언어, 클래스 라이브러리 및 하드웨어를 시연하여 Oak 언어를 사용하여 하드웨어 칩을 생산하도록 설득했지만 하드웨어 공급업체는 이에 대한 열정이 크지 않았습니다. Oak language 에 대해 전혀 모르는 상태에서 하드웨어 제품을 생산할 위험이 너무 크다고 판단했기 때문에 Oak language 는 하드웨어 지원 부족으로 시장에 진출할 수 없어 방치해 왔다.
1994 의 6 ~ 7 월 동안 3 일간의 토론 끝에 팀은 노력의 목표를 다시 바꾸기로 결정했고, 이번에는 이 기술을 월드 와이드 웹에 적용하기로 했다. 모자이크 브라우저가 도래함에 따라 인터넷은 케이블 TV 네트워크에서 볼 수 있는 고도의 상호 작용의 전망으로 진화하고 있다고 그들은 생각한다. 프로토타입으로 패트릭 노턴은 작은 웹 브라우저 WebRunner 를 썼다. [4]
1995, 인터넷의 왕성한 발전은 오크에게 기회를 주었다. 경직되고 단조로운 정적 웹 페이지를' 유연성' 으로 만들기 위해 업계는 네트워크를 통해 전파되고 플랫폼 간에 실행될 수 있는 프로그램을 개발할 수 있는 소프트웨어 기술이 절실히 필요하다. 이에 따라 세계 주요 IT 기업들은 많은 인력, 물력, 재력을 투입하고 있습니다. 이때 손회사는 오랫동안 방치해 온 떡갈나무를 떠올려 소프트웨어로 작성한 실험 플랫폼을 재검토했다. 임베디드 시스템의 하드웨어 플랫폼 아키텍처를 기반으로 작성되었기 때문에 크기가 작아서 네트워크의 전송 시스템에 특히 적합합니다. Oak 는 또한 간단한 언어이며 프로그램은 매우 작아서 네트워크를 통해 전송하는 데 적합합니다. Sun 은 최초로 웹 페이지를 내장하고 웹 애플릿과 함께 네트워크를 통해 전송할 수 있는 애플릿 (애플릿은 웹 페이지에 애플릿을 내장하는 기술입니다) 을 출시하고 Oak 를 Java (등록상표 신청 시 Oak 가 이미 사용되었다는 것을 발견하고, 일련의 이름을 생각하고, 마지막으로 Java 라는 글자를 사용했는데, 제안자가 있었다. 지난 5 월 23 일 Sun 은 Sun world 컨퍼런스에서 Java 와 HotJava 브라우저를 공식 발표했습니다. IBM, 애플, DEC, Adobe, HP, Oracle, Netscape, Microsoft 등 주요 기업들은 관련 개발 프로젝트를 중단하고 Java 라이센스를 구입하며 자체 제품에 적합한 Java 플랫폼을 개발했습니다. [5] [6]
1996 1.0, Sun 은 Java 개발의 중요한 이정표인 첫 번째 Java 개발 키트 (JDK 1.0) 를 발표했습니다 9 월에는 자바 기술로 약 83,000 개의 홈페이지를 제작했다. 5438 년 6 월+10 월 Sun 은 Java 플랫폼을 위한 최초의 JIT 컴파일러를 발표했습니다.
1997 2 월 JDK1..1이 출시되면서 향후 3 주 동안 22 만 개의 다운로드가 이루어졌습니다. 4 월 2 일 자바원 대회가 열렸고 참석자 수가 1 만명을 넘어 당시 세계 동류 회의 기록을 세웠다. 9 월, Java 개발자는 6 억 5,438 만 명이 넘는 커뮤니티를 연결했습니다.
1998 12.8, 2 세대 Java 플랫폼 J2EE enterprise edition 출시. 1999 년 6 월, Sun 은 이동, 무선, 자원이 제한된 환경을 위한 3 가지 버전의 2 세대 Java 플랫폼 (Java 2) 인 Java 2 Micro Edition 을 발표했습니다. 데스크탑 환경에 적용되는 J2SE(Java 2 Standard Edition, Java 2 플랫폼의 표준 버전) J2EE(Java 2Enterprise Edition, Java 2 platform 의 enterprise edition) 는 Java 기반 응용 프로그램 서버에 적용됩니다. Java 2 플랫폼의 출시는 Java 개발 과정에서 가장 중요한 이정표로 Java 애플리케이션 보급의 시작을 상징한다.
4 월 27 일, 1999, 핫스팟 가상 머신 출시. HotSpot 가상 시스템은 출시 당시 JDK 1.2 플러그인으로 제공되었으며, 이후 JDK 1.3 이후 모든 버전의 Sun JDK 에 대한 기본 가상 시스템 [7] 이 되었습니다.
2000 년 5 월 JDK 1.3, JDK 1.4, J2SE 1.3 이 잇따라 발표되었습니다. 몇 주 후, 그들은 애플의 Mac OS X 산업 표준의 지지를 받았다. 200 1 년 9 월 24 일 J2EE 1.3 발표. 2002 년 2 월 26 일 J2SE 1.4 가 발표되었습니다. 그 이후로 Java 의 컴퓨팅 능력이 크게 향상되었습니다. J2SE 1.3 에 비해 클래스 및 인터페이스가 거의 62% 더 많습니다. 이러한 새로운 기능 중 광범위한 XML 지원, SSL 및 TLS 프로토콜을 통한 보안 소켓 지원, 새로운 I/OAPI, 정규식, 로그 및 어설 션도 제공합니다. 2004 년 9 월 30 일, J2SE 1.5 발표는 Java 언어 발전사의 또 다른 이정표가 되었다. 이 버전의 중요성을 보여주기 위해 J2SE 1.5 는 Java SE 5.0 (빌드 번호 1.5.0), 코드명' 호랑이' 로 이름이 바뀌었습니다. Tiger 에는 일반 지원, 기본 유형의 자동 패키징 및 개선 등 1996 버전 1.0 출시 이후 가장 중요한 업데이트가 포함되어 있습니다.
Java 의 설립자 중 한 명인 제임스 고슬린 (James goslin)
2005 년 6 월, Java One 컨퍼런스에서 Sun 은 Java SE 6 을 발표했습니다. 이때 Java 의 다양한 버전이 이름이 바뀌었고 숫자 2 가 제거되었습니다. 예를 들어 J2EE 는 JavaEE 로, J2SE 는 JavaSE 로, J2ME 는 JavaME 으로 이름이 변경되었습니다. [8]
2006 년 6 월 3 일, Java 기술의 발명가 Sun 은 Java 기술이 자유 소프트웨어로 발표될 것이라고 발표했습니다. Sun 은 Java 플랫폼 표준판에 대한 최초의 소스 코드와 Java mini 버전의 실행 가능한 소스 코드를 공식 발표했습니다. 2007 년 3 월부터 전 세계 모든 개발자들이 자바 소스 코드 [9] 를 수정할 수 있다.
2009 년 Oracle 은 손손 인수 [10] 를 발표했습니다. 2065 438+00 Java 프로그래밍 언어 공동 설립자 중 한 명인 제임스 고슬링 (James gosling) 이 갑골문에서 사임했다. 20 1 1 년, Oracle 은 Java7 출시를 축하하는 글로벌 행사를 개최한 뒤 Java7 이 공식 발표됐다. 20 14 년 Oracle 은 Java8 정식 버전 [1 1] 을 발표했습니다.
프로그래밍 개발
프로그래밍 환경
자바 개념지도
JDK(Java Development Kit) (Java development pack 또는 Java development tool 이라고도 함) 는 Java 애플릿 및 응용 프로그램을 작성하는 데 사용되는 프로그램 개발 환경입니다. JDK 는 Java 런타임 환경, 일부 Java 도구 및 Java API 를 포함한 Java 의 핵심입니다. Java 응용 프로그램 서버에 관계없이 내장된 JDK 버전이 있습니다. 주류 JDK 는 Sun 이 발표했습니다. Sun 을 제외한 많은 회사와 조직은 IBM 개발, BEA 개발 Jrocket 및 GNU 조직이 개발한 JDK[ 13] 와 같은 자체 JDK 를 개발했습니다.
또한 Java SE API 하위 집합 및 Java API 클래스 라이브러리의 Java 가상 시스템을 JRE(JAVA Runtime Environment) 라고 부를 수 있으며 JRE 는 Java 프로그램 실행을 지원하는 표준 환경 [14] 입니다.
JRE 는 운영 환경이고 JDK 는 개발 환경입니다. 그래서 자바 프로그램을 쓸 때는 JDK 가 필요하고, 자바 프로그램을 실행할 때는 JRE 가 필요합니다. JDK 에는 이미 JRE 가 포함되어 있으므로 JDK 가 설치된 한 Java 프로그램을 정상적으로 편집하고 Java 프로그램을 실행할 수 있습니다. 하지만 JDK 에는 실행과 무관한 내용이 많이 포함되어 있어 설치 공간이 많기 때문에 일반 자바 프로그램을 실행하기 위해 JDK 를 설치할 필요가 없고 JRE [15] 만 있으면 됩니다.
프로그래밍 도구
Eclipse: Java 기반 오픈 소스 확장 가능 개발 플랫폼 [16].
NetBeans: 다양한 클라이언트 및 웹 어플리케이션을 위한 오픈 소스 Java 통합 개발 환경입니다.
IntelliJ IDEA: 우수한 코드 자동 프롬프트 및 코드 분석 기능을 갖추고 있습니다. [17]
MyEclipse:Genuitec 이 개발한 상용 소프트웨어는 널리 사용되는 Java 애플리케이션 통합 개발 환경 [18] 입니다.
EditPlus: Java 컴파일러' Javac' 와 인터프리터' Java' 가 제대로 구성된 경우 EditPlus 컴파일을 사용하여 Java 프로그램 [19] 을 직접 실행할 수 있습니다.
언어적 특징
1. 간단합니다
Java 는 C++ 처럼 보이지만 언어를 작고 친숙하게 만들기 위해 디자이너는 일반 프로그래머가 거의 사용하지 않는 C++ 언어에서 사용할 수 있는 많은 기능을 제거했습니다. 예를 들어 Java 는 go to 문을 지원하지 않고 break 및 continue 문과 예외 처리를 제공합니다. Java 는 또한 C++ 연산자 오버로드 및 다중 상속 기능을 제거하고 마스터 파일을 사용하지 않으므로 사전 프로세서를 제거합니다. Java 에는 구조가 없고 배열과 문자열은 모두 객체이므로 포인터가 필요하지 않습니다. 자바 (Java) 는 객체 참조와 간접 참조를 자동으로 처리하여 쓸모없는 단위를 자동으로 수집할 수 있어 사용자가 스토리지 관리에 대해 걱정할 필요가 없고, 더 많은 시간과 정력을 R&D 에 집중할 수 있다.
2. 객체 지향
Java 는 객체 지향 언어입니다. 프로그래머에게 이것은 프로세스에 따라 엄격하게 생각하는 것이 아니라 데이터에 초점을 맞추고 데이터를 조작하는 방법을 의미합니다. 객체 지향 시스템에서 클래스는 데이터와 데이터를 조작하는 메서드의 모음입니다. 데이터와 메서드는 함께 객체의 상태와 동작을 설명합니다. 각 오브젝트는 상태 및 동작의 패키지입니다. 클래스는 하위 클래스가 수퍼 클래스의 동작을 상속할 수 있도록 특정 시스템과 계층에 따라 정렬됩니다. 이 클래스 계층 구조에는 일반적인 동작을 가진 클래스인 루트 클래스가 있습니다. 자바 프로그램은 클래스별로 구성되어 있습니다.
Java 에는 사용자가 자신의 프로그램에서 사용할 수 있는 다양한 패키지를 형성하는 확장된 클래스 세트도 포함되어 있습니다. 예를 들어 Java 는 그래픽 사용자 인터페이스 구성 요소를 생성하는 클래스 (java.awt 패키지) 를 제공합니다. 여기서 awt 는 abstract windowing toolkit 의 약자, 입력 출력을 처리하는 클래스 (java.io 패키지) 및 네트워킹 기능을 지원하는 클래스 (java.
3. 할당
Java 는 분산 언어인 네트워크 애플리케이션을 지원하도록 설계되었습니다. Java 는 다양한 수준의 네트워크 연결을 지원할 뿐만 아니라 소켓 클래스를 사용하여 안정적인 스트리밍 네트워크 연결을 지원하므로 사용자가 분산된 클라이언트와 서버를 생성할 수 있습니다.
네트워크는 소프트웨어 응용 프로그램의 분산 캐리어가되었습니다. 자바 프로그램은 한 번만 쓰면 어디에서나 실행할 수 있다.
4. 컴파일 및 해석
Java 컴파일러는 일반적인 기계 코드 대신 바이트 코드를 생성합니다. Java 바이트 코드는 아키텍처 독립적인 대상 파일 형식을 제공합니다. 이 코드는 프로그램을 여러 플랫폼으로 효율적으로 전송하도록 설계되었습니다. Java 프로그램은 Java 인터프리터 및 런타임 시스템을 구현하는 모든 시스템에서 실행할 수 있습니다.
해석적 환경에서 프로그램 개발의 표준' 링크' 단계는 이미 크게 사라졌다. Java 에 링크 단계가 하나 더 있다면, 그것은 단지 새로운 클래스를 환경에 넣는 과정이며, 증분적인 경량 과정이다. 따라서 Java 는 빠른 프로토타입과 간단한 테스트를 지원하므로 빠른 프로그램 개발이 가능합니다. 이것은 미묘한 개발 과정으로, 기존의 시간이 많이 걸리는 컴파일, 링크 및 테스트와 뚜렷한 대조를 이룹니다.
5. 견고성
Java 는 원래 소비자 전자 제품 소프트웨어를 작성하는 언어로 사용되었기 때문에 매우 안정적이고 강력한 소프트웨어를 작성하도록 설계되었습니다. Java 는 일부 프로그래밍 오류를 제거하여 신뢰할 수 있는 소프트웨어를 쉽게 작성할 수 있도록 합니다.
자바 언어 (특히 웹 사이트를 만드는 데 사용되는 컴퓨터 언어)
Java 는 컴파일 시 잠재적 유형 불일치 확인 기능을 확장할 수 있는 강력한 유형의 언어입니다. Java 는 명시적 메소드 선언이 필요하며 C 스타일의 암시적 선언은 지원하지 않습니다. 이러한 엄격한 요구 사항을 통해 컴파일러에서 호출 오류를 캡처하여 보다 안정적인 프로그램을 만들 수 있습니다.
신뢰성의 가장 중요한 향상 중 하나는 Java 의 스토리지 모델입니다. Java 는 포인터를 지원하지 않으므로 스토리지를 다시 작성하고 데이터를 손상시킬 가능성이 없습니다. 마찬가지로 Java 의 자동' 가비지 수집' 은 스토리지 누출 및 동적 스토리지 할당 및 해제와 관련된 기타 유해한 오류를 방지합니다. Java 인터프리터는 또한 모든 배열 및 문자열 액세스가 한계 내에 있는지 확인하는 등 많은 런타임 검사를 수행합니다.
예외 처리는 Java 의 또 다른 기능으로, 프로그램을 더욱 튼튼하게 한다. 예외는 오류와 비슷한 예외가 발생했음을 나타내는 신호입니다. 프로그래머는 try/catch/finally 문을 사용하여 오류 처리 코드를 찾을 수 있으므로 오류 처리 및 복구 작업이 간소화됩니다.
6. 보안
Java 의 스토리지 할당 모델은 악성 코드를 방지하는 주요 방법 중 하나입니다. Java 에는 포인터가 없으므로 프로그래머는 숨겨진 내부 정보 및 가짜 포인터가 메모리를 가리킬 수 없습니다. 더 중요한 것은 Java 컴파일러가 저장 예약 결정을 처리하지 않기 때문에 프로그래머는 선언을 검토하여 클래스의 실제 저장 배치를 추측할 수 없다는 것입니다. 컴파일된 Java 코드에서 참조를 저장하는 실제 저장 주소는 런타임 시 Java 인터프리터에 의해 결정됩니다.
Java 운영 체제는 바이트 코드 유효성 검사 프로세스를 사용하여 네트워크에 로드된 코드가 Java 언어 제한을 위반하지 않도록 합니다. 이 보안 메커니즘에는 인터넷에서 클래스를 로드하는 방법이 포함됩니다. 예를 들어 로드된 클래스는 로컬 클래스가 아닌 별도의 네임스페이스에 배치되어 악성 애플릿이 표준 Java 클래스를 자체 버전으로 교체하지 못하도록 합니다.
7. 가볍습니다
자바는 언어 선언을 구현과 독립적으로 만듭니다. 예를 들어, Java 는 각 기본 데이터 유형의 크기와 작동 동작 (Java 구문으로 설명됨) 을 명확하게 설명합니다.
Java 환경 자체는 새로운 하드웨어 플랫폼 및 운영 체제로 마이그레이션할 수 있습니다. Java 컴파일러도 Java 로 작성되었으며 Java 운영 시스템은 ANSIC 언어로 작성되었습니다.
8. 고성능
자바는 먼저 컴파일한 후 해석하는 언어이므로 완전히 컴파일되지 않은 언어가 빠르다. 그러나 경우에 따라 성능이 매우 중요합니다. 이러한 상황을 지원하기 위해 Java 디자이너는 런타임에 Java 바이트 코드를 특정 CPU (중앙 처리 장치) 의 기계 코드로 변환하는 "인스턴트" 컴파일러를 만들었습니다.
Java 바이트 코드 형식 설계는 이러한 "시기 적절한" 컴파일러의 요구 사항을 고려하므로 기계 코드를 생성하는 과정은 매우 간단하며 상당히 좋은 코드를 생성할 수 있습니다.
9. 멀티스레드 작업
Java 는 여러 작업을 처리하고 실마리가 있는 프로그램을 쉽게 디자인할 수 있는 다중 스레드 실행 (경량 프로세스라고도 함) 을 지원하는 다중 스레드 언어입니다. Java 용 lang 패키지는 스레드 시작, 스레드 실행, 스레드 중지 및 스레드 상태 확인 방법을 지원하는 Thread 클래스를 제공합니다.
Java cue 지원에는 동기화 프리미티브 세트도 포함되어 있습니다. 이 원어들은 C.A.R.Haore 가 관리 절차 및 조건 변수의 스타일을 기반으로 개발된 널리 사용되는 동기화 체계입니다. Synchronized 키워드를 사용하면 프로그래머가 한 클래스에서 동시에 실행할 수 없는 메서드를 증명할 수 있습니다. 이러한 방법은 모니터링 프로그램의 제어를 받아 변수가 일관된 상태를 유지하도록 합니다.
10. 동적
자바 언어는 끊임없이 변화하는 환경에 적응하기 위해 설계되었다. 그것은 역동적인 언어이다. 예를 들어, Java 의 클래스는 필요에 따라 로드되며, 일부는 네트워크를 통해 얻을 수도 있습니다. [20]
작동 원리
여기에는 네 가지 측면이 포함됩니다.
작동 원리
(1) 자바 프로그래밍 언어
(2) 자바 클래스 파일 형식
(3) 자바 가상 머신
(4) 자바 어플리케이션 인터페이스 [2 1]
자바 프로그램을 편집하고 실행할 때 이 네 가지 측면을 동시에 다루어야 한다. 메모장, 워드패드, UltraEdit 등과 같은 문자 편집 소프트웨어를 사용합니다. ) 또는 통합 개발 환경 (Eclipse, MyEclipse 등 ) Java 소스 파일에 다른 클래스 정의 [22], 클래스의 메서드를 호출하여 Java API 를 구현하는 리소스 시스템에 액세스하고 소스 파일을 이진 중간 코드로 컴파일하여 클래스 파일에 저장합니다. 그런 다음 운영 체제 플랫폼 환경에 해당하는 Java 가상 시스템을 실행하여 클래스 파일을 실행하고, 컴파일된 바이트 코드를 실행하고, 클래스 파일에 구현된 메서드를 호출하여 프로그램의 Java API 호출 [6] 을 충족합니다.
언어의 기초
기본 데이터 구조
Java 에는 숫자, 문자 및 부울 값을 저장하는 8 가지 데이터 유형이 있습니다.
정수 유형
정수 유형은 정수 값, 즉 소수 부분이 없는 값을 저장하는 데 사용됩니다. 긍정적이거나 부정적일 수 있습니다. Java 프로그램에서 정수 데이터는 10 진수, 8 진수 및 16 진수의 세 가지 방법으로 표시됩니다.
정수 데이터는 내용의 크기에 따라 네 가지 유형으로 나눌 수 있습니다.
데이터 유형 스토리지
바이트
8 비트
짧은
16 비트
(Internationalorganizations 와 동일) 국제기구
32 비트
모두 확장
부동소수점
데이터 유형 스토리지
떠다니는 물건
32 비트
두 배
64 비트
문자 유형
문자 유형은 16 비트 (2 바이트) 의 메모리 공간을 차지하는 단일 문자를 저장하는 데 사용됩니다. 문자 변수를 정의할 때는 작은따옴표로 표시해야 합니다. Char 키워드를 사용하여 문자 변수를 정의합니다.
데이터 유형 스토리지
차
16 비트
부울형
부울형은 논리형이라고도 합니다. 부울 변수는 키워드 Boolean 에 의해 정의되며 부울 논리의 "참" 과 "거짓" 을 나타내는 true 와 false 값만 있습니다. 부울은 일반적으로 프로세스 제어에서 판단 조건으로 사용됩니다.
키워드
키워드 의미
요약
추상 클래스 또는 메서드
유지 보수
내부 프로그램 오류를 찾는 데 사용됩니다.
파열
스위치 또는 회로 점프
모두 확장
키워드 참조 데이터 소스 [23]
연산자
연산자는 수학 함수, 특정 유형의 대입문 및 논리 비교에 주로 사용되는 특수 기호입니다.
대입 연산자
대입 연산자는 "=" 기호로 표시됩니다. 이 연산자는 두 피연산자를 처리하는 이진 연산자로, 오른쪽 피연산자에 포함된 값을 왼쪽 피연산자에 할당하는 기능을 제공합니다.
예를 들면 다음과 같습니다.
Int a =100;
산술연산자
운영자 설명
+
증가
--
음의
*
다양히
모두 확장
자증자감산자
자체 증가 자체 빼기는 단안 연산자로 피연산자 앞이나 뒤에 놓을 수 있습니다. 피연산자는 정수 또는 부동 소수점 변수여야 합니다. 자체 증가 빼기 연산자의 역할은 변수 값을 1 으로 늘리거나 줄이는 것입니다. 피연산자 앞에 놓인 자체 증가 빼기 연산자는 먼저 변수 값에 1 또는 빼기 1 을 더한 다음 변수를 표현식 연산에 참여시킵니다. 피연산자 뒤에 있는 자체 증가 빼기 연산자는 먼저 변수를 표현식 연산에 참여시킨 다음 변수 값에 1 또는 빼기 1 을 추가합니다.
예를 들면 다음과 같습니다.
A=5 라고 가정합니다
B = ++ a;; //먼저 a 의 값에 1 을 더한 다음 b 에 지정합니다. 이때 a 의 값은 6 이고 b 의 값은 6 입니다.
B = a++;+; //먼저 a 의 값을 b 에 할당한 다음 a 의 값을 6 으로 변경합니다. 이때 a 의 값은 6 이고 b 의 값은 5 입니다.
비교 연산자
비교 연산자는 프로그램의 변수, 변수 및 인수, 기타 유형의 정보를 비교하는 이진 연산자입니다. 비교 연산자의 결과는 부울입니다. 연산자에 해당하는 관계가 성립되면 결과는 참이고, 그렇지 않으면 거짓이다. 비교 연산자에는 6 개의 * * * 가 있으며 일반적으로 조건문에서 판단의 기준으로 사용됩니다.
운영자 설명
& gt
왼쪽이 오른쪽보다 큰지 비교하다.
& lt
왼쪽이 오른쪽보다 작은지 비교하다.
= =
좌우가 같은지 비교하다.
모두 확장
논리산자
운영자 조작
& amp& amp
논리와
| |
논리 또는
!
논리비
언어 기본 참고 자료 출처 [24]
프로그램 예
/* Hello World!
파일 이름은 hello.java */
안녕 {
//프로그램은 main () 으로 시작합니다
공용 정적 void main(String args[]){
System.out.println("Hello World! "" );
}
}
주석에서 말했듯이, main 방법은 프로그램의 첫 번째 줄이다. Java 응용 프로그램의 경우 main 메소드가 필수적입니다. Java 인터프리터는 main 을 포털로 사용하여 객체를 생성하지 않고 프로그램을 실행합니다. 각 클래스에 여러 메서드를 정의할 수 있지만 기본 메서드는 하나만 있을 수 있습니다. 키워드 public 은 액세스 권한을 나타내며 모든 클래스에서 이 메서드를 사용할 수 있음을 나타냅니다. 이 경우 main 은 public 으로 정의되어야 합니다. 프로그램이 실행을 시작할 때 해당 클래스 이외의 코드에 의해 호출되어야 하기 때문입니다. 키워드 static 은 메서드가 클래스 메서드임을 나타냅니다. 키워드 void 는 main () 메서드가 값을 반환하지 않음을 나타냅니다. Main 메소드의 괄호 안에 정의된 문자열 args[] 는 main 메소드에 전달되는 인수입니다. 매개 변수 이름은 args 이며 String 클래스의 객체입니다. 메서드의 매개 변수는 클래스 이름 매개 변수 이름으로 지정되며 여러 매개 변수는 쉼표로 구분됩니다. 행의 마지막 문자인 "{"는 마스터 프로그램 본문의 시작을 나타내며 한 메서드에 포함된 모든 코드는 중괄호 사이에 포함됩니다. 게다가, main 은 해석기가 일을 시작하는 곳일 뿐이다. 복잡한 프로그램에는 수십 개의 클래스가 포함될 수 있지만 이러한 클래스에는 하나의 main 메서드만 필요합니다. [25]
언어기준
1997165438+10 월 17 국제표준화기구 (ISO) 는 Sun 의 특허 기술 채택에 동의했다 기술 표준으로서, JAVA 는 대중에게 무료이다. ISO 의 승인을 통해 Sun 은 JAVA 의 표준화된 플랫폼 사양을 제출할 수 있습니다. [26]
게시 날짜 이름
2000 년 10 월 65438 일
ISO/TS 10303-27:2000
2006 년 5 월
ISO/IEC 19777-2:2006
20 14 7 월 15
Iso/iectr13066-6: 2014
모두 확장
언어 표준 참조 [27] [28] [29] [30] [3 1]
언어규범
JCP(Java Community Process) 는 주로 Java 개발자와 정식 사용자로 구성된 개방형 국제기구입니다. 그 기능은 Java 기술 사양, 참조 구현 (RI) 및 기술 호환성 패키지 (TCK) 를 개발하고 업데이트하는 것입니다.
JCP 유지 관리 사양에는 Java ME, Java SE, Java EE, XML, OSS, JAIN 등이 포함됩니다. 한 조직의 구성원은 JSR(Java 사양 요청) 을 제출하고 특정 프로그램을 통해 다음 버전의 사양으로 이동할 수 있습니다.
JSR 은 초기에 제시되어 최종 발표된 Java 플랫폼 사양에 대한 구체적인 설명입니다. 일반적으로 새 JSR 을 제안하여 Java 플랫폼의 기능을 추가하거나 표준화합니다. 구체적인 JSR 은 전문가 그룹이 제정하고, 업무는 팀장이 조율한다. 예를 들어 CLDC 1.0 (JSR30) 은 Sun 의 Antero Taivalsaari 가 주도하고 있으며, 전문가 그룹 구성원으로는 지멘스, 모토로라, 노키아, 심비안 등이 있습니다. Java ME 플랫폼 사양은 JSR68 에 정의되어 있으며 사양의 리더는 Sun 의 Jon Courtney 입니다.
JSR 이 완료되면 관련 사양과 JavaAPI 가 JCP 공식 웹 사이트에 게시됩니다. 장치 제조업체는 MIDP2.0(JSRll8) 과 같은 자체 제품에 JSR 을 구현할 수 있습니다. 그러나 기술 호환성을 보장하기 위해 모두 TCK (technology compatibility kit) 테스트를 통과해야 합니다. [32]
기술 범주에 따라 다음과 같은 범주로 나눌 수 있습니다.
1, J2EE 플랫폼 사양 [33]
2, J2SE 플랫폼 사양 [34]
3, J2ME 플랫폼 사양 [35]
4, 운영 지원 시스템 사양 (OSS)[36]
5, 통합 네트워크 자바 애플리케이션 (Java) [37]
6, XML 운영 사양 [38]
기술 응용 프로그램
1, 안드로이드 애플리케이션
많은 안드로이드 응용 프로그램은 Java 프로그래머와 개발자가 개발했습니다. Android 는 다른 JVM 과 다른 패키징 방법을 사용하지만 코드는 Java 언어로 작성됩니다. 상당수의 휴대폰이 JAVA 게임을 지원하여 많은 프로그래머들이 JAVA 를 이해할 수 있게 해 주었다. (존 F. 케네디, Northern Exposure (미국 TV 드라마), 컴퓨터명언)
2. 금융 산업에 적용되는 서버 프로그램
Java 는 금융 서비스에 널리 사용되고 있으며, 많은 제 3 자 거래 시스템, 은행, 금융 기관은 비교적 안전하기 때문에 Java 로 개발하기로 선택했습니다 [39]. 대형 다국적 투자 은행은 Java 를 사용하여 프론트 데스크 및 백그라운드 전자 거래 시스템, 결제 및 확인 시스템, 데이터 처리 프로젝트 등을 작성합니다. 대부분의 경우 Java 는 서버측 개발에 사용되지만 대부분 프런트엔드가 없습니다. 일반적으로 한 서버 (상위) 에서 데이터를 수신하여 처리한 후 다른 처리 시스템 (하위) 으로 보냅니다.
3. 웹 사이트 (월드 와이드 웹의 호스트 스테이션)
자바는 전자 상거래 및 웹 사이트 개발 분야에서 어느 정도 위치를 차지하고 있다. 개발자는 SpringMVC, Struts2.0 및 프레임워크와 같은 다양한 프레임워크를 사용하여 웹 프로젝트를 만들 수 있습니다. 간단한 서블릿, JSP 및 struts 기반 웹 사이트도 정부 프로젝트에서 자주 사용됩니다. 의료, 보험, 교육, 국방 등 여러 부서의 웹사이트는 모두 Java 를 기반으로 개발되었다.
4. 포함된 필드
자바는 임베디드 분야에서 큰 발전 공간을 가지고 있다. 이 플랫폼에서는 130KB 만 있으면 자바 기술 (스마트 카드 또는 센서) 을 사용할 수 있습니다.
5. 빅 데이터 기술
Hadoop 과 같은 많은 대형 데이터 처리 기술은 Apache 의 Java 기반 HBase 및 Accumulo, ElasticSearchas 와 같은 Java 입니다.
6. 고주파 거래 공간
Java 플랫폼은 이 플랫폼의 특성을 개선하여 컴파일해도 C++ 처럼 데이터를 전송할 수 있습니다. 이런 이유로 Java 는 프로그래머가 거래 플랫폼을 작성하는 언어가 되었다. 성능이 C++ 만큼 좋지는 않지만 개발자는 보안, 이식성, 서비스 가능성 등의 문제를 피할 수 있기 때문이다.
7. 과학적 응용
자바는 자연어 처리를 포함한 과학적 응용에서 좋은 선택이다. 주된 이유는 Java 가 보안, 이식성, 서비스 용이성 및 기타 고급 언어의 동시성에 있어서 C++ 또는 기타 언어보다 우수하기 때문입니다.
자바 언어는 배우기 어렵고, 물건을 구성하는 것이 더 복잡하다.