Public static void main
CTRL + ALT + L – formatirane na code
CTRL + Q – documentation intellij
CTRL + ALT + V – za da promenish nasqkude imeto na funkciqta
kudeto se namira
tova e void methoda I vsichko zapochva ot
nego. Koren na programata.
CTRL + ALT + N
String name = scanner.nextLine();
int age = scanner.nextInt();
double grade = scanner.nextDouble();
System.out.printf("Name: %s, Age: %d, Grade: %.2f",name,age,grade);
CTRL + ALT + N (na vsqka edna promenliva pravi
tova >>>)
System.out.printf("Name: %s, Age: %d, Grade: %.2f", scanner.nextLine(),
scanner.nextInt(), scanner.nextDouble());
I pravi zadachata mnogo po kratka
PARSEINT E RAZLICHNO OT NEXTINT
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Int num = Integer.parseInt(scanner.nextLine);
// 1
// 2
// 3
Dannite pri num se vuvejdat na drug red
zashtoto imame nextLine
Int num = scanner.nextInt();
// 1 2 3 4
Tuk moje I na edin red zashtoto imame nextInt
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
DO – WHILE LOOP
int i = 1;
do {
System.out.println(i);
i++;
} while (i <= 10);
do pravi neshto dokuto ne se izpulni while loop
Ako texta ni e String i string e chislo kak da vzemem
konkretna cifra ot string primer:
String num = scanner.nextLine(); // 123
for (int i = 0; i < num.length(); i++) {
int digit = Character.getNumericValue(num.charAt(i)); // 1
System.out.println(digit); // 1
}
int digit = Character.getNumericValue(num.charAt(i));
tozi metod ni pozvolqva tova !!!
DATA TYPES AND
STRUCTURES
1 bite has 8 bits
A data type has:
Name, Size, value
int can have max 4,294,967,296 stoinosti
toest 2 na 32 stepen.
32 bits
Size of int = 4 bytes (32 bits).
SPAN
Deklarirai promenlivite (int,double,…) vuzmojno nai
blizo do mqstoto im na izpolzvane za po kachestven
kod ne gi izrejdai v nachaloto !!! samo tam kudeto
shte se polzva
Variables
byte = 8 bit (size) -128 min 127 max
short = 16 bit (size) -32768 min 32767 max
int = 32 bit (size) -2147483648 min 2147483647 max
long = 64 bit (size) big… values
hubavo e da se izpolzvat tochno takiva promenlivi kolkoto se
iziskvat zada pestim pamet.
Ako preskochim maximalnite stoinosti na variables shte
otidem pri otricatelnite stoinosti :D
BigDecimal = smqta s kolko ram pamet ima PC-to
I smqta s pulna tochnost a ne kato float chislata
BigInteger = smqta proizvolno celi chisla
EXPLICITNO CASTVANE
int a = 5;
double b = 3.50;
a += b; // a = (int) a + b; aka a = 5 + 3; zashtoto castvame
!!!
System.out.println(a); // a == 8;
STRING FORMAT !!!
String firstName = "Kriss";
String lastName = "Shumi";
String fullName = String.format(
"%s %s", firstName, lastName);
System.out.printf("Your full name is %s",fullName);
Kogato polzvame String format vmesto souf
Mojem da zadadem stoinost na string format pod nqkakuv string
!!!!!
MOJEM DA RAZDELIM CHISLATA ZA CHETIMOST
int i = 1_000_000_000
e sushtoto kato int i = 1000000000 prosto izpolzvame _ za razdelitel I
pak si raboti !!!
\ za print na realniq znak
Izpolzvame \ primerno: sout(“\””)
Za da izprintirame samiq znak tui kato java ne dava specifichni simvoli
primerno: sout (“\\”)
Ako iskame da printirame \ ispisvame dve cherti zada printira znaka
inache shte dade greshka
Zamestitel na izrejdane na promenlivi
int total = 0, capacity = 250, min = 0, max = 600;
// E SAME KATO TOVA NO PO KRATKO
int total = 0;
int capacity = 250;
int min = 0;
int max = 600;
Arrays / Masivi
Masivite zadelqt pamet, stoinosti koito purvonachalno sa 0 ako sa
chisla a ako e string e null – koeto oznachava nqma stoinost
Masivite zapochvat da se broqt ot 0, primerno ako imame 7 indexa
Zapochva da broi ot: 0,1,2,3,4,5,6
String[] days = new String[] {};
int[] numbers = new int[] {}; e sushtoto kato int[] number = {};
shtom programata vrushta poveche ot 1 element (stoinost) znachi e
masiv
SPLIT FUNCTION
String values = scanner.nextLine(); // 10 20 30 40 50 -100
String[] items = values.split(" "); // razdelq spaceovete
Moje da splitvame razlichni znaci osven space moje I po poveche
Primerno + , - …… etc + regular expressions
String.join function
String[] hercules = new String[] {"one", "two"};
String newString = String.join(" + ", hercules);
System.out.println(newString); // one + two
Zadava me mu:
String.join(“po kakvo da suberem”, I kolekciqta v sluchaq hercules);
String.join(" + ", hercules);
String join e tochno kato split samoche obratnata
versiq vmesto da gi razdelq po znak gi subira po
daden znak
Foreach loop
foreach loop e nov cikul I se pishe taka
foreach cikula obhojda celiq masiv (vsichkite mu
stoinosti)
int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {
System.out.print(num + "hello");
}
pravim si masiv v sluchaq int I zapochvame
for (promenliva v sluchaq int (moje da e
double,string…) I stava for (int num : (ot) numbers)
dvete tochki sa : vse edno ot neshto si
I stava sout num + “hello” shte printirash index +
hello I printira
1hello
2hello
3hello
4hello
5hello
Process finished with exit code 0
num : (vzima vseki index ot masiva I printira
hello)!!
Arrays how to split by more elements
String[] field = scanner.nextLine().split("\\|"); // 10|10|10|10|10
int[] fieldPoints = new int[field.length];
for (int i = 0; i < field.length; i++) {
fieldPoints[i] = Integer.parseInt(field[i]);
}
String[] commands = scanner.nextLine(). split("[\\ @]"); // Shoot Left@0@2
Result: Shoot Left 0 2