//В начале пишем public class и имя программы. С большой буквы, CamelCase:
public class HelloWorld {
//при запуске программы она начинает исполняться с этого метода.
//заголовок метода должен быть ровно таким, как в примере, иначе программа не запустится
public static void main(String[] args) {
//заводим переменную для хранения целых чисел, сразу присваиваем значение
int x = 42;
//печать на экран. Здесь и везде в конце оператора ставится ;
System.out.println("Hello World");
//Распечатывать можно только что-то одно, поэтому, если у вас несколько объектов,
//нужно их сначала конкатенировать (соединить) операцией плюс:
System.out.println("Значение переменной x равно " + x);
//в отличие от Python не нужно явно превращать числа в строку.
//При конкатенации любые объекты автоматически
//превращаются в строку
//несколько вариантов условного оператора.
//Условие всегда пишется в круглых скобках
//без else
if (x == 10 || x == 11 && x == 12 || !(x >= 10)) {
//какие-то действия
}
//с else
if (x == 10 || x == 11 && x == 12 || !(x >= 10)) {
//какие-то действия
} else {
//действия, если условие ложно
}
//аналог elif
if (x == 1) {
} else if (x == 2) {
} else if (x == 3) {
} else {
}
//если внутри блока if или else находится ровно один оператор,
//фигурные скобки можно (и лучше так и делать) не писать.
if (x == 1)
System.out.println("X = 1");
else {//здесь скобки нужны, потому что два действия
System.out.println("X != 1");
System.out.println("X != 1");
}
//чтобы вызвать функцию (определение см. ниже), можно просто написать ее имя
System.out.println("f(10) = " + f(10));
//void функцию (у которой нет результата) можно вызвать только в качестве отдельного действия
g();
}
// определяем функцию внутри класса, на том же уровне вложенности, что и main
// пишем сначала слова public static
// потом тип результата
// потом имя
// потом аргументы с типами в скобках
private static int f(int x) {
//как и в python, значение возвращает оператор return
return 2 * x + 1;
//return для какого-то int-значения должен быть обязательно. Иначе вы получите
//ошибку времени компиляции "missing return statement"
}
//возвращаемый тип void означает, что результата возвращено не будет
private static void g() {
System.out.println("Вызов g");
//здесь return не обязателен, потому что это void-функция
}
}