Press "Enter" to skip to content

Java dasturlash tili 1 dars

Новые Предметы

osmon

osmon tili bu o’zbek dasturchilar tomonidan yaratilgan birinchi to’liq dasturlash tilidir. Bu tilning yaralishidan maqsad, dasturchilikga endi kirib kelayotgan, ammo til yoki boshqa turdagi muammolar sababli o’rganolmayotganlar uchun yechimdir.

Bu dasturlash tili no’ldan qurilgan va o’zbek auditoriyasi uchun to’laqonlikcha moslashtirilgandir. Dasturlash tili hozirgi eng xavfsiz va tez dasturlash tili hisoblanmish, Rust daturlash tili yordamida yozilgan. Til esa dasturni ishga tushurish uchun o’zinig shaxsiy “bulut” nomli virtual mashinasini ishlatadi.

Dasturlash tili asosan uwussimo tomonidan yaratilgan va shu dasturchi kuzatuvi ostida shakllantirilib boriladi. Agar sizda quyidagi proyekt bo’yicha savol yoki muammolaringiz bo’lsa, iltimos, osmon dasturlash tili jamiyati chatiga murojaat qiling!

texnologiya kelajagi
bizning qo’limizda
va u shu yerdan boshlanadi!

Birinchi alfa nashr chiqarildi.

Birinchi beta nashr va cargo reliz.

Xatoliklar to’g’irlangan va stabil holatga keltirilgan.

Ishga tushuruvchi haqida ma’lumotlar qo’shildi.

ARM64 va ko’plab sintaktik o’zgarishlar.

Java dasturlash tili 1 dars

Salom shu yerda Web dasturlashdan habari bo’lganlar o’zbekchada Web dasturlash haqida gaplashsak bo’ladimikan?
Imkonim boricha oddiy bolsa ham bilgan narsalarimni o’rtaga tashlayman. Albatta yaxshi bilganlar, xatolarni tuzatishga harakat qilishar.

Меню пользователя Bahrom
Посмотреть профиль
Найти ещё сообщения от Bahrom

програмщег
Сообщений: 4,971
+ 2,743 5,086/2,116
Сообщение от Bahrom

Salom shu yerda Web dasturlashdan habari bo’lganlar o’zbekchada Web dasturlash haqida gaplashsak bo’ladimikan?
Imkonim boricha oddiy bolsa ham bilgan narsalarimni o’rtaga tashlayman. Albatta yaxshi bilganlar, xatolarni tuzatishga harakat qilishar.

Пажалуста ПХПни билмадим-у лекин веб программированиенинг ажралмас қисми: яваскриптдан у-бу нарса биламан. Саволлар бўлса бераверинг.

__________________
Ошибки прошлого, мудрость будущего. (с)Д.Тернер.

Меню пользователя OmoN
Посмотреть профиль
Найти ещё сообщения от OmoN

g’irt bekorchi
oddiy bekorchida
Сообщений: 20

Wowza media server bilan Red5 media serverni farqini biladiganlar bormi? qaysi biri ishlatilgani maqul?

Меню пользователя Botirali Jalolov
Посмотреть профиль
Найти ещё сообщения от Botirali Jalolov

g’irt bekorchi
oddiy bekorchida
Сообщений: 20

Red5 da video bilan ovoz sifati yaxshi bo’lmayapdi. Wowzada esa 100 tadan ko’p bog’lanish bo’lsa sekin ishlab qolayapdi. shu bo’yicha ma’lumot beringlar. Oldindan raxmat.

Меню пользователя Botirali Jalolov
Посмотреть профиль
Найти ещё сообщения от Botirali Jalolov

Сообщений: 78
__________________
WWW.DASTURCHI.ZN tas-ix

Меню пользователя Loock
Посмотреть профиль
Найти ещё сообщения от Loock

Сообщений: 881
+ 1,270 830/414

Bir savolim bor edi: HTMLda matnlarni qisman ko’rsatib “Davomini o’qish” buyrug’i qaysi teg yordamida amalga oshiriladi?( tegi ishlatiladi deb ko’p eshitdim ammo ishlata olmadim, yoki xato qildimmi) Iloji bo’lsa tushunarli bo’lish uchun biror misol bilan ko’rsatib o’ting.

__________________
Qololmas jahon ichra mangu kishi,Faqat qolg’usi yaxshi nomi, ishi.(Sa’diy)

Меню пользователя albatros
Посмотреть профиль
Найти ещё сообщения от albatros

програмщег
Сообщений: 4,971
+ 2,743 5,086/2,116
Сообщение от albatros

