Please enable JavaScript.
Coggle requires JavaScript to display documents.
Java - Coggle Diagram
Java
primitive types
-
-
-
-
-
-
-
-
short vs char - short знаковый, char нет. Значит char может хранить большее положительное число чем short.
присвоить short больше число // DOES NOT COMPILE
присвоить char отрцательное // DOES NOT COMPILE
а именно
short reptile = 65535; // DOES NOT COMPILE
char fish = (short)-1; // DOES NOT COMPILE
BUUUUT
char reptile = 65535' // GOOD
short fish = (short) -1; GOOD
:fire: представление числе в разных системах счисления:
018
- octal (восьмеричная)
0xFF, 0XFF
- hex
0b001001110
- бинарная
double notAtStart = _1000.00; // DOES NOT COMPILE
double notAtEnd = 1000.00_; // DOES NOT COMPILE
double notByDecimal = 1000_.00; // DOES NOT COMPILE
double annoyingButLegal = 1_00_0.0_0; // Ugly, but compiles
double reallyUgly = 1__________2; // Also compiles
packages
-
-
-
-
-
-
-
-
проблема конфликтов. можно указать fully qualified class name
public class Conflicts {
java.util.Date date;
java.sql.Date sqlDate;
}
-
-
Operators
int pelican = !5; // DOES NOT COMPILE
boolean penguin = -true; // DOES NOT COMPILE
boolean peacock = !0; // DOES NOT COMPILE
% Modulus operator return remainder after division of numeric value by another
он же remainder operator
-
-
-
-
-
-
javac
javac -d classes packagea/ClassA.java packageb/ClassB.java
-d задает директорию, куда писать скомпиллированные файлы
java
java -cp classes packageb.ClassB
java -classpath classes packageb.ClassB
java --class-path classes packageb.ClassB
-
-
Declaring Variables
- начинаются с letter, $, _
- могут содержать числа, но не начинаться с них
- одиночный _ запрещен как идентификатор
- нельзя зарезервированные слова
-
-
Initializing Variavles
-
-
var
-
значение можно поменять после присвоения, тип НЕТ!
-
public void twoTypes() {
int a, var b = 3; // DOES NOT COMPILE
var n = null;
// DOES NOT COMPILE`
}
var a = 5, b = 3; // DOES NOT COMPILE
package var;
public class Var {
public void var() {
var var = "var";
}
public void Var() {
Var var = new Var();
}}
-
switch (val) {}
Even though the default block was before the case block, only the case block was executed. If you recall the definition of the default block, it is branched to only if there is no matching case value for the switch statement, regardless of its position within the switch statement.
-
-
-
Order of Initialization
- поля и блоки инициализации выполняются в порядке в котором они появляются в файле
- конструктор выполняется после выполнения всех полей и initializer блоков