Java
примитивы
- byte
- short
- int
- long
- char
- boolean
- float
- double
объекты (ссылочные)
- String, Integer ...
- пользовательские
- + - * / %
- == != > < >= <=
- --a a-- ++a a++
- && ||
- x < y ? resultForTrue : resultForFalse
if(){
some code;
} else if(){
some code;
} else{
some code;
}
switch(city){
case "City-1":
some code;
break;
case "City-2":
some code;
break;
default:
some code;
}
while(){
some code;
}
do{
some code;
} while(){
some code;
}
for(int i = 0; i < list.size(); i++){
some code;
}
for(String item : listName){
some code;
}
- public - доступен всем (любому классу в любом пакете)
- protected - доступен классам-наследникам в любом пакете
- default - доступен любому классу, но только в этом пакете
- private - доступен только в этом классе
- static (ключевое слово) - доступен без создания объекта, т.к. принадлежит классу. Используется, например, для подсчета созданных объектов.
-
final (ключевое слово) - константа (неизменяемый).
Инициализируется во время объявления. Используется в
связке с ключевым словом static.
public static final MONTH_COUNT = 12;
сигнатура метода
[модификатор доступа] [возвращаемое значение]
[имя
метода]([тип аргумента] [значение аргумента]){
some code;
}
public void printName(String name){
System.out.println("User " + name);
}
@Overload - перегрузка метода
private int sum(int a, int b){
return a + b;
}
@Overload
private double sum(double a, double b){
return a + b;
}
@Overwrite - переопределение метода. Часто
используется при наследовании, когда класс-потомок
изменяет поведение класса-родителя
public void printFavoriteFood(){
System.out.println("Я класс-родитель, люблю
салат.");
}
@Overwrite
public void printFavoriteFood(){
System.out.println("Я кот, люблю
молоко.");
}
@Overwrite
public мщшв printFavoriteFood(){
System.out.println("Я пес, люблю кашу.");
}
сигнатура конструктора
[модификатор доступа]
[имя класса]([тип аргумента]
[значение аргумента]){
some code;
}
public Parent(String lastName){
this.lastName = lastName;
}
Конструктор используется для создания объекта и
определения его первичного состояния. Конструктор
переопределяется по правилам переопределения методов.
Конструкторы не наследуются автоматически, необходимо явно указывать
public Child(String lastName, int age){
super(name);
this.age = age;
}
Методы
- add(BigInteger value) - сумма
- subtract(BigInteger value) - разность
- multiply(BigInteger value) - произведение
- divide(BigInteger value) - частное
- mod(BigInteger value) - остаток от деления
- compareTo(BigInteger value) - сравнение. Возвращает -1, если текущий объект меньше числа other, 1 - если текущий объект больше, 0 - если числа равны, if(value1.compareTo(value2) == 0)
Округление
- setScale(1) - количество цифр после запятой
- setScale(2, BigDecimal.ROUND_DOWN) - отбрасывание
- setScale(2, BigDecimal.ROUND_CEILING) - в большую сторону
- setScale(2, BigDecimal.ROUND_FLOOR) - в меньшую сторону