1. MyClipse의 설치 및 사용
* Eclipse : 무료 개발 도구* MyClipse : MyClipse를 크랙하기위한 유료 플러그인입니다. ** 설치 디렉토리 요구 사항 : 설치 디렉토리 요구 사항이 없습니다. ** 설치가 완료된 후에는 설치가 완료된 후에는 중국어와 공간을 가질 수없는 작업 공간을 선택하십시오. Java Project Web Project- 종속성 JDK 선택, MyClipse와 함께 제공되는 JDK를 사용할 수 있거나 설치된 JDK*를 사용하여 패키지 패키지 -CN.itcast.test xx.xx.xx*를 만들 수 있습니다. 반환 값;} - 메소드 이름 지정 사양 소문자 첫 글자 : addnum ()* addnum ()* 정의 - 변수 이름 지정 사양 ** 초기 문자 소문자, 두 번째 단어의 첫 번째 글자는 사용자 이름과 같은 또 다른 방법이 있어야합니다. ** 중국인 피니 인을 사용하여 미미를 사용하는 데 중국어를 사용하는 것과 영어를 섞을 수는 없습니다. 이름 지정 : 이름을보고 그 의미가 무엇인지 아는 것 * 코드를 들여 보내야합니다 * 프로그램을 Java Application으로 실행합니다.
2. 디버그 디버그 모드 (브레이크 포인트 디버그 모드)
*이 모드를 사용하여 프로그램 디버그 (프로그램의 데이터 변경 사항 참조) * 디버그를 사용하는 첫 번째 단계는 브레이크 포인트를 설정해야합니다 (이 라인에서 프로그램이 실행 중지를 표시하십시오) - 왼쪽의 두 번 클릭을 표시하고, 왼쪽을 두 번 클릭하면, 브레이크 포인트가 설정되었음을 나타냅니다 * 메소드로 디버그를 사용했는지 - 검색어를 실행하는지, 예를 표시합니다. * 프로그램을 실행하게 할 수 있습니다. - 단축키 키를 사용하여 단계를 사용하여 F6 (단일 단계 실행) - 이력서 F8 : 디버깅이 끝났음을 나타냅니다. 스텝 리턴 : 반환
3. MyClipse 바로 가기 키 사용
* 코드 프롬프트 alt /* 빠른 가이드 패키지 Ctrl Shift O* 단일 라인 주석 Ctrl /* 단일 라인 주석 제거 ctrl /* 멀티 라인 댓글 ctrl shift /* 멀티 라인 주석 제거 ctrl shift /* 줄 ctrl d 삭제
4. 주니의 사용
* 단위 테스트* 테스트 객체는 클래스의 메소드입니다* Juint는 Javase의 일부가 아닙니다. 가져 오기 JAR 패키지를 사용하고 싶습니다. **, Junit이있는 JAR 패키지는 우선 MyClipse를 가져옵니다. @TestPublic void testAdd1 () {testJunit test01 = new testjunit (); test01.testadd (2, 3);}-메소드 이름을 선택하고, 실행 실행을 마우스 오른쪽 단추로 클릭하여 실행 실행을 마우스 오른쪽 버튼으로 클릭합니다 --- junit 테스트-녹색 막대가 나타날 때, 메소드 테스트가 나타나는 것을 의미합니다. junit test ** @ignore :이 메소드가 단위 테스트되지 않았 음을 의미합니다 ** @before : 각 방법에서 실행 ** @after : 각 방법으로 실행 : 각 방법으로 실행됩니다 ** assert.assertequals ( "예상 값 테스트", "실제 값 테스트", "실제 값 테스트", JDK 1.1 1.2 1.4 5.0 ** 일반적인 수입, ENUMATIC UNCOLITION, ENUMATIC UNCOLOUNING 매개 변수 ** 반사5. 제네릭 소개
* 왜 제네릭을 사용합니까? - 일반적으로 세트에서 사용 ** 예를 들어, 이제 스트링 유형 값을 세트에 넣습니다. 현재이 값을 세트에 넣은 후 능력을 잃는 유형은 객체 유형 일 수 있습니다. 예를 들어,이 값을 입력하려면이 값을 입력하려면 유형 변환 오류가 쉽습니다. 이 문제를 해결하는 방법 세트에서 제네릭을 사용 하여이 문제를 해결하는 데 사용할 수 있습니다*세트에서 제네릭을 사용하는 방법 - 일반적으로 사용되는 세트 목록 세트 맵 - 제네릭 구문 컬렉션 <string> 예를 들어, List <string>**은 제네릭의 개체로 작성되며 String은 int (****)와 같은 기본 데이터 유형을 작성할 수 없습니다. DoubleChar -Atainboolean -Boolean* 목록에서 일반 목록을 사용하는 세 가지 구현 arraylist linkedlist 벡터 코드 : @testpublic void testlist () {list <string> list = new arraylist <string> (); list.add ( "aaa"); list.add ( "bbbb"); "ccc"; Collection.//ordinary for loop for loop for (int i = 0; i <list.size (); i ++) {String s = list.get (i); system.out.println (s);} system.out.println ( "============================================================================================ ================================================================================= ================================================================================= ============================================================================ ================================================================================= ================================================================================= ================================================================================= 이 세 가지 차이점 * 세트에서 제네릭 코드 사용 세트 @testpublic void testset () {set <string> set = new Hashset <string> (); set.add ( "www"); set.add ( "qqq"); set.add ( "zzz"); // set.add ( "qqq"); // iterater transerator wor trraverse wortom ther ther trraverse set ther ther trraverse set at thor trraverse set. // traversal for (string s2 : set)에 대한 향상을 사용합니다. {System.out.println (S2);} System.out.println ( "======================================================= ================================================================================================================================================ ================================================================================================================================================ ========================================================================================================================================= = set.iterator (); while (it1.hasnext ()) {system.out.println (it1.next ());}}* 맵에서 제네릭 맵 구조 : key-valu 양식 코드 : //지도에서 제네릭 사용 @testpublic void testmap () {map <string, string = new hashmap <string, string> (); Map.put ( "aaa", "111"); map.put ( "bbb", "222"); map.put ( "CCC", "333"); // 트랜스 립 맵 트래버스 // 1. 키를 통해 모든 키를 얻고 값을 얻는 방법이 있습니다. 키와 값을 얻으십시오. 키와 값 간의 관계를 얻으십시오 // 모든 키를 얻으십시오> 세트 <sets = map. (문자열 키 : 세트) {// Valuestring value = map.get (key); System.out.println (key+": "+value);} system.out.println ("===================================================================================== ======================================================================================================================= ======================================================================================================================= =============================================================================================================== {// enther는 키와 값 문자열의 관계입니다. keyv = entry.getKey (); String valuev = entry.getValue (); system.out.println (keyv+":"+valuev);}}6. 제네릭은 방법에 사용됩니다
* 지정된 위치에서 배열 요소의 교환을 구현하기위한 배열 정의* 메소드 논리는 동일하지만 데이터 유형은 다릅니다. 현재 일반 방법* /** 일반 메소드를 사용하여 일반 메소드를 사용하여 대문자를 사용하여 유형을 정의하여 t를 나타냅니다.이 t는 <t>* ======== 유형을 정의하기 전에 모든 유형*을 나타냅니다. 이 유형은 T*입니다. 여기에서는이 유형을 사용할 수 있습니다.
7. 수업에서 제네릭 사용 (이해)
* 클래스에서 유형을 정의하면이 유형은 클래스에서 직접 사용할 수 있습니다 * 공개 클래스 testdemo04 <t> {// 클래스에서 t 유형 taa를 사용할 수 있습니다. public void test11 (t bb) {} // 클래스에서 정적 메소드로 정의 된 일반적인 글을 쓰면 공개 정적 정적 메소드를 더 이상 사용할 수 없습니다 public static <a> void test12 (a cc) {}}8. 열거 소개
* 열거 란 무엇입니까? ** 특정 범위 내에서 값을 취해야 하며이 값은 범위 중 하나 일 수 있습니다. ** 현실적인 장면 : 신호등, 세 가지 색상이 있지만, 한 번에 세 가지 색상 중 하나만 밝을 수 있습니다.* 하나의 키워드 열거 ** enum color3 {red, green, yellow;}* 열거적 인 Enum Constome 방법은 개인입니다* 특수 열거 (이해) ** ENUM 클래스의 구성 방법이 있습니다. 열거의 각 인스턴스 에서이 추상 방법을 다시 작성하십시오.9. 열거 된 API의 작동
** name () : enum의 이름을 반환 ** ordinal () : enum의 첨자, enum의 첨자, 첨자는 0 ** valueof (class <t> enumtype, String name)에서 시작합니다 (class <t> enumtype, String name) : Enum의 객체 얻기 ** 다른 두 가지 방법이 있습니다. Enum Objects, Enum Object Sodcript 및 Enum Object 이름 표현- // Enum 객체를 알고, Enum Name 및 Subscript @TestPublic void test1 () {// enum 객체 color100 c100 = color100.red; // enum name name (); // enumeration indx = c100.ordinal (); system.out.println (name+""+idx);}- // 열거의 이름을 알고, 열거의 개체 및 위시를 가져옵니다. c1.ordinal (); system.out.println (idx1);}- // 열거의 위시를 알고, 열거의 객체와 이름을 얻습니다. @testpublic void test3 () {int idx2 = 2; // 열거 개체 color100 [] cs = color100.values (); cs [idx2]; // 열거 된 열거 이름 string name = c12.name (); system.out.println (name);} 가져옵니다.10. 정적 가져 오기 (이해)
* 코드에서 정적 가져 오기 메소드를 직접 사용하여 정적 메소드 또는 상수를 가져올 수 있습니다* 정적 xx.xx.xxx 가져 오기 정적 java.lang.system.out; import static java.util.arrays.sort; ** 이제 수학 클래스에서 계산기를 구현하십시오.
11. 자동 포장 및 어셈블리
* box ** 기본 데이터 유형을 포장 클래스로 변환* Unboxing ** 포장 클래스를 기본 데이터 유형으로 변환 ** // Autobox Integer i = 10; // autobox int m = i; ** jdk1.4 public void test1 () {// box intger m에서 autobox와 autobox (10) {// box integer (10); // unbox int a = m.intvalue ();} ** jdk는 뒤로 호환됩니다 - 예를 들어, jdk1.4로 작성된 코드도 5.0 ** 연습에서 실행할 수 있습니다. 연습 : 후진 호환 == 실행 결과는 jdk1.4에서 호출해야합니다 (이중 m) ==이 방법은 JDK1.4에서 호출해야합니다. 다음 방법이 호출되면 유형 변환이 필요하지만 JDK1.4는 자동 Unboxing == JDK가 뒤로 호환되므로 JDK1.4에서 호환되면 JDK5.0 Public Static Avoid Main (String [] args)에서 여전히 호출됩니다. {system.out.println ( "double ...");} public static void dosomething (Integer A) {System.out.println ( "Integer ......");} ** 기억 : 8 개의 기본 데이터 유형에 해당하는 래퍼 클래스* int --- 정수* char --- 문자12. 루프를위한 강화 (*****)
* (트래 버스트 : 트래버 링 세트) {} for (string s : list) {system.out.println (s);}* 사용 시나리오 : 배열; 반짝이는 인터페이스를 구현하는 세트는 향상된 루프*를 사용할 수 있습니다. 향상된 루프를 사용하여 반복자 인터페이스가 구현 된 세트의 목록을 가로 지르기 위해 루프를 사용하여 루프를 위해 향상된 것을 사용할 수 있으므로 반복자 인터페이스를 구현할 수 없으므로 루프의 향상을 사용할 수 없습니다. 반복자 인터페이스는 구현할 수 없으므로 향상된 루프를 사용할 수 없습니다. 루프를 위해 향상된 목적이 나타납니다. 반복자를 교체하려면 ** 향상의 기본 레이어는 반복자에 의해 구현됩니다.13. 컨텐츠 보충
(1) 제네릭 지우기* 우선, 제네릭은 소스 코드 단계에만 나타납니다. 컴파일 된 경우, 제네릭이 더 이상 존재하지 않는 경우 (2) 연습 : 제네릭 메소드를 구현하고, 모든 유형의 배열을 수락하고, 배열 공개 정적 <t> void 리버스 (t [] arr1) {/** 기본 아이디어 : 첫 번째 요소를 마지막 요소로 교체하고 두 번째 요소를 두 번째 요소로 교체하십시오. . . . *int i = 0; i <arr1.length/2; i ++) {/*int temp = arr1 [0]; arr1 [0] = arr1 [arr1.length-1];*/t temp = arr1 [i]; arr1 [i] = arr1 [arr1-length-i-1]; 온도;}}14. 변수 매개 변수
* 변수 매개 변수를 적용 할 수있는 시나리오에서 : ** 두 숫자의 추가를 구현하고 3 개의 숫자와 4 개의 숫자를 추가하는 것을 구현합니다. 여러 메소드가 구현되면이 메소드의 논리는 기본적으로 동일합니다. 유일한 차이점은 전달 된 매개 변수의 수입니다. 가변 매개 변수* 정의 변수 매개 변수 데이터 유형의 정의 방법을 사용할 수 있습니다. 배열*의 이름은 배열로 이해되는데, 이는 전달 된 매개 변수 코드 public static void add1 (int ... nums)을 저장하는 배열로 이해됩니다. {// nums는 배열로 이해됩니다. i = 0; i <nums.length; i ++) {sum+= nums [i];} system.out.println (sum);}* note (1) 변수 매개 변수는 메소드의 매개 변수 목록에 작성해야하며, 별도로 정의 할 수 없으며 (2) 매개 변수 목록에 하나의 변수 목록에 하나의 변수가있을 수 있습니다. - add1 (int a, int ... nums)15. 반사의 원리 (************)
* 나중에 배운 대부분의 프레임 워크는 프레임 워크 개발에서 반사를 사용하여 구현되며, 구성 파일의 구성 파일 **, 클래스의 모든 내용은 반사를 통해 얻을 수 있으며, 클래스의 모든 내용을 실행하는 데 사용될 수 있으며, 클래스의 모든 내용 : 매개 변수, 구축물을 구성하는 데 사용될 수 있습니다. 반사 분석* 먼저, Java 파일을 로컬 하드 디스크에 저장해야합니다. Java* Java 파일을 컴파일하고 .class 파일이됩니다* JVM을 사용하여 클래스로드를 통해 클래스 파일을 메모리에로드하십시오. 이 클래스를 얻은 후 속성 생성자를 포함하여 클래스 파일에서 모든 내용을 얻을 수 있습니다. 일반 방법* 속성이 제출됩니다* 생성자* 생성자* 일반 메소드는 클래스 메소드를 통과합니다.
16. 반사 작업 클래스에서 매개 변수가없는 구조 방법을 사용하십시오 (**는 쓰기 **).
* 먼저 클래스 클래스를 받으십시오 - // 클래스 클래스 클래스 클래스 클래스 클래스 클래스 클래스 클래스 클래스 클래스 1 = person.class; class clazz2 = new person (); clazz3 = class.forname ( "cn.itcast.test09.person"); - // classclass c3 = class.forname ( "cn.itcast.test09.person"); // 사람의 인스턴스를 가져옵니다. person class person p = (person) c3.newinstance ();* code // 매개 변수없이 생성자를 작동합니다. class.forname ( "cn.itcast.test09.person"); // 사람의 인스턴스를 가져옵니다. person person p = (person) c3.newinstance (); // 값 p.setname ( "zhangsan"); system.out.println (p.getName ());}를 설정합니다.
17. 반사 작업을 사용하여 매개 변수 구성 방법을 갖습니다 (**는 쓸 것입니다 **).
// 매개 변수로 생성자를 작동시킵니다 @TestPublic void test2 ()은 예외를 {// classclass get c1 = class.forname ( "cn.itcast.test09.person"); // constructors (); getConstructors (getconstructors in pass in pass in passions and and thant in the partomets in passions and then passe)로 사용합니다. 수업. CS = C1.GetConstructor (String.class, String.class); // 매개 변수로 생성자를 통해 값을 설정합니다. // 매개 변수 p1 = (Person) cs.newinstance ( "lisi", "100"); system.out.println (p1.getid ()+");18. 반사 작동 속성 사용 (**는 쓰기 **)
* // 이름 속성 @testpublic void test3 () {try {// class c2 = class.forname ( "cn.itcast.test09.person"); // 이름 속성 get // c2.getDeclaredFields (); // 인스턴스 클래스 p11을 나타 내기 위해 // (person) c2. newinstance를 얻는다. 이 메소드는 매개 변수가 속성 필드 F1 = C2.getDeclaredfield ( "name")의 이름입니다. // 작업은 사유 속성이며 작업은 허용되지 않습니다. 사유지 SetAccessible (True)을 설정해야하며 사유지 F1.SetAccessible (true); // 이름 값 세트 메소드를 설정하고 두 개의 매개 변수를 설정합니다. 첫 번째 매개 변수 인스턴스 및 두 번째 매개 변수는 설정 값 f1.set (p11, "wangwu")입니다. // p.name = "wangwu"; system.out.println (f1.get (p11))에 해당합니다. // p.name} catch (예외 e) {e.printstacktrace ();}}19. 일반 작동 방법을 사용하십시오 (** 쓸 수 있습니다 **)
* 메소드 클래스를 사용하여 일반 방법을 표현하기 위해* Code // Setname@testpublic void test4 ()를 작동하는 것과 같은 일반 메소드 작동 예외 {// 클래스 클래스 c4 = class.forname ( "cn.itcast.test09.person"); // 인스턴스 사람 p4 = (person) c4.newinstance (); 메소드 // c4.getDeclaredMethods (); // 모든 일반 메소드를 가져옵니다. // 두 매개 변수를 전송합니다. 첫 번째 매개 변수, 메소드 이름; 두 번째 매개 변수, 메소드 메소드 M1 = c4.getDeclaredMethod ( "setName", String.class)의 매개 변수 유형; // setName 메소드가 실행되게하고 SET 값을 실행하십시오 // invoke (p4, "niuqi"); 두 개의 매개 변수를 전달합니다 : 첫 번째 매개 변수, 개인 인스턴스; 두 번째 매개 변수 인 SET 값 // 호출 메소드를 실행 한 후 SetName 메소드를 실행하는 것과 동일하며 동시에 값은 niuqim1.invoke (p4, "niuqi")로 설정됩니다. System.out.println (p4.getname ());}* // 작동의 개인 메소드는 true* //m1.setAccessible(true)로 설정해야합니다. 메소드 이름, 클래스 인스턴스가 필요하지 않습니다* 반사를 사용하여 정적 메소드를 작동 할 때 인스턴스가 필요하지 않습니다.위의 것은 편집자가 소개 한 Java Web Basic Tutorial의 Java Basic Enhanced Edition입니다. 모든 사람에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 모든 사람에게 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!