Bir savolim bor edi: HTMLda matnlarni qisman ko’rsatib “Davomini o’qish” buyrug’i qaysi teg yordamida amalga oshiriladi?( tegi ishlatiladi deb ko’p eshitdim ammo ishlata olmadim, yoki xato qildimmi) Iloji bo’lsa tushunarli bo’lish uchun biror misol bilan ko’rsatib o’ting.

Одатда бу нарса хтмлда қилинмайди. Яна билмадим. Бу фақат шахсий фикрим холос.
1) Агар БДдан матннинг саҳифада кўринадиган қисмини алоҳида, “Давомини ўқиш”ни босганда чиқадиган қисмини алоҳида олмоқчи бўлсангиз:

select id , substr ( message_field , 1 , 200 ), message_field from message_table ;

2) Агар БДдан бутунлигича олинган текстни javascript ёрдамида саҳифада кўринадиган қисмини “қирқиб” олмоқчи бўлсангиз:

$( “#messageDiv” ). html ( yourText . substring ( 0 , 199 ));

ПХПда қандай қилинишини билмайман. Балки пхпдаям биронта оператор бордир. тэги ҳақида эшитмаган эканман. Мен одатда биринчи усулдан фойдаланаман.

Майнкрафт 1.20 Java Edition Скачать

1.20 – предстоящее обновление для Minecraft:Java Edition, релиз которого запланирован на 2023 год. Изначально об обновлении заявили 15 октября 2022 года. В этом крупном обновлении в игру будет добавлено несколько блоков, связанных с бамбуков, а ещё некоторые предметы и мобы. На данный момент известна лишь небольшая часть нововведений.

Дата релиза Майнкрафт 1.20: Начало 2023 года.

Новые Блоки

Резная книжная полка

Новый вид книжной полки, в которой можно хранить как обычные книги, так и зачарованные. Интерфейса у данного блока нет, вы можете брать или класть книги в этот блок без него, используя ПКМ. Резная книжная полка способна хранить до шести книг.

Бамбуковые доски

Используется как строительный блок, а также для создания забора, плит, дверей, нажимных плит и других блоков. Создается из бамбука. Ещё используется для создания нового блока – бамбуковой мозаики.

Бамбуковая мозаика

Строительный блок, который может быть использован при строительстве, а также для создания лестниц и плит.

Подвесной знак

На этом блоке вы можете оставлять надписи, его можно использовать, например, в качестве обозначения улиц. Создается подвесной знак из бревен и цепей. Внешний вид подвесного знака зависит от использованных бревен в крафте.

Древнее растение

Новое растение, которое можно получить путём высадки древних семян.

Нюхательное яйцо

Достаточно ценный блок, который можно отыскать в сундуках океанских руин. Из этого яйца вылупляется новое существо – нюхатель.

Новые Предметы

Древние семена

Получить его самому нельзя, лишь при помощи нюхателя. Это существо выкапывает землю, и иногда можно получить древние семена при этом процессе. Посадив на землю такое семя, можно получить новое растение.

Новые Мобы

Нюхатель

Данный моб стал победителем голосования Minecraft Live 2022, поэтому будет добавлен в игру. Вылупляется из нюхательных яиц. Будет копать землю, тем самым, он ищет древние семена, чтобы позже посадить их и вырастить новые виды растений.

Нюхатель ещё не добавлен в снапшот и не доступен игрокам, но ожидаем в следующих снапшотах!

Верблюд

Новое существо, которое вы можете оседлать, чтобы путешествовать по миру. Скрестив с кактусом, можно получить верблюжонка. Способен идти быстрее других сущностей по рекам и оврагам. В отличие от лошади, верблюд может нести до двух игроков. Если вы находитесь сверху верблюда, зомби не сможет вас достать, тем самым, вы будете для него неуязвимым. Приручать верблюдов не нужно, вы можете сразу сесть на него и одеть седло. Верблюды способны проходить через забор, даже не прыгая.

Ссылки на скачивание

Версия Не вышла! Доступны снапшоты!

Как установить 1.20:

1) Откройте TLauncher и нажмите на иконку “Шестеренки” в нижнем правом углу.

2) Перейдите в “Настройки”, найдите пункт “Отображать Снапшоты”.

3) Поставьте возле этой надписи галочку и нажмите “Сохранить”.

4) Из списка версий установите последний снапшот!

5) При создании мира, перейдите в “Наборы данных”.

6) Включите все доступные наборы данных и нажмите “Готово”.

Java: Test Java1

5. You are trying to use the form at specifiers to display the output:

“100*55.0=5500.000”, “100*55.0=5500.000000”,”100*55.0=5.50e+3” and “100*55.0=0”

Which of the following codes will help you achieve this

a. double result = 100*55.0;

System.out.printf(“100 * 55.0 = %1.3f %n”, result);

System.out.printf(“100 * 55.0 = %5f %n”, result);

