Синтаксис Java. String и Swith-case |
В этой статье закроем все пробелы перед тем как переходить к следующим темам по ООП (объектно-ориентированное программирование).
Idea,NewProject,Space (пробелы), New Class,Java Class,Space
public class Space {
public static void main(String[] args) {
int [] nums = new int[12];
nums[0] = 10;
}
}
Элементам массива, можно присваивать значения сразу при его создании.
public class Space {
public static void main(String[] args) {
int[] nums = {1,2,3,4,5,6};
}
}
Мы уже создавали массив с числом дней в каждом месяце, теперь создадим его таким способом
public class Space {
public static void main(String[] args) {
int[] dayOfMonth = {31,28,31,30,31,30,31,31,30,31,30,31};
for (int i : dayOfMonth) {
System.out.println(i);
}
}
}
Run!
Ничего сложного, просто более быстрый способ инициализации массива.
Строковый тип данных string
В Java строковый тип данных не относится к категории примитивных и простых типов, он относится к ссылочным типам
Как создать строки и ими пользоваться ?
Для того что бы создать новую строку, используется синтаксис String, s имя строки, присвоить =, и в "значение"
public class Space {
public static void main(String[] args) {
String s = "Hello World";
System.out.println(s);
}
}
Run!
Так же при помощи знака + можем соединять строки или строку с переменной, что и делали в методе sout
Создадим пользователя и выведем информацию о нём.
public class Space {
public static void main(String[] args) {
String name = "Иван";
int age = 33;
String result = "Привет, " + name + "! Тебе " + age + " года.";
System.out.println(result);
}
}
Привет, Иван! Тебе 33 года.
Если хотим вывести строку с возрастом с другой строчки
public class Space {
public static void main(String[] args) {
String name = "Иван";
int age = 33;
String result = "Привет, " + name + "! \nТебе " + age + " года.";
System.out.println(result);
}
}
Привет, Иван!
Тебе 33 года.
Имя Иван нужно вывести в ""
Для того что бы использовать кавычку в строке, используется ещё один спец символ который экранирует кавычку \"
public class Space {
public static void main(String[] args) {
String name = "Иван";
int age = 33;
String result = "Привет, \"" + name + "\"! \nТебе " + age + " года.";
System.out.println(result);
}
}
Привет, "Иван"!
Тебе 33 года.
Задача!
Создать строковый массив с названиями месяцев, проинициализировать сразу. После этого вывести все названия месяцев в одну строчку и через запятую, а после последнего слова должна стоять точка.
Все значения String пишутся в ""
Решение:
public class Space {
public static void main(String[] args) {
String[] namesOfMonth = {
"Январь",
"Февраль",
"Март",
"Апрель",
"Май",
"Июнь",
"Июль",
"Август",
"Сентябрь",
"Октябрь",
"Ноябрь",
"Декабрь",
};
String result = "";
for (int i = 0; i < namesOfMonth.length; i++) {
result += namesOfMonth[i];
if (i ==namesOfMonth.length - 1) {
result += ".";
}
else {
result += ", ";
}
}
System.out.println(result);
}
}
Январь, Февраль, Март, Апрель, Май, Июнь, Июль, Август, Сентябрь, Октябрь, Ноябрь, Декабрь.
Задача!
Написать программу, которая принимает номер месяца и выводит его название на экран, если такого месяца нет, то вывести надпись "месяц не существует"
(без использования массивов, только операторы условия).
Решение:
public class Space {
public static void main(String[] args) {
int numberOfMonth = 1;
if (numberOfMonth == 1) {
System.out.println("Январь");
} else if (numberOfMonth == 2) {
System.out.println("Февраль");
} else if (numberOfMonth == 3) {
System.out.println("Март");
} else if (numberOfMonth == 4) {
System.out.println("Апрель");
} else if (numberOfMonth == 5) {
System.out.println("Май");
} else if (numberOfMonth == 6) {
System.out.println("Июнь");
} else if (numberOfMonth == 7) {
System.out.println("Июль");
} else if (numberOfMonth == 8) {
System.out.println("Август");
} else if (numberOfMonth == 9) {
System.out.println("Сентябрь");
} else if (numberOfMonth == 10) {
System.out.println("Октябрь");
} else if (numberOfMonth == 11) {
System.out.println("Ноябрь");
} else if (numberOfMonth == 12) {
System.out.println("Декабрь");
} else {
System.out.println("Месяц не существует");
}
}
}
Январь
Выведем 13 месяц
public class Space {
public static void main(String[] args) {
int numberOfMonth = 13;
if (numberOfMonth == 1) {
System.out.println("Январь");
} else if (numberOfMonth == 2) {
System.out.println("Февраль");
} else if (numberOfMonth == 3) {
System.out.println("Март");
} else if (numberOfMonth == 4) {
System.out.println("Апрель");
} else if (numberOfMonth == 5) {
System.out.println("Май");
} else if (numberOfMonth == 6) {
System.out.println("Июнь");
} else if (numberOfMonth == 7) {
System.out.println("Июль");
} else if (numberOfMonth == 8) {
System.out.println("Август");
} else if (numberOfMonth == 9) {
System.out.println("Сентябрь");
} else if (numberOfMonth == 10) {
System.out.println("Октябрь");
} else if (numberOfMonth == 11) {
System.out.println("Ноябрь");
} else if (numberOfMonth == 12) {
System.out.println("Декабрь");
} else {
System.out.println("Месяц не существует");
}
}
}
Месяц не существует
Запись не слишком удобная и читаемая и именно для таких случаев есть ещё один оператор условия switch
public class Space {
public static void main(String[] args) {
int numberOfMonth = 13;
switch (numberOfMonth) {
case 1:
System.out.println("Январь");
break;
case 2:
System.out.println("Февраль");
break;
case 3:
System.out.println("Март");
break;
case 4:
System.out.println("Апрель");
break;
case 5:
System.out.println("Май");
break;
case 6:
System.out.println("Июнь");
break;
case 7:
System.out.println("Июль");
break;
case 8:
System.out.println("Август");
break;
case 9:
System.out.println("Сенябрь");
break;
case 10:
System.out.println("Октябрь");
break;
case 11:
System.out.println("Ноябрь");
break;
case 12:
System.out.println("Декабрь");
break;
default:
System.out.println("Месяц не существует");
break;
}
}
}
Месяц не существует
public class Space {
public static void main(String[] args) {
int numberOfMonth = 5;
switch (numberOfMonth) {
case 1:
System.out.println("Январь");
break;
case 2:
System.out.println("Февраль");
break;
case 3:
System.out.println("Март");
break;
case 4:
System.out.println("Апрель");
break;
case 5:
System.out.println("Май");
break;
case 6:
System.out.println("Июнь");
break;
case 7:
System.out.println("Июль");
break;
case 8:
System.out.println("Август");
break;
case 9:
System.out.println("Сенябрь");
break;
case 10:
System.out.println("Октябрь");
break;
case 11:
System.out.println("Ноябрь");
break;
case 12:
System.out.println("Декабрь");
break;
default:
System.out.println("Месяц не существует");
break;
}
}
}
Май
Если не указать слово break
public class Space {
public static void main(String[] args) {
int numberOfMonth = 1;
switch (numberOfMonth) {
case 1:
System.out.println("Январь");
case 2:
System.out.println("Февраль");
case 3:
System.out.println("Март");
case 4:
System.out.println("Апрель");
case 5:
System.out.println("Май");
case 6:
System.out.println("Июнь");
break;
case 7:
System.out.println("Июль");
break;
case 8:
System.out.println("Август");
break;
case 9:
System.out.println("Сенябрь");
break;
case 10:
System.out.println("Октябрь");
break;
case 11:
System.out.println("Ноябрь");
break;
case 12:
System.out.println("Декабрь");
break;
default:
System.out.println("Месяц не существует");
break;
}
}
}
Январь
Февраль
Март
Апрель
Май
Июнь
Домашнее задание!
Написать программу, которая принимает строковую переменную с названием месяца. И если месяц введен правильно, то вывести на экран время года, к которому этот месяц относится, в противном случае вывести сообщение, что месяц не существует.
Выполнить сначала при помощи if-else, а затем при помощи switch-case
Использовать в сравнении метод .equals
public class Space {
public static void main(String[] args) {
String first = "Hello";
String seconds = "Hello";
if (first.equals (seconds) ) {
System.out.println();
}
}
}
Решение:
public class Seasons {
public static void main(String[] args) {
String month = "Сентябрь";
if (month.equals("Декабрь") || month.equals("Январь") || month.equals("Февраль")) {
System.out.println("Зима");
} else if (month.equals("Март") || month.equals("Апрель") || month.equals("Май")) {
System.out.println("Весна");
} else if (month.equals("Июнь") || month.equals("Июль") || month.equals("Август")) {
System.out.println("Лето");
} else if (month.equals("Сентябрь") || month.equals("Октябрь") || month.equals("Ноябрь")) {
System.out.println("Осень");
} else {
System.out.println("Несуществующее время года");
}
month = "Июнь";
switch (month) {
case "Декабрь":
case "Январь":
case "Февраль":
System.out.println("Зима");
break;
case "Март":
case "Апрель":
case "Май":
System.out.println("Весна");
break;
case "Июнь":
case "Июль":
case "Август":
System.out.println("Лето");
break;
case "Сентябрь":
case "Октябрь":
case "Ноябрь":
System.out.println("Осень");
break;
default:
System.out.println("Несуществующее время года");
break;
}
}
}