Создание программ на Java Управляющие структуры языка, объявление классов и методов, компиляция и запуск программ.

Презентация:



Advertisements
Похожие презентации
b5_java_s4
Advertisements

Синтаксис языка Java. Символы и синтаксис Перевод строчки эквивалентен пробелу Регистр в именах различается.
Java, каф.ОСУ, АВТФ1 Определение классов и методов Java- программа состоит из объектов различных классов, взаимодействующих друг с другом. Каждое.
Кафедра ОСУ, Java 2007 Слайд 1 Определение классов и методов Java- программа состоит из объектов различных классов, взаимодействующих друг.
Инструкции C++ Условная инструкция Формат: if (условие) оператор; else оператор; Пример: if (i!=0) { if (j) j++; if(k) k++; else if(p) k--; } else i--;
1 Классы в Java Ключевое слово class означает: Я говорю тебе, как выглядит новый тип объекта. Класс является базовым элементом объектно-ориентированного.
Test 6 Вопрос 1. Как можно уничтожить объект в Java? a)присвоить null всем ссылкам на объект b)вызвать Runtime.getRuntime().gc() c)вызвать метод finalize()
Операции Условная операция ? : Если истинно, то результатом будет, иначе. Например, int x = a < b ? a : b вычисляет минимум из a и b.
1 Контрольное зачетное задание (0, 0)(0, m-1) (n-1, 0)(n-1, m-1) Дано прямоугольное поле, расчерченное на клетки: n клеток в высоту и m клеток в ширину.
Переменные и операторы УРОК 2. Переменные ПЕРЕМЕННАЯ – ?... контейнер для хранения данных. Переменная имеет имя – это….? последовательность букв, цифр.
РНР Изучение языка. Программирование интерактивных WEB-сайтов на языке PHP.
Лекция 6 Функции. Объявления и определения Объявление функции – указание имени функции, а также входных и выходных параметров Определение функции – указание.
Обработка исключительных ситуаций Исключительная ситуация (исключение) – это ошибка, возникающая во время выполнения программы. Например, ошибка работы.
1 Методы Java Методы класса – это подпрограммы, присоединенные к конкретным определениям классов. Они описываются внутри определения класса на том же уровне,
Лекция 4. Введение в С++ Наследование, множественное наследование. Конструкторы, деструкторы. Виртуальные функции.
Java. Part 2. Спецификаторы доступа public private protected не указан – доступ в пределах пакета Могут использоваться перед классами, методами, полями.
Лекция 6 Функции. Объявления и определения Объявление функции – указание имени функции, а также входных и выходных параметров Определение функции – указание.
Практическое занятие 6. Функции. Большинство языков программирования используют понятия функции и процедуры. C++ формально не поддерживает понятие процедуры,
1 © Luxoft Training 2012 Java: расширенные вопросы Модуль #8.
Практическое программирование на Java к.ф.-м.н. Козлов Дмитрий Дмитриевич Кафедра АСВК, Лаборатория Вычислительных комплексов.
Транксрипт:

Создание программ на Java Управляющие структуры языка, объявление классов и методов, компиляция и запуск программ

