Java руководство для начинающих - Шилдт Герберт (2012)
-
Год:2012
-
Название:Java руководство для начинающих
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Издательство:Вильямс
-
Страниц:316
-
ISBN:978-5-8459-1770-6
-
Рейтинг:
-
Ваша оценка:
Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги
}
Выполнение этой программы дает следующий результат:
10 is even.
8 is even.
В данной программе метод isEven () вызывается трижды, и каждый раз ему передается новое значение. Рассмотрим подробнее ее исходный код. Обратите сначала внимание на то, каким образом вызывается метод isEven (). Его параметр указывается в круглых скобках. При первом вызове методу isEven () передается значение 10. Следовательно, когда метод isEven () начинает выполняться, параметр х получает значение 10. При втором вызове в качестве аргумента этому методу передается значение 9, которое и принимает параметр х. А при третьем вызове методу isEven () передается значение 8, которое опять же присваивается параметру х. Какое бы значение ни указать при вызове метода isEven (), его все равно получит параметр х.
В методе может быть определено несколько параметров, и в этом случае они разделяются запятыми. Допустим, в классе Factor имеется метод isFactor (), который определяет, является ли первый его параметр множителем второго, как показано ниже.
class Factor {
//В этом методе предусмотрены два параметра.
boolean isFactor(int a, int b) {
if( (b % a) == 0) return true;
else return false;
}
}
class IsFact {
public static void main(String args[]) {
Factor x = new Factor();
// При вызове методу isFactor() передаются два аргумента.
if(х.isFactor(2, 20)) System.out.println("2 is factor");
if(x.isFactor(3, 20)) System.out.println("this won't be displayed");
}
}
Обратите внимание на то, что при вызове метода isFactor () передаваемые ему значения также разделяются запятыми.
При использовании нескольких параметров для каждого из них определяется тип, причем типы параметров могут отличаться. Например, следующее объявление метода является корректным:
int myMeth(int a, double b, float с) {
// ...
Добавление параметризированного метода в класс Vehicle
Параметризированный метод позволяет реализовать в классе Vehicle новую возможность: расчет объема топлива, необходимого для преодоления заданного расстояния. Назовем этот новый метод fuelneededO . Он получает в качестве параметра расстояние в милях, которое должно проехать транспортное средство, а возвращает необходимое для этого количество галлонов топлива. Метод f uelneeded () определяется следующим образом:
double fuelneeded(int miles) {
return (double) miles / mpg;
}
Обратите внимание на то, что этот метод возвращает значение типа double. Это важно, поскольку объем потребляемого топлива не всегда можно выразить целым числом. Ниже приведен исходный код программы для расчета дальности действия транспортных средств с классом Vehicle, содержащим метод fuelneeded ().
/*
Добавление параметризированного метода, в котором производится
расчет объема топлива, необходимого транспортному средству для
преодоления заданного расстояния.
*/
class Vehicle {
int passengers; // количество пассажиров
int fuelcap; // емкость топливного бака
int mpg; // потребление топлива в милях на галлон
// возвратить дальность действия транспортного средства
int range() {
return mpg * fuelcap;
}
// рассчитать объем топлива, необходимого транспортному
// средству для преодоления заданного расстояния
double fuelneeded(int miles) {
return (double) miles / mpg;
}
}
class CompFuel {
public static void main(String args[]) {
Vehicle minivan = new Vehicle();
Vehicle sportscar = new Vehicle();
double gallons;
int dist = 252;
// присвоить значения полям в объекте minivan
minivan.passengers = 7;
minivan.fuelcap = 16;
minivan.mpg = 21;
// присвоить значения полям в объекте sportscar