Java для Android-разработчиков. Часть #3
Порядок выполнения программы на Java
Программа на Java выполняется строчка за строчкой, сверху вниз. Но в некоторых случаях, нам нужно, чтобы какой-то код выполнился в зависимости от условий. Условия задаются при помощи оператора if. Мы проверяем условие и если оно верно, то выполняется первый блок кода "I go to work". А если условие неверно, то выполнится второй блок кода "I'm staying home".
public static void main(String[] args) {
boolean isMonday = true;
if (isMonday) {
System.out.println("I go to work");
}
else {
System.out.println("I'm staying home");
System.out.println("Good weather");
}
}
Дальше выполнится третий блок, независимо от условия. Третий блок "Good weather" не зависит от условия и поэтому выполняется в порядке очередности.
Повторение выполнения кода (циклы)
Цикл While
Когда нужно какую-то строку или целый блок кода выполнить несколько раз, существуют циклы. Самый простой - это цикл While (делай что-то, пока условие верно).
int repeatNumber = 5;
while (repeatNumber > 0)
System.out.println("делай что-то пока");
Цикл Do While
Цикл Do While работает таким образом, что сначала выполняется хотя-бы один раз то, что в теле цикла. Независимо от того верно ли условие. А потом уже проверяется условие.
int repeatNumber = 5;
do
System.out.println("делай что-то пока");
while (repeatNumber > 0);
Цикл For
Цикл For позволяет задавать более сложное условие. Мы заводим переменную i и записываем в нее 0. Дальше выполняется тело цикла, до тех пор пока верно условие, каждый раз увеличивая переменную на единицу. С каждым шагом, переменная i будет изменяться и в какой-то момент, ее значение станет больше 100 и цикл сам остановится.
for (int i = 0; i < 100; i++) {
System.out.println("выполняется тело цикла");
}
Объекты и классы
Представьте себе, что вы видите на улице гуляющих двух собак: одна из них породы мопс, а другая породы корги. Но по факту оба представителя разных пород, являются собаками. Как видит эту ситуацию язык Java? Для него собака - это класс, а мопс и корги - объекты. А теперь перейдем к практике.
Создадим класс Dog и внутри него объявим поля с переменными и методами. У класса есть конструктор, который ничего не возвращает, но зато передает параметры. Ключевое слово this говорит о том, что мы имеем дело с полями данных объектов.
public class Dog {
int age;
float weight;
String name;
}
Dog() {
age = 3;
weight = 4.5f;
name = Wiskey;
}
Dog (int age, float weight, String name) {
this.year = year;
this.weight = weight;
this.name = name;
}
void feed() {
dailyAmount = 300;
}
В Java мы всегда работаем внутри класса Main. Давайте заведем новую собаку. Для этого создадим новый класс new Dog и запишем его в переменную myDog. Затем создадим еще одну переменную corgi. Когда мы создали новую переменную, на самом деле новых объектов не создалось. Просто создалась еще одна переменная, которая ссылается на тот же самый объект. Важно понимать, что переменные могут быть разными, но все они будут ссылаться на один и тото же объект. Поэтому, если поменяем значение поля (age) у новой переменной, то значение поля изменится и у самого объекта в переменной myDog.
public static void main(String[] args) {
Dog myDog = new Dog();
myDog.age = 5;
myDog(feed);
Dog corgi = myDog;
corgi.age = 6; // теперь myDog.age = 6
}
Создадим метод changeAge(), который будет менять возраст у собаки.
static void changeAge(Dog dog, int age) {
dog.age = age;
dog = new Dog();
dog.age = 6;
}
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.