System.out.printf(“100 * 55.0 = %1.5f %n”, result);

System.out.printf(“100 * 55.0 = %d %n”, q);

b. double result = 100*55.0;

System.out.printf(“100 * 55.0 = %1.3f %n”, result);

System.out.printf(“100 * 55.0 = %5f %n”, result);

System.out.printf(“100 * 55.0 = %1.2e %n”, result); đ úng

System.out.printf(“100 * 55.0 = %d %n”, q);

c. double result = 100*55.0;

System.out.printf(“100 * 55.0 = %09.3f %n”, result);

System.out.printf(“100 * 55.0 = %5f %n”, result);

System.out.printf(“100 * 55.0 = %f %n”, result);

System.out.printf(“100 * 55.0 = %d %n”, q);

d. double result = 100*55.0;

System.out.printf(“100 * 55.0 = %3f %n”, result);

System.out.printf(“100 * 55.0 = %5f %n”, result);

System.out.printf(“100 * 55.0 = %1.2e %n”, result);

System.out.printf(“100 * 55.0 = %d %n”, q);

  1. True
  2. False đ úng
  1. True đ úng
  2. False

8. You are using various operators to solve an expression. Which of the following statements will display the output as “true”

a. int a=5, b=4, c=3, d=2, e=1;

b. int a=5, b=4, c=3, d=2, e=1;

