Технологии программирования Программирование на языке Java Газейкина Анна Ивановна, канд. пед. наук, доцент кафедры информатики, информационных технологий и методики обучения информатике Ур. ГПУ, gazeykina@uspu. ru
Методы (подпрограммы) в Java -программе Лекция 7
Методы (подпрограммы) l l l Методы реализуют ПОВЕДЕНЧЕСКУЮ сторону программы, это реализация алгоритмов обработки данных. Подпрограмма – это составной оператор, имеющий имя (идентификатор). Метод – это подпрограмма, инкапсулированная (включенная) в класс. Т. к. Java – объектно-ориентированный язык, программа – это класс, поэтому подпрограммы называют методами. 3
Если программа содержит методы: метод должен быть ОБЪЯВЛЕН (описан) в программе l метод может быть вызван из программы (в том числе из другого метода) Правило: объявление предшествует вызову. Но: так как Java-программа – это класс, это правило может быть нарушено: объявление метода может быть в любом месте классапрограммы. l 4
Виды l Подпрограммы: l l l процедуры функции Методы: l l нетипизированные (т. е. процедуры) типизированные (т. е. функции) 5
Объявление метода заголовок метода { тело метода } 6
Нетипизированный метод void имя_метода (список формальных параметров) { тело метода } 7
Типизированный метод тип_значения имя_метода (список формальных параметров) { тело метода } В теле типизированного метода должен присутствовать оператор return возвращаемое_значение; 8
Вызов метода Метод вызывается по ИМЕНИ, после которого в круглых скобках указывается перечень ФАКТИЧЕСКИХ параметров: их количество, типы и назначение должны соответствовать списку формальных параметров метода. 9
Пример объявление: double average (double a, double b){ return (a+b) / 2. 0; } вызов: double t=average (x, y); или t=average (y*10, 24. 5); 10
Одноименные методы - это методы с одинаковыми именами, они должны различаться списком формальных параметров. 11
Одноименные методы double average (double a, double b){ return (a+b) / 2. 0; } int average (int a, int b){ return (a+b) / 2; } Это РАЗНЫЕ методы. Вызван будет тот, которому соответствует список фактических параметров: с =average (5, 8); //int average d =average (5. 0, 8. 0); //double average 12
import java. util. *; public class Methods { public static void main(String[] args){ new Methods(); } Methods(){ Scanner sc=new Scanner (System. in); System. out. print("Введите целое число "); int n=sc. next. Int(); // вызов нетипизированного метода (процедуры) procedure_last(n); // вызов типизированного метода (функции) int x=function_last(n); System. out. println("Последняя цифра "+x); // или System. out. println("Последняя цифра "+function_last(n)); } // Пример нетипизированного метода (процедуры) void procedure_last(int number){ System. out. println("Последняя цифра "+number%10); } // Пример типизированного метода (функции) int function_last(int number){ return number%10; } } 13