1. Установка и использование Myeclipse
* Eclipse: является бесплатным инструментом разработки* MyeClipse: это платный плагин для взлома MyeClipse, ** Требования к каталогу установки: не может быть китайцы и пространства ** после завершения установки, выберите рабочее пространство, которое не может иметь китайского и пространства* Web Project Java Project Project- выберите JDK Degency, вы можете использовать JDK, который поставляется с MyeClipse, или вы можете использовать установленную jdk* для создания пакета пакета- cn.itcast.test xx.xx.xx* Создать класс в пакете. return value;} - Спецификация именования метода Спецификация по нижней части первой буквы, например: AddNum ()* Определить переменную - спецификация именования переменной ** Первоначальная буква строчная запись, первая буква второго слова должна быть в верхней регистрации, такая как имя пользователя* Есть еще один способ называть ** Использование китайского пистина, чтобы назвать yonghuming mima **. Наименование: см. Имя и узнайте, что это значит * Код должен быть отступок * Запустите программу запуска как Java ApplicationDebug как приложение Java
2. Режим отладки отладки (режим отладки Breakpoint)
* Using this mode, debug the program (see the changes in the data in the program) * The first step to use debug requires setting a breakpoint (let the program run stop on this line) - Show the line number - Double-click on the left, a dot appears, indicating that a breakpoint has been set * Use debug as method, run the program - prompt whether to enter the debug interface, yes- On the breakpoint, there is a green bar, indicating that the program stops on this line and does Не спускаться * Вы можете позволить программе выполнить вниз, - используйте шаг через клавиша ярлыка - F6 (одностадийное выполнение) - резюме F8: указывает на то, что отладка окончена, запустите непосредственно ** Например, есть точка останова после текущей точки перерыва, перейдите к следующей точке. В: Введите метод ** f7 step return: return
3. Использование клавиш сочетания Myeclipse
* Подсказка кода Alt /* Quick Guide Package Ctrl Shift O* Comment Comment Ctrl /* Удалить комментарий с одной строкой Ctrl /* Multi-Line Comment Comment Shift /* Удалить многострочный комментарий Ctrl Shift /* Удалить строку Ctrl D
4. Использование JUNIT
* Единый тест* Тестовый объект-это метод в классе* Juint не является частью Javase, я хочу использовать пакет Import Jar **, однако, пакет JAR с JUNIT вводится в MyeClipse* Во-первых, когда JUNIT версия 3.x 4.x* единичный метод испытаний, метод именования. @Testpublic void testaddd1 () {testjunit test01 = new testjunit (); test01.testadd (2, 3);}-выберите имя метода, правой класс для запуска запуска. Запустите как --- Junit Test ** @Ignore: означает, что этот метод не протестирован на единицу ** @before: запуск на каждом методе ** @after: запускается после каждого метода ** assert.assertequals («Проверьте ожидаемое значение», «Фактическое значение работы метода»). параметры ** отражение5. Введение в дженерики
* Зачем использовать дженерики? - Обычно используется в наборах ** Например, теперь поместите значение типа строки в набор. В настоящее время, после помесщения этого значения в набор, тип, который теряет его способность, может быть только типом объекта. Например, в настоящее время, если вы хотите ввести, преобразование этого значения легко иметь ошибки преобразования типа. Как решить эту проблему можно использовать для решения этой проблемы с использованием Generics*Как использовать Generics в наборах - обычно используемые набор списков набор карты - Общий сбор синтаксиса <string> Например, список <string>*написан как объект в общем, а строка не может записать основные типы данных, такие как int (****) ** Написать основные данные, соответствующие классу rupper, - на longletrog - orte -rothlyglOng - щедро - щедро - DoubleChar - MartactBoolean - Boolean* Три реализации использования общих списков в списке ArrayList VectorList VectorList VectorList: @TestPublic void TestList () {list <string> list = new ArrayList <string> (); list.add ("aaa"); Для улучшения итератора цикла для // обычного для цикла для (int i = 0; i <list.size (); i ++) {string s = list.get (i); System.out.println (s);} System.out.println ("====================================================================================== ========================================================================= ========================================================================= ======================================================================== ========================================================================= ========================================================================= ========================================================================= Эти три различия * Используйте общий код в Set: // generics Используйте SET на SET @TestPublic void testset () {set <string> set = new HASHSET <String> (); set.Add ("www"); set.add ("qqq"); set.add ("zzz"); // set. Для // использование улучшения для обхода для (String S2: SET) {System.out.println (s2);} System.out.println ("============================================================================= ========================================================================================== ========================================================================================== ========================================================================================== = set.iterator (); while (it1.hasnext ()) {system.out.println (it1.next ());}}* Использовать структуру generics-map на карте: код формы ключа-валу: // Использование Generics на карте @testpublic void testmap () {map, string> map = new hashmap <string> (); "111"); map.put ("bbb", "222"); map.put ("ccc", "333"); // Карта перехода Существует несколько способов проезда // 1. Получить все клавиши и получить значение с помощью клавиш. (Клавиша строки: sets) {// получить Valuestring value = map.get (key); System.out.println (key+": "+value);} System.out.println (" ============================================================================================= ========================================================================================== ========================================================================================== ================================================================================================ {// intry - это отношение между ключом и значением string keyv = entry.getkey (); string valuev = intry.getValue (); System.out.println (keyv+":"+valuev);}}6. дженерики используются в методах
* Определите массив для реализации обмена элементами массива в указанной позиции* Логика метода одинакова, но типы данных различны. В настоящее время используйте общие методы* /** Используйте общие методы для определения типа с использованием заглавных букв для представления T: This T представляет любой тип* до того, как возвращается значение <t>* ========== Определить тип. Этот тип t* Здесь вы можете использовать этот тип t**/public static <t> void swap1 (t [] arr, int a, int b) {t temp = arr [a]; arr [a] = arr [b]; arr [b] = temp;} ** задание 2: реализовать общий метод, принять любой массив и обратить все7. Использование дженериков на классах (понимайте)
* Определите тип в классе, этот тип можно использовать непосредственно в классе * Общедоступный класс TestDemo04 <T> {// Вы можете использовать T TAA TAA в классе; public void test11 (t bb) {} // Напишите общий, определенный статическим методом в классе, и вы больше не можете использовать публичный статический метод, публичный статический <a> void test12 (cc) {}}8. Введение в перечисление
* Что такое перечисление? ** Вам нужно взять значение в определенном диапазоне, и это значение может быть только любым из диапазонов. ** Реалистичная сцена: светофоры, есть три цвета, но только один из трех цветов может быть ярким за раз* Используйте одно ключевое слово enum ** enum color3 {красный, зеленый, желтый;}* Метод конструкции enum также является приватным* Операция специального перечисления (Понять) ** В методе строительства есть метод конструкции **. Перепишите этот абстрактный метод в каждом случае перевода9. Работа перечисленного API
** name (): вернуть имя enum ** ordinal (): подписка enum, подписка начинается с 0 ** valueof (class <t> enumtype, string name): Получите объект enum ** Существует два других метода, оба из которых не являются в API, и два метода генерируются во время eNembration. Преобразование между объектами enum, подписью объекта enum и представлением имени объекта enum- // Знать объект enum, получить имя и подписание inum @testpublic void test1 () {// Получить enum color100 c100 = color100.red; // enum name name = c100.name (); // sepcript in unumect int id ad ind name = c100.name (); // sepcript of Enumeration int id Idx = ind Idx = c100.name (); c100.ordinal (); System.out.println (name+""+idx);}- // Знать имя перечисления, получить объект и подписаться на перечисление @testpublic void test2 () {string name1 = "green"; // Получить объект Color1 = color1.valueof (name1); c1.ordinal (); System.out.println (idx1);}- // Знать подпись перечисления, получить объект и название перечисления @testpublic void test3 () {int idx2 = 2; // Получить цвет объекта Color100 [] cs = color1.values (); // Получить объект Color100 [] csclip = color1.values (); // Получить объект Color100 oscript = oscript = oscript = oscript = colcript = obcripct = obcripct = colcripct = coloccript = coloccript = coloccript = coloccript = coloccript = coloccript = coloccript = color = color. cs [idx2]; // Получить имя nemeration name = c12.name (); System.out.println (name);}10. Статический импорт (понять)
* Вы можете напрямую использовать метод статического импорта в коде для импорта статических методов или константов* Импорт Static xx.xx.xxx* Импорт статический java.lang.system.out; импорт static java.util.arrays.sort; ** Например, теперь реализует калькулятор в математическом классе.
11. Автоматическая распаковка и сборка
* Box ** Преобразовать основной тип данных в класс упаковки* Unboxing ** Преобразование класса упаковки в основной тип данных ** // autobox integer i = 10; // autobox int m = i; ** Как Box и unbox в jdk1.4 - // autobox в jdk1.4 public void test1 () {/inte integ m = newger (10); 10); 10); // unbox int a = m.intvalue ();} ** jdk является обратно совместимым - например, код, написанный в JDK1.4, также может работать в 5.0 ** Упражнение: обратно совместимый == Результат выполнения - вызов DOSOMome (Double M) == Во -первых, этот метод должен быть вызван в jdk1.4. Если называется следующий метод, требуется преобразование типа, но JDK1.4 не может реализовать автоматическое распаковки ==, поскольку JDK совместим с обратно, если этот метод называется в JDK1.4, этот метод все еще будет вызван в JDK5.0 Public Static Void Main (String [] args) {dosomeNhething (10); {System.out.println ("double ...");} public static void dosomething (целое число a) {system.out.println ("Integer ......");} ** Помните:12. Улучшен для петли (*****)
* Синтаксис для (The Value Traversed: The Set To Traversed) {}- for (String s: list) {System.out.println (s);}* Сценарии использования: массив; Наборы, которые реализуют итерабильный интерфейс, могут использовать Enhanced For Lo Интерфейс итератора не может быть реализован, поэтому улучшение для цикла не может быть использовано. Появляется цель усиления для цикла: заменить итератор ** базовый уровень улучшения для итератора реализуется итератором13. Дополнение контента
(1) Общая стирания* Во -первых, дженерики появляются только на этапе исходного кода. При составлении дженерики больше не существуют (2) Упражнение: реализуйте общий метод, принимайте массивы любого типа и обращайте все коды элементов в общедоступном static <t> void revers (t [] arr1) {/** Основная идея: поменяйте первый элемент с последним элементом и обменивается вторым элементом на будущий элемент. Полем Полем Полем *Длина свопа/2**/////mansweep массив для (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.length-i-1];14. Переменные параметры
* В каком сценарии можно применяться переменные параметры: ** реализовать добавление двух чисел и реализовать добавление трех чисел и четырех чисел- если реализованы несколько методов, логика в этих методах в основном одинакова. Единственная разница - это количество прошедших параметров. Вы можете использовать переменные параметры* Метод определения переменных параметров Тип данных ... Имя массива* понимается как массив, в котором хранится пропущенные параметры-код, общедоступные статические void add1 (int ... nums) {// nums понимается как массив, который сохраняет прошедшие параметры // system.out.println (nums.length); i=0;i<nums.length;i++) {sum += nums[i];}System.out.println(sum);}* Note (1) Variable parameters need to be written in the parameter list of the method, and cannot be defined separately (2) There can only be one variable parameter in the parameter list of the method (3) Variable parameters in the parameter list of the method must be placed at the end of the parameter - add1 (int a, int ... nums)15. Принцип отражения (************)
* Применяется в некоторых кодах с более высокой универсальностью* Большинство изготовленных поздних структурных рамок используются с использованием отражения* В разработке структуры, они разработаны на основе файла конфигурации ** в файле конфигурации, все содержимое в классе можно получить с помощью отражения, а метод в классе может использоваться для выполнения* все содержимое в классе: атрибуты, конструкторы без параметоров, конструкции, конструкции с параметрами. Во -первых, вам нужно сохранить файл Java на локальный жесткий диск. После получения этого класса вы можете получить все содержимое в файле класса - включая конструкторы атрибутов, обычные методы* атрибуты подаются* Конструктор* Конструктор* Нормальный метод проходит через метод класса
16. Используйте метод конструкции без параметра в классе операции отражения (** будет писать **)
* Сначала Получить класс класса - // Получить класс класса класса класса clazz1 = person.class; class clazz2 = new Person (). GetClass (); class clazz3 = class.forname ("cn.itcast.test09.person");* Например: для создания класса, вы можете новое, но не используете новое, как его получить? - // Получить ClassClass C3 = class.forname ("cn.itcast.test09.person"); // Получить экземпляр человека класса Person P = (Person) c3.newinstance ();* Code // Работайте конструктор без параметров @testpublic void test1 () Throhs exection {// get class class c3 = = Class.forname ("cn.itcast.test09.person"); // Получить экземпляр человека класса PRECTION P = (Person) c3.newinstance (); // Установить значение p.setname ("Zhangsan"); System.out.println (p.getName ());}17. Используйте операцию отражения, чтобы иметь метод создания параметров (** написать **)
// управляйте конструктором с параметрами @testpublic void test2 () throws exception {// get classclass c1 = class.forname ("cn.itcast.test09.person"); // Использование конструктора с параметрами // c1.getConstructors (); // Получить все конструкторы // ПАРАМЕТРИИ ПАРАМЕТРАЛЬНЫ сорт. Cs = c1.getConstructor (string.class, string.class); // Установите значение через конструктор с параметрами // Создать экземпляр человека через конструктор с параметрами человека P1 = (человек) Cs.newinstance ("lisi", "100"); System.out.println (p1.getid () "+p1.getme (););18. Используйте свойства операции отражения (** написать **)
* // ОПЕРЕЗАТЬ ИМЯ Атрибут @testpublic void test3 () {try {// получить класс класса C2 = class.forname ("cn.itcast.test09.person"); // Получить атрибут // c2.getdeclaredfields (); // указывать, чтобы получить все атрибуты // Получить экземпляр человека. Этот метод, параметр является именем поля атрибута 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 (Exception e) {e.printstacktrace ();}}19. Используйте общие методы работы (** можно написать **)
* Используйте класс метода, чтобы представлять обычные методы* Code // Работать обычные методы, такие как Operating SetName@testpublic void test4 () Throws Exception {// Получить класс класса c4 = class.forname ("cn.itcast.test09.person"); // Получить человеческий экземпляр человека P4 = (человек) c4.newinStance (); Метод // c4.getDeclaredMethods (); // Получить все обычные методы // Передача два параметра: первый параметр, имя метода; Второй параметр, тип параметра в методе метода m1 = c4.getdeclaredmethod ("setname", string.class); // пусть метод setName выполняет, выполнить значение SET // Использование Invoke (P4, "niuqi"); Передайте два параметра: первый параметр, экземпляр человека; Второй параметр, установленное значение // После выполнения метода Invoke он эквивалентен выполнению метода SetName, и в то же время значение установлено значение Niuqim1.invoke (P4, «Niuqi»); System.out.println (p4.getName ());}* // Частный метод операции должен быть установлен на true* //m1.setAccessible(true);* Когда метод работы является статическим методом, поскольку статический метод называется именем класса. Имя метода, ни один экземпляр класса не требуется* При использовании отражения Для работы статического метода ни один экземпляр не требуется* В первом параметре метода Invokie напишите Null-m1.invoke (null, «niuqi»);Выше приведено базовое издание Java Basic Enhanced Edition of Java Web Basic Rutorial, представленное редактором. Я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит всем вовремя. Большое спасибо за вашу поддержку сайту wulin.com!