System.out.println((a+b/5.0+c*d+1*e>(a/b)&&(b>d)); đ úng

c. int a=5, b=4, c=3, d=2, e=1;

d. int a=5, b=4, c=3, d=2, e=1;

9. you want the output to be displayed as “Value of floatTest after conversion: 1.0”, “Value of dblTest after conversion: 1.0” and “Value of sum after conversion: 2”. Can you arrange the steps in sequences to achieve the same

int sum = (int)(floatTest+dblTest);

b. System.out.println(“Sum = “+sum);

c. boolean boolTest = true;

float floatTest = 3.14f;

d. System.out.println(“floatTest = “+floatTest);

dblTest = (double)(boolTest ? 1:0);

e. double dblTest = 0.0000000053;

floatTest = (float)(boolTest? 1:0);

Decision-making and Iterations

1. You are trying to use the if statement to display the value “100 Not Equal”. Which of the follow code will help you achieve this.

a. int value = 100;

boolean bool = true;

System.out.println(value+” Not Equal”);

b. int value = 100;

boolean bool = false;

System.out.println(value+” Not Equal”);

c. int value = 100;

boolean bool = true;

System.out.println(value+” Not Equal”);

d. int value = 100;

boolean bool = true;

System.out.println(value+” Not Equal”);

2. You are using switch – case statement to display the output “value is ten” and “value is twenty”. Which of the following code will help you achieve this

a. int value = 10;

System.out.println(“value is ten”):

System.out.println(“value is twenty”);

b. int value = 10;

System.out.println(“value is ten”):

System.out.println(“value is twenty”);

c. int value = 10;

System.out.println(“value is ten”):

System.out.println(“value is twenty”);

d. int value = 10;

System.out.println(“value is ten”):

System.out.println(“value is twenty”);

  1. System.out .println(i);
  2. i++;>
  3. int i=100
  4. i-=5;
  5. while (i>=85)
  1. True đung
  2. False
  1. True
  2. False đ úng
  1. True đ úng
  2. False
  1. True
  2. False đ úng

9. You want to display the output as “15105”. Can you indentify the correct code

a. for (int i=15; i>=0; i-=5)

c. for (int i=15; i>0; i-=5) đ úng

d. for (int i=15; i>=0; i-=6)

  1. while
  2. do – while đ úng
  3. for
  1. while
  2. do – while
  3. for đug
  1. while
  2. do – while
  3. for đ úng
  1. while
  2. do – while
  3. for

14. You are using a code snippet to print the value of sum as “6”. Which of the following code snippet will help you to achieve this

Introducing classes

  1. True dung
  2. False
  1. True đung
  2. False
  1. True
  2. False đ úng
  1. True
  2. False đ úng

5. Class names can be begin with a dollar symbol or an underscore character

  1. True đ úng
  2. False
  1. True
  2. False đ úng
  1. True đ úng
  2. False
  1. True đ úng
  2. False
  1. True đ úng
  2. False

11. You want to declare class Student containing an instance variable rollNo. Further you want to create two instances of this class namely objJohn and objMartin, assign value to their respective instance variable and display them. Can you arrange the steps in sequence to achieve the same

a. objJohn.rollNo = 1151;

Student objMartin = new Student();

b. public static void main(String[] arg)

Student objJohn = new Student();

c. System.out.println( objMartin.rollNo);

e. class Student

12. You are trying to define an instance method, display for a class named complex. The class contains two instance variables namely real and imaginary. The method, display should accept an object of type complex and display the values of its instance variables. Which of following code will help you achieve this

a. Void display(Complex obj)

b. Void display(Complex obj)

c. Complex display(Complex obj)

Deep Dive Into Hello World In Java

For most, “Hello World” has been the prominent choice of test phrase when beginning journey of learning a new programming language.
It’s widely used in examples and tutorials. Making a quick search in the Github reveals over 1.6M results so there’s no doubt of its widespread use. Java was the second most used language — after HTML — in the search.

Writing The Program

Software written in Java is usually compiled into Java Bytecode which are then executed in the Java Virtual Machine. Let’s write the Hello World example. First, create a file named “HelloWorld.java” and write the content below.

Hello World Example

Javac is the software used for converting source code conforming to Java Language Specification into JVM compatible bytecode. Executing the below statement generates a file named “HelloWorld.class” .

$ javac HelloWorld.java

The .class File Format

A Java class file contains the actual bytecodes for a class, constant pool,
access flags, version metadata, superclass & interface id (actual superclass and interface names are stored in the constant pool) and various attributes. To see more about what a class file contains, you can see more about the class file format at ://docs.oracle/javase/specs/jvms/se8/html/jvms-4.html

A class file is identified by its first 4 bytes, printing it shows following out:

0xCAFEBABE is the magic number that JVM uses to identify class files. Lets disassemble the class file we generated to see more.

Disassembling

When a Java Virtual Machine starts up, it first looks for a main function in the specified class.

The main class is usually defined as public static void main(String[] args) in Java Language. In JVM, that method is searched within the class file with a method name of “main” and a method descriptor of ([Ljava/lang/String;)V , which basically means a method that takes an array of String class instances as parameter and returns void.

We can disassemble a class file with the javap tool:

Decompiled output shows us that there are two methods in our class file. First one is the constructor, aka function in JVM’s notations; the other
one is the entry point of our program, our main method. Even though we haven’t added a constructor, the compiler added a basic constructor invoking the superclass’s constructor. In our case, HelloWorld class doesn’t have an explicit superclass but every class in java is ultimately derived from the Object
class so function of Object is invoked.

Since main method is a static method, the constructor of our class is not invoked during execution of our HelloWorld program.

Interpreting The Bytecodes

The bytecodes are obviously doing something that prints the “Hello World”. Lets follow them in the light of JVM Instruction Set Specs.

0: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream;

getstatic instruction pushes the value of a static field into the operand stack after initializing its class through method if not initialized already.
Next two bytes after this instruction is built into an index used for fetching the field name from the Constant Pool. In our case, the static field is the “System.out”.

3: ldc #3 // String Hello, World!

ldc is the instruction for loading an item from the constant pool and pushing it into the operand stack. In our case, the constant pool entry is a String literal, so a reference to a String “Hello, World!” is pushed into the stack.

Detailed information about the constant pool can be found at here:

5: invokevirtual #4 // Method java/io/PrintStream.println:(Ljava/lang/String;)V

invokevirtual invokes the instance method fetched from constant pool with arguments from the operand stack. The println method we called, takes 1 argument. Since this is an instance method, we need an instance object reference which is also at the operand stack as we previously pushed with getstatic.

After popping 2 values from the operand stack, we can run the println method.

After tracing the java.io library, the println method eventually calls a function called FileOutputStream.writeBytes that is defined as a private native void. So there’s no implementation for it in java.

Java Native Interface & System Calls

JVM is isolated from the underlying system by design. So any action requiring access to the underlying system is done by native methods via JNI. In our case, we need to print stuff to the console which is done by writing into the
file descriptor 1 as stated in the POSIX and the java.io.FileDescriptor#out .

Even a simple program in java requires many native methods to be registered and linked. For example, running our Hello World example with below command shows some relevant native methods for printing the text.

We traced to the writeBytes method and found that its defined as a native void. Tracing further shows us implementation of the FileOutputStream.writeBytes can be found at JDK sources.

Native method writeBytes

User level programs usually communicate with the kernel through system calls. In our case, the system call for writing data into a file descriptor is “Write”. The writeBytes method is a wrapper for write function which is also a wrapper for the write system call.

To prove our point and path we reached, we can use strace to dump all system calls JVM and its forks does during execution.

A write system call writing into the STDOUT (fd 1 as per POSIX) can be seen. Detailed information about the write system call and it’s wrapper can be found at the man file.

Conclusion

Even though JVM instruction set has a wide range of instructions, any action requires communicating with the kernel or underlying host requires native code to be executed through the Java Native Interface.

Digging into a simple Hello World program can give us hints about how JVM works and communicates out of it’s isolated space.

Discussion is encouraged.