Кафедра ЮНЕСКО по НИТ, 2008 Область видимости блока public static void main(String [] args) { int n; // начало блока 1 … { // начало блока 2 // переменная n видна из этого блока int k; int n; // Ошибка – невозможно переопределить переменную n во вложенном блоке //переменная k определена только в этом блоке } // конец блока 2 } // конец блока 1

Кафедра ЮНЕСКО по НИТ, 2008 Условные операторы if (условие) оператор // или if (условие) { оператор 1; оператор 2; } if (sale >=2*target) { performance=Отлично; } else if (sale >=1.5*target) {performance=Удовлетворительно; } else {System.out.println(Вы уволены);} Многовариантное ветвление Условный оператор имеет вид

Кафедра ЮНЕСКО по НИТ, 2008 Циклы while (условие) {операторы;} do оператор while (условие); while (balance < goal) { balance+=payment; years++; } Неопределенные циклы for (синиц. сч.; условие; обновил. сч.) {} for (int i = 1; i < = 10; i++){ System.out.println(i); } for (int i = 10; i > 0; -- i){ System.out.println(Обратный отсчет + i); } Определенные циклы

Кафедра ЮНЕСКО по НИТ, 2008 Многовариантное ветвление String input = JOptionPane.showInputDialog (Выберите вариант (1, 2, 3)); int choice = Integer.parseInt (input); switch (choice){ case 1: … break; case 2: … break; case 3: … break; default: // неверный выбор … break; } // метка case должна быть целочисленной!!!

Кафедра ЮНЕСКО по НИТ, 2008 Класс Тело класса может содержать объявление элементов (members) класса: полей; методов; внутренних типов (классов и интерфейсов); конструкторов; синициализаторов; статических синициализаторов. Модификатор class Имя_класса [extends Имя_класса 2] {тело класса из полей и методов} Объявление полей начинается с перечисления модификаторов. Затем указывается тип данных и имя переменной. Можно указывать начальное значение – синициализация. int a; final double PI=3.1415; final long creationTime=System.currentTimeMillis();

Кафедра ЮНЕСКО по НИТ, 2008 Методы Объявление метода состоит из заголовка и тела метода. Заголовок состоит из: модификаторов (доступа в том числе); типа возвращаемого значения или ключевого слова void; имени метода; списка аргументов в круглых скобках (аргументов может не быть); специального throws- выражения. Существует модификатор final, который говорит о том, что такой метод нельзя переопределять в наследниках. Можно считать, что все методы final-класса, а также все private- методы любого класса являются final. public void process(int x,final double y){ x=x*x+Math.sqrt(x); //y=Math.sin(x);-так писать нельзя,т.к.y -final!}

Кафедра ЮНЕСКО по НИТ, 2008 Сигнатура метода Сигнатура определяется именем метода и его аргументами (количеством, типом, порядком следования). Если для полей запрещается совпадение имен, то для методов в классе запрещено создание двух методов с одинаковыми сигнатурами. class Point { void get(){} void get(int x){} void get(int x,double y){} void get(double x,int y){}} Если в заголовке метода указан тип возвращаемого значения, а не void, то в теле метода обязательно должно встречаться return-выражение.

Кафедра ЮНЕСКО по НИТ, 2008 Конструкторы классов Формат объявления конструкторов похож на упрощенное объявление методов. Отсутствует тип возвращаемого значения public class Human { private int age; protected Human(int a){ // конструктор 1 age=a;} public Human(String name,Human mother,Human father){ age=0;} // конструктор 2 } Используется 2 конструктора. Это возможно, так как сигнатуры различные!!!

Кафедра ЮНЕСКО по НИТ, 2008 Наследование конструкторов public class Parent { private int x,y; public Parent(){ x=y=0;} public Parent(int newx,int newy){ x=newx; y=newy;} } public class Child extends Parent { public Child(){ super();} public Child(int newx,int newy){ super(newx,newy); } Ключевое слово super указывает на наследование конструктора от класса родителя Иногда требуется в конструкторе вызвать один из конструкторов данного класса. Для этого применяется ключевое слово this(), которое вызывает конструктор и принимает аргументы.

Кафедра ЮНЕСКО по НИТ, 2008 Функция Main Программа, написанная на Java, является набором классов. Понятно, что требуется некая входная точка, с которой должно начинаться выполнение приложения. public static void main(String[]args){} Аргументом метода main() является массив строк. Он заполняется дополнительными параметрами, которые были указаны при вызове метода. package test.first; public class Test { public static void main(String[]args){ for (int i=0;i

Кафедра ЮНЕСКО по НИТ, 2008 Задание путей к файлам Если при выполнении команды javac не вызывается компилятор языка Java, то необходимо в ОС прописать путь до исполняемых файлов Java: На UNIX-системе в файле ~/.bashrc или ~/.bash_profile прописать export PATH=$PATH:/usr/local/jdk/bin На Windows-системе в файл autoexec.bat добавить: SET PATH=c:\java\jdk1.5.01\bin;%PATH% или прописать путь до исполняемых файлов через переменные среды окружения При компиляции программ поиск исходных файлов компилятором javac происходит в соответствии со значением переменной classpath, которое может выглядеть следующим образом:.; c:\java\classes. Видно, что поиск файлов проводится в текущей директории, а затем в системных файлах Java. При компиляции можно переопределять путь следующим образом: javac –classpath d:\my_project …

Кафедра ЮНЕСКО по НИТ, 2008 Компиляция и запуск программ Для компиляции программы необходимо в командной строке набрать javac и указать через пробел компилируемые файлы: javac file1. java file2. java file3. java Необходимо помнить о том, что если файлы принадлежат пакету, то компиляцию нужно производить из директории, в которой этот пакет содержится. Для запуска скомпилированного проекта необходимо JVM указать имя класса, содержащего функцию main(): java Имя_класса_с_main Если проект содержится в пакете, то запуск осуществляется из той же директории, откуда проводилась компиляция. При этом необходимо указывать составное имя класса.

Кафедра ЮНЕСКО по НИТ, 2008 Задание 1. Откомпилировать и запустить программу, приведенную на слайде 11, из командной строки. Протестировать программу с передачей различного числа аргументов из командной строки. 2. Написать программу, в которой перебираются числа от 1 до 500 и выводятся на экран. Если число делится на 5, то вместо него выводится слово fizz, если на 7, то buzz. Если число делится на 5 и на 7, то выводить слово fizzbuzz. (% - остаток от деления). 3. Написать программу, в которой все переданные во входную строку аргументы выводятся на экран в обратной порядке. Например, если было передано 2 аргумента – make install, то на экран должно вывестись llatsni ekam. Замечение: для разбора слова по буквам необходимо использовать функцию charAt(). Например, str.charAt(i) вернет символ с позиции i в слове, записанном в строковую переменную str. Команда str.length() возвращает длину слова str. 1. Создать проект Калькулятор в среде Eclipse и запустить его.