The document discusses different types of control statements in Java programming including selection statements (if/else, switch), iteration statements (for, while, do-while), and jump statements (break, continue, return). Examples are provided for each type of statement to illustrate their usage in loops and conditional execution. Selection statements allow a program to choose different paths of execution based on variable values or expressions. Iteration statements allow code to repeat execution. Jump statements allow skipping the rest of the current block and transferring control elsewhere.
The document discusses different types of computer memory. It describes cache memory as very high speed memory between the CPU and main memory used to store frequently accessed data and programs. Primary/main memory is volatile semiconductor memory that holds currently running programs and data. RAM and ROM are types of main memory. RAM is read/write memory that stores data temporarily while power is on, while ROM is read-only memory that permanently stores basic input/output instructions. The document outlines characteristics and types of each memory including static RAM, dynamic RAM, programmable ROM, erasable programmable ROM, and electrically erasable programmable ROM.
This document provides an overview of working with legacy code. It begins by defining legacy code as code without tests. It emphasizes the importance of writing tests before modifying legacy code to avoid introducing new bugs. The document outlines a process for working with legacy code that involves identifying requirements, understanding the code, writing tests, and then modifying the code. It discusses common obstacles like not understanding the code or not having time. It provides techniques for overcoming these obstacles, such as extracting methods, exposing static methods, and using test doubles. The document stresses having an attitude of cleaning up code and leaving it in a better state.
C# is an object-oriented programming language that is part of Microsoft's .NET framework. It can be used to create web applications, Windows applications, web services, and more. Some key features of C# include being modern, object-oriented, type-safe, and providing cross-platform interoperability through the .NET runtime. It is similar to but also has differences from languages like C++ and Java.
Java Exception Handling, Assertions and LoggingRiccardo Cardin
This presentation introduces the java exception handling mechanisms. In detail, the main focus of the slides is to show how the language implements its exception handling polices, such as:
- Checked and uncheked exception
- Try / catch blocks
- Assertions
- Logging
The presentation is took from the Java course I run in the bachelor-level informatics curriculum at the University of Padova.
This document provides an overview of key concepts in the Java programming language including classes, objects, inheritance, interfaces, packages, exceptions, threads, and more. It discusses how to build standalone Java programs and applets, and covers basic syntax and structures like primitive data types, expressions, control statements, and comments. Methods, constructors, and access modifiers are also explained at a high level.
The document discusses different types of control statements in Java programming including selection statements (if/else, switch), iteration statements (for, while, do-while), and jump statements (break, continue, return). Examples are provided for each type of statement to illustrate their usage in loops and conditional execution. Selection statements allow a program to choose different paths of execution based on variable values or expressions. Iteration statements allow code to repeat execution. Jump statements allow skipping the rest of the current block and transferring control elsewhere.
The document discusses different types of computer memory. It describes cache memory as very high speed memory between the CPU and main memory used to store frequently accessed data and programs. Primary/main memory is volatile semiconductor memory that holds currently running programs and data. RAM and ROM are types of main memory. RAM is read/write memory that stores data temporarily while power is on, while ROM is read-only memory that permanently stores basic input/output instructions. The document outlines characteristics and types of each memory including static RAM, dynamic RAM, programmable ROM, erasable programmable ROM, and electrically erasable programmable ROM.
This document provides an overview of working with legacy code. It begins by defining legacy code as code without tests. It emphasizes the importance of writing tests before modifying legacy code to avoid introducing new bugs. The document outlines a process for working with legacy code that involves identifying requirements, understanding the code, writing tests, and then modifying the code. It discusses common obstacles like not understanding the code or not having time. It provides techniques for overcoming these obstacles, such as extracting methods, exposing static methods, and using test doubles. The document stresses having an attitude of cleaning up code and leaving it in a better state.
C# is an object-oriented programming language that is part of Microsoft's .NET framework. It can be used to create web applications, Windows applications, web services, and more. Some key features of C# include being modern, object-oriented, type-safe, and providing cross-platform interoperability through the .NET runtime. It is similar to but also has differences from languages like C++ and Java.
Java Exception Handling, Assertions and LoggingRiccardo Cardin
This presentation introduces the java exception handling mechanisms. In detail, the main focus of the slides is to show how the language implements its exception handling polices, such as:
- Checked and uncheked exception
- Try / catch blocks
- Assertions
- Logging
The presentation is took from the Java course I run in the bachelor-level informatics curriculum at the University of Padova.
This document provides an overview of key concepts in the Java programming language including classes, objects, inheritance, interfaces, packages, exceptions, threads, and more. It discusses how to build standalone Java programs and applets, and covers basic syntax and structures like primitive data types, expressions, control statements, and comments. Methods, constructors, and access modifiers are also explained at a high level.
The document provides an overview of object-oriented programming concepts in JavaScript, including:
- JavaScript uses prototype-based inheritance rather than classes, with functions serving as constructors.
- Objects inherit properties and methods from other objects via their prototype chain.
- Custom objects are defined with constructor functions that set properties and methods.
- Inheritance allows creating subclasses that inherit from superclasses. Methods can be overridden.
- Encapsulation involves exposing an object's data through getter/setter methods rather than direct access.
- Superclass members can be accessed in subclasses through calling the superclass constructor or methods.
- Constructor arguments are passed to subclasses by applying the superclass constructor.
The document discusses object-oriented programming concepts in Java, including classes, objects, inheritance, encapsulation, and polymorphism. It provides examples and definitions of key OOP concepts like class, object, inheritance, abstraction, encapsulation, polymorphism, and the SOLID principles (single responsibility, open/closed, Liskov substitution, interface segregation, and dependency inversion). It also covers Java specifics like access modifiers, variables, and how to create objects in Java.
In data Mercoledì 13 Giugno 2012 in aula 4, dalle 9:00 alle 10:30,il dott. Alessandro Forte della T.&C. Systems Group s.r.l. ha tenuto un seminario sull'Object-Relational Mapping.
Il dott. Forte è attualmente SW Architect per la T.&C. Systems Group s.r.l. e speaker certificato Microsoft Italia.
Si è trattato di un'importante occasione per affacciarsi a nuovi argomenti di interesse del mondo produttivo e allo stesso tempo entrare in contatto con una società attiva sul territorio. Si ringrazia il prof. Antonio Maratea per l'occasione concessa e la disponibilità dimostrata.
Object Oriented Programming In JavaScriptForziatech
This document provides an overview of object oriented programming concepts in JavaScript. It discusses how JavaScript supports OOP through prototypes, functions acting as classes, and constructor functions to initialize objects. The document also covers data types in JavaScript, error handling using try/catch blocks, and techniques to improve performance such as reducing DOM access and unnecessary variables. It provides examples of implementing inheritance, abstraction, polymorphism, and other OOP principles in JavaScript.
This document provides an overview of basic object-oriented programming (OOP) concepts including objects, classes, inheritance, polymorphism, encapsulation, and data abstraction. It defines objects as entities with both data (characteristics) and behavior (operations). Classes are blueprints that are used to create objects. Inheritance allows objects to inherit properties from parent classes. Polymorphism allows code to take different forms. Encapsulation wraps data and functions into classes, hiding information. Data abstraction focuses on important descriptions without details.
This document discusses exception handling in Java. It covers the key concepts of exceptions and errors, stack traces, checked and unchecked exceptions, try-catch-finally blocks, try with resources, multiple exceptions in a single catch, and advantages of exception handling like maintaining normal program flow. It also discusses custom exceptions by subclassing the Exception class.
Std 12 computer chapter 6 object oriented concepts (part 1) by Nuzhat Memon
Introduction to class and object
Procedural (Structural) programming language
Object Oriented programming language
Two ways of programming language (POP and OOP)
four specific object properties
4 pillars of OOPs
Encapsulation in Java
Abstraction in Java
Messaging in Java
Polymorphism in Java
The document provides instructions for a tutorial on how to write your own JavaServer Faces (JSF) components. The tutorial is broken into 7 steps, with each step building on the previous one. In step 1, the reader creates a basic component that renders a <div> tag with some text inside. This establishes the foundation for the component. Step 2 will add attributes to the component to make the rendered output more visually appealing.
What Is Java | Java Tutorial | Java Programming | Learn Java | EdurekaEdureka!
This Edureka "What Is Java" tutorial will help you in understanding the various fundamentals of Java in detail with examples. Below are the topics covered in this tutorial:
1) What is Java?
2) Where is Java used?
3) Features of Java
4) Java Environment
5) How does Java work?
6) Data Types in Java
7) Operators in Java
8) Functions in Java
9) Object Oriented Concepts in Java
The document provides an overview of object-oriented programming concepts, the SOLID principles of object-oriented design, design patterns including creational, structural and behavioral patterns from the Gang of Four, and additional patterns like MVC, active record and dependency injection. It also includes topics, concepts and principles covered for each area along with PHP examples and references the presenter's social media profiles.
The document discusses an agenda covering the .NET platform and Visual Studio. It will cover the .NET framework, an introduction to C#, object-oriented programming in C#, assemblies and modules, and sample applications. It then discusses the .NET platform, Visual Studio IDE, execution in .NET, and code conversion to C#. Key aspects of C# like components, data types, arrays, and assemblies are defined.
OOP concepts include classes, objects, methods, encapsulation, inheritance, and polymorphism. A class acts as a blueprint that defines properties and behaviors of an object. Objects are instantiated from classes and can have different property values. Methods define object behaviors. Encapsulation bundles data and methods into a class and hides implementation details. Inheritance allows subclasses to inherit properties and behaviors from parent classes. Polymorphism enables the same method to process different types of objects.
This extensive course covers all the topics which will definitely make you a Java Superstar. You can do almost anything in Java after this course. You will surely be a better programmer and better still a Elegant programmer after this course.
Abstract: This PDSG workshop covers the basics of OOP programming in Python. Concepts covered are class, object, scope, method overloading and inheritance.
Level: Fundamental
Requirements: One should have some knowledge of programming.
O documento resume os principais tópicos sobre a linguagem C#. Ele discute 1) a história e características de C#, 2) os tipos de dados suportados como inteiros, strings e arrays, e 3) conceitos de programação orientada a objetos como classes, herança e polimorfismo.
This document provides an overview of programming with C# and .NET. It discusses key concepts like the .NET Framework, Common Language Runtime (CLR), C# language features, assemblies, namespaces, properties, delegates and events, inheritance, interfaces, structures, pointers, boxing and unboxing, ref and out parameters, and .NET Remoting. It includes examples to demonstrate many of these programming concepts.
this slide contains about basic introduction of java.it will be helpful for a java beginner. it also useful for java lecture course in your versity.programming with java is very essential for every student.this silde may help you to progress your skill & lernt abc about java.
The document provides an overview of object-oriented programming concepts in JavaScript, including:
- JavaScript uses prototype-based inheritance rather than classes, with functions serving as constructors.
- Objects inherit properties and methods from other objects via their prototype chain.
- Custom objects are defined with constructor functions that set properties and methods.
- Inheritance allows creating subclasses that inherit from superclasses. Methods can be overridden.
- Encapsulation involves exposing an object's data through getter/setter methods rather than direct access.
- Superclass members can be accessed in subclasses through calling the superclass constructor or methods.
- Constructor arguments are passed to subclasses by applying the superclass constructor.
The document discusses object-oriented programming concepts in Java, including classes, objects, inheritance, encapsulation, and polymorphism. It provides examples and definitions of key OOP concepts like class, object, inheritance, abstraction, encapsulation, polymorphism, and the SOLID principles (single responsibility, open/closed, Liskov substitution, interface segregation, and dependency inversion). It also covers Java specifics like access modifiers, variables, and how to create objects in Java.
In data Mercoledì 13 Giugno 2012 in aula 4, dalle 9:00 alle 10:30,il dott. Alessandro Forte della T.&C. Systems Group s.r.l. ha tenuto un seminario sull'Object-Relational Mapping.
Il dott. Forte è attualmente SW Architect per la T.&C. Systems Group s.r.l. e speaker certificato Microsoft Italia.
Si è trattato di un'importante occasione per affacciarsi a nuovi argomenti di interesse del mondo produttivo e allo stesso tempo entrare in contatto con una società attiva sul territorio. Si ringrazia il prof. Antonio Maratea per l'occasione concessa e la disponibilità dimostrata.
Object Oriented Programming In JavaScriptForziatech
This document provides an overview of object oriented programming concepts in JavaScript. It discusses how JavaScript supports OOP through prototypes, functions acting as classes, and constructor functions to initialize objects. The document also covers data types in JavaScript, error handling using try/catch blocks, and techniques to improve performance such as reducing DOM access and unnecessary variables. It provides examples of implementing inheritance, abstraction, polymorphism, and other OOP principles in JavaScript.
This document provides an overview of basic object-oriented programming (OOP) concepts including objects, classes, inheritance, polymorphism, encapsulation, and data abstraction. It defines objects as entities with both data (characteristics) and behavior (operations). Classes are blueprints that are used to create objects. Inheritance allows objects to inherit properties from parent classes. Polymorphism allows code to take different forms. Encapsulation wraps data and functions into classes, hiding information. Data abstraction focuses on important descriptions without details.
This document discusses exception handling in Java. It covers the key concepts of exceptions and errors, stack traces, checked and unchecked exceptions, try-catch-finally blocks, try with resources, multiple exceptions in a single catch, and advantages of exception handling like maintaining normal program flow. It also discusses custom exceptions by subclassing the Exception class.
Std 12 computer chapter 6 object oriented concepts (part 1) by Nuzhat Memon
Introduction to class and object
Procedural (Structural) programming language
Object Oriented programming language
Two ways of programming language (POP and OOP)
four specific object properties
4 pillars of OOPs
Encapsulation in Java
Abstraction in Java
Messaging in Java
Polymorphism in Java
The document provides instructions for a tutorial on how to write your own JavaServer Faces (JSF) components. The tutorial is broken into 7 steps, with each step building on the previous one. In step 1, the reader creates a basic component that renders a <div> tag with some text inside. This establishes the foundation for the component. Step 2 will add attributes to the component to make the rendered output more visually appealing.
What Is Java | Java Tutorial | Java Programming | Learn Java | EdurekaEdureka!
This Edureka "What Is Java" tutorial will help you in understanding the various fundamentals of Java in detail with examples. Below are the topics covered in this tutorial:
1) What is Java?
2) Where is Java used?
3) Features of Java
4) Java Environment
5) How does Java work?
6) Data Types in Java
7) Operators in Java
8) Functions in Java
9) Object Oriented Concepts in Java
The document provides an overview of object-oriented programming concepts, the SOLID principles of object-oriented design, design patterns including creational, structural and behavioral patterns from the Gang of Four, and additional patterns like MVC, active record and dependency injection. It also includes topics, concepts and principles covered for each area along with PHP examples and references the presenter's social media profiles.
The document discusses an agenda covering the .NET platform and Visual Studio. It will cover the .NET framework, an introduction to C#, object-oriented programming in C#, assemblies and modules, and sample applications. It then discusses the .NET platform, Visual Studio IDE, execution in .NET, and code conversion to C#. Key aspects of C# like components, data types, arrays, and assemblies are defined.
OOP concepts include classes, objects, methods, encapsulation, inheritance, and polymorphism. A class acts as a blueprint that defines properties and behaviors of an object. Objects are instantiated from classes and can have different property values. Methods define object behaviors. Encapsulation bundles data and methods into a class and hides implementation details. Inheritance allows subclasses to inherit properties and behaviors from parent classes. Polymorphism enables the same method to process different types of objects.
This extensive course covers all the topics which will definitely make you a Java Superstar. You can do almost anything in Java after this course. You will surely be a better programmer and better still a Elegant programmer after this course.
Abstract: This PDSG workshop covers the basics of OOP programming in Python. Concepts covered are class, object, scope, method overloading and inheritance.
Level: Fundamental
Requirements: One should have some knowledge of programming.
O documento resume os principais tópicos sobre a linguagem C#. Ele discute 1) a história e características de C#, 2) os tipos de dados suportados como inteiros, strings e arrays, e 3) conceitos de programação orientada a objetos como classes, herança e polimorfismo.
This document provides an overview of programming with C# and .NET. It discusses key concepts like the .NET Framework, Common Language Runtime (CLR), C# language features, assemblies, namespaces, properties, delegates and events, inheritance, interfaces, structures, pointers, boxing and unboxing, ref and out parameters, and .NET Remoting. It includes examples to demonstrate many of these programming concepts.
this slide contains about basic introduction of java.it will be helpful for a java beginner. it also useful for java lecture course in your versity.programming with java is very essential for every student.this silde may help you to progress your skill & lernt abc about java.
Курс по програмиране за напреднали (2012) - 1. Обектно-ориентирано програмира...DAVID Academy
Занятие №1 на курса по програмиране за напреднали (2012) провеждан от ДАВИД академия в гр.Казанлък. Включва темите:
- Въведение в .NET Framework и езика C#
- Обектно-ориентирано програмиране
- Класове и обекти. Полета и методи
- Наследяване и композиция
- Абстрактни класове и интерфейси
- Видимост и конструктори
- Някои ключови думи
- Полиморфизъм
- Полезни връзки и литература
Курс по уеб програмиране (2015), занятие №1 - HTMLDAVID Academy
Kурс по уеб програмиране (2015)
Занятие №1: HTML
--
Въведение в HTML
Елементи и тагове
Мета съдържание
Структуриране на текст
Хипервръзки
Изображения
Таблици
Списъци
Форматиране на таблици
Форми
Въведение в HTML 5
Структуриране на страница
Форми и валидиране
Аудио и видео
Programming for .NET Framework
Freeware book, volume 2
Програмиране за .NET Framework
Съдържание
Том 1
Предговор...............................................................................33
Глава 1. Архитектура на платформата .NET и .NET Framework .......69
Глава 2. Въведение в C#.........................................................107
Глава 3. Обектно-ориентирано програмиране в .NET...................143
Глава 4. Управление на изключенията в .NET ...........................223
Глава 5. Обща система от типове (Common Type System)............249
Глава 6. Делегати и събития....................................................285
Глава 7. Атрибути..................................................................309
Глава 8. Масиви и колекции ...................................................325
Глава 9. Символни низове (Strings) ..........................................363
Глава 10. Регулярни изрази ....................................................421
Глава 11. Вход и изход ...........................................................499
Глава 12. Работа с XML ..........................................................529
Глава 13. Релационни бази от данни и MS SQL Server.................601
Глава 14. Достъп до данни с ADO.NET ......................................667
Том 2
Предговор към втория том........................................................33
Глава 15. Изграждане на графичен потребителски интерфейс с Windows Forms .......................................................................55
Глава 16. Изграждане на уеб приложения с ASP.NET .................173
Глава 17. Многонишково програмиране и синхронизация ............283
Глава 18. Мрежово и Интернет програмиране ...........................349
Глава 19. Отражение на типовете (Reflection) ...........................431
Глава 20. Сериализация на данни ............................................459
Глава 21. Уеб услуги с ASP.NET ..............................................501
Глава 22. Отдалечени извиквания с .NET Remoting ....................587
Глава 23. Взаимодействие с неуправляван код .........................631
Глава 24. Управление на паметта и ресурсите ..........................675
Глава 25. Асемблита и разпространение ..................................747
Глава 26. Сигурност в .NET Framework .....................................815
Глава 27. Mono – свободна имплементация на .NET Framework ....863
Глава 28. Помощни инструменти за .NET разработчици ..............909
Глава 29. Практически проект ................................................971
Заключение към втория том ..................................................1031
Първи стъпки в програмирането: всичко, което трябва да знаеш, за да стартираш към професията "софтуерен инженер"
Четирите умения на програмиста:
- Писане на код (coding skills) – 20%
- Алгоритмично мислене – 30%
- Фундаментални знания за професията – 25%
- Езици за програмиране и софтуерни технологии – 25%
Езици за програмиране и софтуерни технологии
- C# / .NET
- Java
- JavaScript
- Pyhton
- PHP
Пътят към програмирането през системата на СофтУни: https://softuni.bg/curriculum
Как да стана програмист?
https://softuni.bg/university/developersguide
“Програмиране за всички” ще даде възможност на младежи да се запознаят и упражнят на програмните езици C#, Java и Python, операционните програми IOS и Android, Single Page проложения, софтуерен продукт за управление на проекти Project Management, както и ще ги въведе в Роботиката.
The document provides an overview of key concepts from the Project Management Professional certification study guide. It discusses recurring themes in project management like collecting historical records, involving stakeholders, and clearly defining requirements. It also summarizes several chapters which describe what constitutes a project and program, the project life cycle and phases, roles of stakeholders, and the importance of planning processes like developing a scope, schedule, budget, and risk management plan. The document emphasizes that project success relies on active management of interrelated processes across the project life cycle.
The document outlines the key phases and elements of a project including initiation, planning, execution, monitoring and control, and closing. It discusses defining goals and evaluating alternatives in the initiation phase. Planning involves gathering information, evaluating resources, and team building. Execution consists of operational control and making corrections. Monitoring and control analyzes results. Closing includes reporting, celebrating, and expressing gratitude.
The document discusses the Lean Startup methodology, which aims to shorten product development cycles through validated learning and iterative releases. It describes the methodology, debunks common myths, and outlines its five principles: entrepreneurs are everywhere, entrepreneurship is management, validated learning, build-measure-learn feedback loops, and innovation accounting using metrics. The principles advocate for developing minimum viable products and pivoting based on customer feedback to accelerate learning.
РАБОТА С ОБЕКТА „ЗАЯВКА“
1. Релационни операции.
2. Характеристикина езика SQL.
3. Основни заявки на SQL.
4. Формулиране на заявки в MS Access. Практическо занятие.
РАБОТА С ОБЕКТА „ТАБЛИЦА“
1. Първичен ключ
2. Свързване на таблици в базата.Практическо занятие №1.
3. Проектиране на базата.
4. Процесът „нормализация“ на базата.
5. Анализ и нормализация на данните в СУБД Access.Практическо занятие №2.
6. Самостоятелна работа.
Предимства при използване на бази от данни
1. Основни понятия
2. Подходи за управление на данните
3. Защо да използваме база от данни
4. Основни характеристики на СУБД Access
5. Практическо занятие №1: създаване на база от данни
6. Практическо занятие №2: създаване на таблица
7. Самостоятелна работа
Android is an open source, Linux-based operating system for mobile devices. It uses Java for application development and compiles code into bytecode that runs on a virtual machine. The Android SDK provides tools for developers to create Android applications, such as required libraries, an emulator, and documentation.
2. Лекция 1.Въведение в
програмирането,въведение в Java
синтаксис
▸В този раздел ще се запознаем с основните
принципи на програмирането на ЕИМ и
граматиката (синтаксиса) на езика java.
3. Начални познания за програмирането
на съвременните компютри
▸Същността на програмирането е да се управлява
работата на компютъра и всички негови модули;
▸Управлението става с помощта на оператори
(команди) от програмиста към компютъра;
▸Програмистите са хората, които кодират командите на
определен програмен език;
▸ Всеки език е ориентиран към някое ниво на
управление на компютъра;
▸Някои езици са ориентирани към машинното ниво –
например асемблер, други са ориентирани към
системното ниво, например C. А други езици към високо
ниво, ориентирани към писането на приложни
програми. Такива са езиците Java, C++, C#, Visual Basic,
Python, Ruby, PHP и др.
4. Начални познания за програмирането
на съвременните компютри
Както ще видите в курса разработката на софтуер не е само
програмиране;
Разработването на софтуер включва много други процеси
като анализ на изискванията, проектиране, планиране,
тестване и поддръжка, в които участват не само
програмисти, но и много други специалисти;
Програмирането представлява малка, макар и много
съществена, част от разработката на софтуера;
В настоящия курс ще се спрем единствено върху
програмирането, което е единственото действие от
изброените по-горе, без което не можем да разработваме
софтуер.
5. Защо да програмираме на Java ?
▸Java e съвременен език за програмиране и
платформа за разработка и изпълнение на
софтуерни приложения;
▸На езика Java програмистите могат да кодират
кратки програми наречени аплети,които се
изпълняват само в средата на браузер (Google
Chromе, Internet Explorer, Mozilla) и др.
6. Предимства на езика Java
Java е език от високо ниво, който прилича на C# и
C++ и донякъде на езици като Delphi, VB.NET и C. ;
Java е един от най-популярните езици за
програмиране. На него пишат милиони
разработчици по цял свят ;
Най-големите световни софтуерни корпорации като
IBM, Oracle, Google и SAP базират много от своите
решения на Java платформата и използват Java като
основен език за разработка на своите продукти.
8. Нека да започнем с малко история за
езика Java
▸Езикът Java е първоначално разработен и поддържан от
Sun Microsystems, но през 2006 г. Java платформата става
проект с отворен код ;
През 2010 г. Oracle купуват Sun и в момента Java
платформата се поддържа и развива от световната Java
общност начело с Oracle;
От големите софтуерни фирми Java не се ползва
единствено от Microsoft и Apple, тъй като те разработват и
поддържат собствени платформи, подобни на Java
платформата.
9. Още някои важни неща за езика Java
▸Езикът Java се разпространява заедно с платформата
Java това е специална среда, върху която се изпълнява Java
кодът, наречена Java Runtime Environment (JRE).
▸Тази среда включва Java виртуална машина (JVM) и
пакет стандартни библиотеки, предоставящи базова
функционалност за Java разработчиците. Благодарение на
нея Java програмите са преносими и след като веднъж
бъдат написани, след това почти без промени могат да
работят на стотици хардуерни платформи и операционни
системи като Windows, Linux,Mac OS и др.
▸Именно тази среда прави езика Java независим от
използваната хардуерна платформа или операционна
система
10. Още някои важни неща за платформата
на Java
За изпълнението на програми, написани на Java, е
необходимо да имате инсталиран Java Runtime
Environment (JRE). Това е специален софтуер, част от Java
платформата, който съдържа виртуалната машина и
стандартните Java библиотеки ;
JRE е софтуер, който крайният потребител инсталира
еднократно върху компютъра си, за да може да работи с
Java;
JRE не е стандартна част от Windows и Linux и трябва да
се инсталира допълнително !
За разработката на Java приложения е необходимо да
имате инсталиран Java Development Kit (JDK). Това е пакет
инструменти, с които вие като програмисти можете да
пишете Java програми, да ги компилирате и изпълнявате.
11. Eclipse – интегрирана среда за изпълнение
на Java програми
▸В практиката се използват следните две интегрирани
срдеди за изпълнение на Java програми (IDE): Eclipse ,
▸NetBeans.
▸Eclipse (www.eclipse.org) е мощна интегрирана среда за
разработка на софтуерни приложения. Eclipse е проект с
отворен код и предлага инстру-менти за всички етапи от
софтуерния жизнен цикъл. Тук ще разгледаме най-важните
функции – тези, свързани със самото програмиране –
писането, компилирането, изпълнението и дебъгването на
програми.
12. Eclipse – интегрирана среда за
изпълнение на Java програми-
продължение
▸Структура на визуалния интерфейс на Eclipse.
▸ Основна съставна част са перспективите. Всяка перспектива
съдържа един или повече визуализатори (views). Всеки
визуализатор реализира различна функция, свързана с
улесняване на програмирането. Да разгледаме най-използва-
ната перспектива – Java перспективата. Тя съдържа:
▸- Package Explorer – тук могат да се видят всички класове,
които съставят текущия проект на програма;
▸- Problems – показва грешките при компилация;
▸- Outline – показва свойствата и поведението (методите) на
селектиран Java клас;
▸- Console – показва стандартния изход, когато стартираме
програма.
13. Eclipse – интегрирана среда за изпълнение
на Java програми-продължение
▸Освен визуализатори в средата на работното
пространство стоят редакторите на Java файлове. В
Eclipse можем да редактираме едновременно произволен
брой файлове.
Съществуват още редица визуализатори с помощно
предназначение, които няма да разглеждаме тук.
Създаване на нов Java проект
Преди да направим каквото и да било в Eclipse, трябва да
създадем проект за него. Проектът логически групира
множество файлове, предназначени да реализират
произволна програма. За всяка програма е добре да се
създава отделен проект. Проект се създава чрез следване
на следните стъпки:
▸- File -> New -> Project;
▸- Избираме "Java Project";
15. Eclipse – интегрирана среда за изпълнение
на Java програми-продължение
▸Новосъздаденият проект се показва в Package
Explorer.
16. Запомнете следните важни неща за
обучението по Java
Нека да се спрем върху основните неща при изучаването на
езика Java.
За да се научите да програмирате на Java не са необходими
начални познания;
За да се научите да програмирате на Java не е необходимо да
сте учили информационни технологии или компютърни науки,
за да четете и разбирате учебния материал в курса;
Ако учите университетска специалност, свързана с
компютърните технологии или в училище учите
информационни технологии, това само ще ви помогне, но не е
задължително !
17. Предимства на Java спрямо другите
обектно-ориентирани езици като
C,C++
C/C++ са платформено зависими
езици, което изисква отделни
компилатори;
В C/C++ се използват указатели с
адреси към обекти;
За разработване на графични
приложения в C/C++ са
необходими специални
библиотеки ;
В C/C++ сьществува множествено
наследяване което прави
програмите трудно разбираеми
▸Java е платформено
независим език;
▸В Java всичко е обект;
▸В Java не се използват
указатели с адреси;
▸В Java лесно се
вграждат графични
обект(Java Swing);
▸В Java няма
множествено
наследяване, а само
интерфейси
18. Да започнем с нашата първа
примерна програма на Java !
public class HelloJava
{
public static void main(String[] arguments) {
System.out.println("Hello, Java");
}
}
19. Основна структура на програмата на
Java
▸Програмата на Java се състои от класове (шаблони) и
обекти от тези класове, които са дефинирани в пакетите
(packages) в езика Java;
▸Пакетите се включват посредством оператора „import” в
началото на програмата на java;
▸Във всеки клас програмистът може да дефинира
функции(методи) и променливи (полета) ;
▸ полетата задават обукновено свойствата на обектите от
класа, а методите тяхното състояние;
▸В програмата на Java има една главна функция (main) от
която започва изпълнението на програмата (входна точка);
▸В програмата на Java трябва да има един „общо достъпен
„ клас (public), който има същото име както сорс файла на
Java
20. Структура на виртуалната машина на Java
Сърцето на програмната среда на Java е нейната
виртуална машина!
21. Граматика (синтаксис) на Java
▸Всеки език за програмиране подобно на говоримите
езици има граматични правила (синаксис), което важи и
за Java:
▸Java се състои от отделни инструкции (команди), които
са изградени от ключови думи (keywords) и
аритметични или логически оператори като
събиране,изваждане, умножение, деление, отри-
цание,конюнкция,дизюнкция,несъвпадение и др.;
▸Всяка команда на Java завършва с точка и запетая
(semicolon);
▸Отделните класове започват с ключовата дума class и
техните елементи са оградени с големи скоби { …..}
▸Ключовите думи заедно с аритметичните и логически
оператори образуват аритметични изрази в Java
22. Отделните синтактични единици и тяхното
взаимодействие в Java може да се предстви
със следната диаграма:
Functions
(methods)
Class in
Java
Objects of
class
Variables
(fields)
23. Да започнем с изучаването на ключовите
думи на езика Java
▸Езикът Java използва следните основни ключови думи:
28. Лекция 2.Променливи в езика Java-
глобални, локални, видове
променливи
▸В този раздел ще се запознаем с основните
видове променливи и константи в Java и
тяхното дефиниране и използване, които са
основата при кодиране на програмите на Java!
29. Променливи в езика Java
▸Какво представляват променливите в java ?
▸Променливите са адреси на клетки от оперативната памет
(RАМ) на PC , в които програмата на потребителя записва
стойности от опеределен тип(цели числа , реални
числа,символи,низове и др.);
▸Стойностите на променливите се променят по време на
изпълнение на програмата!
▸Константите в програмата на java се означават с
модификатора final-техните стойности не се променят по
време на изпълнение на програмата!
▸Имената на променливите трябва да започват с буква, знак
за долар или “_”;
▸Пред името на променливата програмиста трябва да
декларира нейния тип (int,float,double,char,string и др.);
▸Програмистът може да зададе и стойност на променливата
при нейната декларация!
30. Примери за използване на
променливи
public class ComputeArea {
/** Main method - това е коментар към програмата!! */
public static void main(String[] args) {
double radius; //promenliwa ot typ double
double area;
int i; //promeliwa ot typ integer
// Assign a radius
radius = 20;
final double pi= 3.14159; //constanta pi ot typ double
// Compute area
area = radius * radius *pi;
// Display results
System.out.println("The area for the circle of radius " +
radius + " is " + area);
}
}
31. Видове променливи в Java
▸Променливите в Java могат да се разделят на:
▸Локални променливи декларирани в рамките на
функция,блок;
▸Обектни (динамични) променливи декларирани
в даден клас, които съществуват само по време на
съществуване наобекта;
▸Статични променливи, които съществуват по
време на изпълнение на цялата програма на Java-
те се отбелязват с модификатор “static “;
▸Пример:
▸ static int i=1; static float k=1.5;
32. Променливи в Java
▸Какво трябва да запомните ?
▸Обектните (динамични) променливи
съществуват в паметта докато съществува
обекта- след това автоматично се изтриват от
JVM;
▸Статичните променливи съществуват
докато съществува програмата на Java
▸Стойността на статичната променлива се
споделя от всички обекти в програмата на
Java
33. Типове данни в Java
▸1. Примитивни типове данни
• integer 4 bytes
• short 2 bytes
• long 8 bytes
• byte 1 byte
• float 4 bytes
• double 8 bytes
• Char Unicode encoding -2 bytes
• boolean {true, false} - 1 byte
34. Синтаксис на програмата на Java
▸Програмата на Java започва с деклариране на
използваните пакети от библиотеките на Java (import
java.util.*;);
▸В Програмата на Java трябва да се декларират всички
класове и методи и променливи в тях;
▸Програмата на Java може да съдържа коментари за един
ред - // xxxxxxxxxxxxx
▸Или коментари за няколко реда които се означават с /*
xxxxx
▸Xxxxxx */
▸Програмата на Java трябва да съдържа главен метод
/public static void main(String args[]) / в клас public;
35. Видове константи в Java
• Числови константи.Примери:
37 integer
37.2 float
42F float
0754 integer (octal)
0xfe integer (hexadecimal)
▸Цялата част се отделя от дробната с точка;
▸Шестнайсетичните константи се записват с
▸‘0x’ в началото
36. Типове данни в Java- продължение
▸Обвиващи типове данни (Wrapper type):
▸Примери:
▸Integer n = new Integer(“4”);
▸int m = n.intValue();
▸Float f=new Float(“4.25”);
▸Float f2=f.floatValue();
▸Double d=new Double(“4.55”);
37. Типове данни „референции към
обекти“ в езика Java
▸Типове данни „референции към обекти“
представляват променливи, които съдържат
адреса (референцията) към конкретен обект в
оперативната памет.Обектите в Java биват
следните основни видове:
• Обекти дефинирани като инстанции на класове
или интерфейси (class , interface);
• Обекти от типа низ (string);
• Обекти от типа масив (array);
• Пример:
▸Animal[] arr; // nothing yet …
▸arr = new Animal[4]; // only array of pointers
▸String Booktitle;
▸Booktitle=“Java book”;
38. Обектни типове данни
▸Обектните типове данни са: масиви,низове и типовете
данни дефинирани чрез класове или интерфейси:
array[],string,class Type { };
▸Animal[] arr; // nothing yet …
▸arr = new Animal[4]; // only array of pointers
▸for(int i=0 ; i < arr.length ; i++) {
▸ arr[i] = new Animal();
▸// now we have a complete array
▸}
39. Преобразуване (конвертиране) на
типове в Java
В Java съществува два типа преобразуване на типове:
▸Преобразуване на примитивни типове данни;
▸Преобразуване на обектни типове данни;
▸1. Преобразуване на примитивни типове данни.
▸Това преобразуване може да бъде
неявно(автоматично се извършва от компилатора)
или явно (задава се от програмиста);
▸Неявното преобразуване се нарича още
преобразуване с разширение, защото компилаторът
„разширява“ по-тесния тип на присвояваната
променлива към по-широк тип данни.Неявното
преобразуване е показано на следната диаграма:
41. Преобразуване (конвертиране) на
типове в Java-продължение
▸Друг вид конвертиране на примитивни типове е
конвертиране с аритметично увеличаване на
типовете.Това преобразуване се извършва от
компилаторът при обработката на аритметични изрази.
Пример:
▸Short s=9;
▸Int i=10;
▸Float f = 11.1f;
▸Double d=12.34;
▸If (-s*I >=f/d ) System.out.println (“Greater value”);
▸ else
▸ System.out.println (“Less value”);
▸
42. Преобразуване (конвертиране) на
типове в Java-продължение
▸При явното преобразуване програмистът указва на
Java типът към който се преобразува променливата:
▸Пример:
▸Short s=299;
▸Byte b=(byte) s;
▸System.out.println(“b=“ + b);
▸Int i=2;
▸Double radians;
▸Radians=(double) I;
43. Преобразуване (конвертиране) на
типове в Java-продължение
▸Конвертиране на референции към обекти:
▸При този тип конвертиране се използват следните
правила:
▸Типът интефейс може да бъде конвертиран само в тип
интерфейс или Object;
▸Типът клас може да бъде конвертиран само в тип клас
или в тип интерфейс, като старият тип трябва да е
подтип на новия;
▸Тип масив може да бъде конвертиран в масив или в клас
Object или интерфейси Cloneable,Serializable;
▸Общото правило при конвертиране на референции
гласи,че може да бъдат конвертирани обекти от
подкласове към надкласове в дървото на йерархията на
класовете .На върха на йерархията се намира клас “Object”.
45. Преобразуване (конвертиране) на
типове в Java-продължение
(обобщение)
▸Конвертирането на примитивните типове се извършва при:
▸Конвертиране при присвояване;
▸Конвертиране при извикване на метод;
▸Конвертиране при аритметично увеличаване на типове;
▸Явно преобразуване на типове.
▸Конвертирането на референции към обекти се извършва при:
▸Конвертиране при присвояване;
▸Конвертиране при извикване на метод;
▸Явно преобразуване на типове.
▸Общото правило гласи, че неявното конвертиране е
разрешено при „движение“ нагоре по дървото на
наследяването.
46. Лекция 3.Операции и аритметични
операции в езика Java
▸В този раздел ще разгледаме основните
аритметични и логически операции в езика
Java и как те се използват.
47. Аритметични операции в Java
▸В Java както и в останалите езици за
програмиране съществуват следните пет основни
аритметични операции:
▸Събиране (+);
▸Изваждане (-);
▸Умножение (*);
▸Деление (/);
▸Деление по модул(остатъка от делението на
две цели числа (%);
▸Оператор за присвояване : (=);
48. Примери за аритметични операции
▸Int i=5; int j=8 ;float k=0.0; double v=1.0, w=2.0;
▸//v,w –are from the same type
▸K=(i*j)/2;
▸V=(5%j)*k;
▸System.out.println(“v=“+v);//console output
▸W=(k-v)/2+(i+j)/4;
▸System.out.println(“w=“+w); //console output
▸Long i=1024;int j=10555,k=0;
▸K=(int)(i*i+j*j)/4;
▸System.out.println(“k=“+k); //console output
49. 4. Лабораторно упражнение 1. Java Lab 1
▸Примери за използване на основните аритметични и
логически операции в Java.
▸Пример 1.Изчисляване площ на кръг.
▸int r = (150-20) / 2 + 5;
▸// Expression for calculation of the surface of the circle
▸double surface = Math.PI * r * r;
▸// Expression for calculation of the perimeter of the circle
▸double perimeter = 2 * Math.PI * r;
▸System.out.println(r);
▸System.out.println(surface);
▸System.out.println(perimeter);
50. Java Lab 1- продължение
▸Резултат:
▸70
▸15393.804002589986
▸439.822971502571
▸Пример 2.
▸Побитови операции в Java
▸int n = 35; // 00100011
▸int p = 6;
▸int i = 1; // 00000001
▸int mask = i << p; // Move the 1st bit with p positions
▸// If i & mask are positive then the p-th bit of n is 1
▸System.out.println((n & mask) != 0 ? 1 : 0);
51. Java Lab 1- продължение
▸Пример 3.
▸Дефиниране на клас с използване на аритметичните
операции.
▸В този пример е дефиниран класът “ArithmeticDemo” с
основните аритметични операции:събиране (+),
▸изваждане(-), умножение(*) и деление (/), деление по
модул (%), както и операторът за присвояване (=).
▸В класа е дефинирана и основната функция public static
void main(), която се явява входна точка на програмата на
java.
52. Java Lab 1- продължение
▸class ArithmeticDemo
▸ {
▸ public static void main (String[] args) { int result = 1 + 2; // result
is now 3 System.out.println("1 + 2 = " + result); int original_result =
result; result = result - 1; // result is now 2
System.out.println(original_result + " - 1 = " + result);
original_result = result; result = result * 2; // result is now 4
System.out.println(original_result + " * 2 = " + result); o
▸riginal_result = result; result = result / 2; // result is now 2
▸//source code on the next page
53. Java Lab 1- продължение
▸System.out.println(original_result + " / 2 = " + result);
original_result = result; result = result + 8;
▸// result is now 10
▸ System.out.println(original_result + " + 8 = " + result);
▸original_result = result;
▸result = result % 7;
▸// result is now 3
System.out.println(original_result + " % 7 = " + result);
}
}
55. Логически операции в Java
▸Логическите операции в java са оператори, които се изпълняват
върху логически или числови променливи(тип
boolean,integer,double) и дават като резултат логическа единица или
нула(true, false). Това са операциите:
▸Инвертиране (NOT) или (!);
▸Логическо умножение (AND) или (&&);
▸Логическо сумиране (OR) или (||);
▸Логическо несъвпадение (XOR) или (^).
▸Примери:
▸0 <= x && x <= 9;
▸0<=x || y<=1;
▸If (!x) z=x + y; else z=(x + y)*(x-y);
▸If (x^y) System.out.println(“x differs from
y”);else System.out.println(“x is equal y”);
56. Логически операции в Java-примери
▸boolean a = true;
▸boolean b = false;
▸System.out.println(a && b); // false
▸System.out.println(a || b); // true
▸System.out.println(!b); // true
▸System.out.println(b || true); // true
▸System.out.println((5>7) ^ (a==b)); // false
Закони на де Морган,които се използват при
логическите операции:
▸!(a && b) == (!a || !b)
▸!(a || b) == (!a && !b)
57. Побитови операции в Java
▸Побитовите операции се изпълняват върху двоичния
код на конкретна променлива.Това са операциите:
▸Побитово отрицание (bitweise not) – (~);
▸Побитово умножение (bitweise and)-(&);
▸Побитово събиране (bitweise or) - (|);
▸Побитово сравнение (bitweise xor) - (^);
▸Побитово преместване на ляво (shift left) –(<<);
▸Побитово преместване на дясно (shift right) – (>>);
▸Побитово преместване на дясно със запълване с
„1“
▸(>>>);
58. Оператор за слепване на
низове(конкатенация)
▸Операторът за слепване на низове (+) съединява два
или повече низа последователно, като ако другият
оператор не е низ(операция “tostring”) той автоматично
се преобразува в низ и може да бъде
разпечатан.Примери:
▸String first = "Star";
▸String second = "Craft";
▸System.out.println(first + second); // StarCraft
▸String output = first + second + " ";
▸int number = 2;
▸System.out.println(output + number);
▸// StarCraft 2
60. Примери за аритметични операции в
Java
▸Операции инкрементиране и декрементиране-стойността
на променливата се увеличава(намалява) с 1:
▸ x++; //x=x+1; y--; //y=y-1;
▸int squarePerimeter = 17; double squareSide =
squarePerimeter / 4.0; double squareArea = squareSide *
squareSide;
▸System.out.println(squareSide); // 4.25
▸System.out.println(squareArea); // 18.0625
▸int a = 5; int b = 4;
▸System.out.println(a + b); // 9
▸System.out.println(a + b++); // 9
▸System.out.println(a + b); // 10
▸System.out.println(a + (++b)); // 11
▸System.out.println(a + b); // 11
▸System.out.println(14 / a); // 2
▸System.out.println(14 % a); // 4
61. Операции за сравнение в Java
▸Операторите за сравнение в Java са шест на
брой и сравняват стойностите на две
променливи или два аритметични израза:
▸ a>b;
▸ a<b;
▸ a==b;
▸ a>=b;
▸ a<=b;
▸ a!=b;
▸ a+b >a-b;
▸Като резултат от сравнението се получава
логическа стойност –true (вярно) или false
(невярно).
62. Операции за сравнение в Java-
примери
▸Примери за операции за сравнение:
▸public class RelationalOperatorsDemo
▸ {
▸public static void main(String args[]) {
▸int x = 10, y = 5;
▸System.out.println("x > y : " + (x > y)); // true
▸System.out.println("x < y : " + (x < y)); // false
▸System.out.println("x >= y : " + (x >= y)); // true
▸System.out.println("x <= y : " + (x <= y)); // false
▸System.out.println("x == y : " + (x == y)); // false
▸System.out.println("x != y : " + (x != y)); // true
▸} }
63. Оператор за присвояване в Java
▸Операторът за присвояване присвоява стойност
(литерал) на променлива или стойност на аритметичен
израз на променлива.Този оператор е подобен на
оператора (=) в алгебрата.
▸Пример:
▸int x = 6;
▸String helloString = "Здравей стринг.";
▸int y = x;
▸Операторът за присвояване трябва да бъде
различаван от оператора за сравнение (==).
64. Оператор за присвояване в Java-
примери
▸Каскадно използване на операторът за
присвояване.Примери:
▸int x, y, z;
▸x = y = z = 25;
▸ float p,q,r;
▸ p=q=r=55.55;
▸System.out.println (“x=y=z=”+x);
▸System.out.println (“p=q=r=” +p);
▸ double z=Math.sqrt(x+y+z);
▸System.out.println (“z=“ + z);
▸Клас Math e вграден клас в пакета “java.lang.*” и в
него са дефинирани основните математически
функции като статични методи.
▸import static java.lang.Math.*;
65. 6. Лабораторно упражнение 2.
Java Lab 2
▸Пример 1.
▸int cadence = 0;
▸anArray[0] = 100; //null element of array is 100
▸System.out.println("Element 1 at index 0: " + anArray[0]);
▸ int result = 1 + 2; // result is now 3
▸if (value1 == value2) System.out.println("value1 == value2");
▸//if statement by value1 =value 2;
67. Java Lab 2-продължение
▸Пример 3. Блоков оператор { }
▸class BlockDemo
▸{ public static void main(String[] args)
▸{ boolean condition = true;
▸if (condition) { // begin block 1
System.out.println("Condition is true."); }
// end block one
else
▸ { // begin block 2
▸ System.out.println("Condition is false.");
▸} // end block 2 } }
68. Java Lab 2-продължение
▸Пример 4.
▸aValue = 8933.234;
▸aValue++;
▸System.out.println("Hello World!");
▸System.out.println("Hello my friend!");
▸Bicycle myBike = new Bicycle();
▸Person Nikolaj=new Person();
▸Student Ivan = new Student();
69. Java Lab 2-продължение
▸Пример 5.Математически функции в класа Math
▸public static void main(String[] args) { int i = 7; int j = -9; double x
= 72.3; double y = 0.34; System.out.println("i is " + i);
System.out.println("j is " + j); System.out.println("x is " + x);
System.out.println("y is " + y); // The absolute value of a number is
equal to // the number if the number is positive or // zero and equal
to the negative of the number // if the number is negative.
System.out.println("|" + i + "| is " + Math.abs(i));
System.out.println("|" + j + "| is " + Math.abs(j));
System.out.println("|" + x + "| is " + Math.abs(x));
System.out.println("|" + y + "| is " + Math.abs(y));
System.out.println(x + " is approximately " + Math.round(x));
System.out.println(y + " is approximately " + Math.round(y)); // The
"ceiling" of a number is the // smallest integer greater than or equal
to // the number.
70. Лекция 7.Условни твърдения и
оператори.Оператори за сравнение в
езика Java.Булева алгебра.
▸Условните твърдения и оператори в java дават
възможност на програмиста да извърши разклонение
в алгоритъма на програмата по определено логическо
условие (твърдение). Те се дефинират с операторите:
▸If ( logical operator) op1 in Java;
▸ else op2 in Java;
▸Пример 1:
▸void applyBrakes()
▸ { // the "if" clause: bicycle must be moving
▸if (isMoving){ // the "then" clause: decrease current speed
currentSpeed--; } }
72. Оператори за сравнение в Java
▸Операторите за сравнение в Java се използват за
сравнение между стойностите на променлива и константа ,
две променливи , два аритметични израза или две
референции към обекти.Резултатът от сравнението е true
или false.Операторите са 6 на брой и са показани в
таблицата по-долу:
▸Оператор Действие
▸== равно
▸!= различно
▸> по-голямо
▸>= по-голямо или равно
▸< по-малко
▸<= по-малко или равно
73. Оператори за сравнение в Java-
продължение
▸Примери:
▸int weight = 700;
▸System.out.println(weight >= 500);
▸char sex = 'm';
▸System.out.println(sex <= 'f');
▸double colorWaveLength = 1.630;
▸System.out.println(colorWaveLength > 1.621);
▸Получаваме следния резултат:
▸true
▸false
▸true
75. Оператори за сравнение в Java-
продължение
▸Пример за сравнение за реални числа с точност:
▸float value = 1.0f;
▸float sum = 0.1f + 0.1f + 0.1f + 0.1f + 0.1f +
▸0.1f + 0.1f + 0.1f + 0.1f + 0.1f;
▸System.out.println("Exact compare: " +
▸(sum==value));
▸System.out.println("Rounded compare: " +
▸(Math.abs(sum-value) < 0.000001));
▸Резултат:
▸Exact compare: false
▸Rounded compare: true
▸
76. Оператори за сравнение в Java-
продължение
▸Примери за сравнение на референции към
обекти(низове):
▸String str = "bira";
▸String anotherStr = str;
▸String bi = "bi";
▸String ra = "ra";
▸String thirdStr = bi + ra;
▸System.out.println("str = " + str);
▸System.out.println("anotherStr = " + anotherStr);
▸System.out.println("thirdStr = " + thirdStr);
▸System.out.println(str == anotherStr);
▸System.out.println(str == thirdStr);
77. Оператори за сравнение в Java-
продължение
▸Получаваме следния резултат:
▸str = bira
▸anotherStr = bira
▸thirdStr = bira
▸true
▸false
▸От посочения пример следва, че за сравнение на
референции на обекти може да се използва оператора
(==),но за сравнение на стойности на обекти в случая низов
трябва да се използва друг оператор (equals).
78. 8.Лабораторно упражнение 3.
Java Lab 3
▸Пример 1. Оператор “switch” за избор на вариант.
▸public class SwitchDemo
▸ { public static void main(String[] args) { int month = 8; String
monthString; switch (month) { case 1:
▸ monthString = "January"; break; case 2:
▸monthString = "February"; break; case 3: monthString = "March";
break; case 4:
▸ monthString = "April"; break; case 5: monthString = "May";
break; case 6:
▸ monthString = "June"; break; case 7:
▸ monthString = "July"; break; case 8:
▸ monthString = "August"; break;
80. Java Lab 3-продължение
▸Пример 2.Побитов оператор “AND”
▸class BitDemo
{ public static void main(String[] args)
{ int bitmask = 0x000F; int val = 0x2222; // prints "2"
System.out.println(val & bitmask);
} }
Пример 3.Побитови оператори.
public class Test
{ public static void main(String args[]) { int a = 60; /* 60 = 0011 1100
*/ int b = 13; /* 13 = 0000 1101 */ int c = 0; c = a & b; /* 12 = 0000 1100
*/ System.out.println("a & b = " + c ); c = a | b; /* 61 = 0011 1101 */
System.out.println("a | b = " + c );
81. Java Lab 3-продължение
▸Пример 3.Побитови оператори-продължение.
▸c = a ^ b; /* 49 = 0011 0001 */ System.out.println("a ^ b = " + c );
c = ~a; /*-61 = 1100 0011 */ System.out.println("~a = " + c ); c = a
<< 2; /* 240 = 1111 0000 */ System.out.println("a << 2 = " + c );
▸c = a >> 2; /* 15 = 1111 */ System.out.println("a >> 2 = " + c );
▸ c = a >>> 2; /* 15 = 0000 1111 */ System.out.println("a >>> 2 =
" + c );
▸} }
82. Java Lab 3-продължение
▸Резултат:
▸a & b = 12 ;
▸a | b = 61;
▸ a ^ b = 49;
▸ ~a = -61;
▸ a << 2 = 240;
▸a >> 15 ;
▸a >>> 15
▸Пример 4.Оператор XOR in Java
▸class BitwiseXOR
▸{ public static void main(String args[]){ int num1 = 42; int num2
= 15; System.out.println("XOR Result =" +(num1 ^ num2)); } }
▸//answer: XOR Result = 37
83. Лекция 8.Цикли в Java
Съществуват следните три оператора за цикъл в Java
1. Оператор за цикъл –”for”.Запис на оператора:
for (initialization; termination; increment)
▸ { statement(s) };
class ForDemo
{ public static void main(String[] args)
{ for(int i=1; i<11; i++)
{ System.out.println("Count is: " + i);
} } }
▸Пример 1.
class EnhancedForDemo { public static void main(String[] args){
int[] numbers = {1,2,3,4,5,6,7,8,9,10}; for (int item : numbers) {
System.out.println("Count is: " + item);
} } }
84. Цикли в Java- продължение
2.Оператор за цикъл – „while”.Запис на оператора.
while (expression) { statement(s) }
Пример 2.
class WhileDemo
{ public static void main(String[] args){ int count = 1; while (count
< 11) { System.out.println("Count is: " + count); count++; } }
}
Пример 3.
class WhileDemo
{ public static void main(String[] args){ int count = 1;
while (count < 11)
{ System.out.println("Count is: " + count); count++; }
} }
85. Цикли в Java- продължение
▸3.Оператор за цикъл-”do- while”.Запис на оператора.
▸do { statement(s) } while (expression);
▸Пример 4.
class DoWhileDemo
{ public static void main(String[] args){ int count = 1;
do { System.out.println("Count is: " + count); count++; }
while (count < 11);
} }
Основната разлика между “while” и “do-while” e, че при “do-
while” условието за край на цикъла се проверява накрая на
цикъла.
86. 10.Лабораторно упражнение 4.
Java Lab 4.
▸Цикли в Java.Примери.
Пример 1.Оператор –”for”
class ForDemo
{ public static void main(String[] args)
{ for(int i=1; i<11; i++)
{ System.out.println("Count is: " + i);
}
} }
Резултат:
Count is: 1 Count is: 2 Count is: 3 Count is: 4 Count is: 5 Count is: 6
Count is: 7 Count is: 8 Count is: 9 Count is: 10
87. Java Lab 4- продължение
Пример 2.Вграден оператор –”for”.
class EnhancedForDemo
{ public static void main(String[] args){ int[] numbers =
{1,2,3,4,5,6,7,8,9,10};
for (int item : numbers) { System.out.println("Count is: " + item);
} } }
Резултат:
Count is: 1 Count is: 2 Count is: 3 Count is: 4 Count is: 5 Count is: 6
Count is: 7 Count is: 8 Count is: 9 Count is: 10
88. Java Lab 4- продължение
Оператор за прекъсване-”break”.Пример 3.
class BreakDemo
{ public static void main(String[] args)
{ int[] arrayOfInts = { 32, 87, 3, 589, 12, 1076, 2000, 8, 622, 127 };
int searchfor = 12; int i; boolean foundIt = false;
for (i = 0; i < arrayOfInts.length; i++)
{ if (arrayOfInts[i] == searchfor) { foundIt = true; break; } }
if (foundIt) { System.out.println("Found " + searchfor + " at index "
+ i); } else { System.out.println(searchfor + " not in the array"); }
} }
89. Java Lab 4- продължение
Оператор за прескачане на итерация-”continue”.
Пример4
class ContinueDemo
{ public static void main(String[] args) { String searchMe = "peter
piper picked a " + "peck of pickled peppers";
int max = searchMe.length(); int numPs = 0;
for (int i = 0; i < max; i++) { // interested only in p's if
(searchMe.charAt(i) != 'p') continue; // process p's numPs++; }
System.out.println("Found " + numPs + " p's in the string.");
} }
90. Java Lab 4- продължение
Оператор за прескачане на итерация-”continue” с
етикет.
Пример5
class ContinueWithLabelDemo
{ public static void main(String[] args) { String searchMe = "Look
for a substring in me"; String substring = "sub"; boolean foundIt =
false; int max = searchMe.length() - substring.length(); test: for
(int i = 0; i <= max; i++) { int n = substring.length(); int j = i; int k =
0;
while (n-- != 0) { if (searchMe.charAt(j++) !=
substring.charAt(k++)) { continue test; } }
foundIt = true; break test; }
System.out.println (foundIt ? "Found it" : "Didn't find it");
} }
91. Java Lab 4- продължение
public class DoWhileExample {
public static void main(String[] args) {
int i =0;
do
{
System.out.println("i is : " + i);
i++;
}while(i < 5);
}
}
92. Java Lab 4- продължение
Пример:
public class Test { public static void main(String args[])
{ int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers )
{ System.out.print( x );
System.out.print(","); }
System.out.print("n"); String [] names ={"James", "Larry", "Tom",
"Lacy"}; for( String name : names )
{ System.out.print( name ); System.out.print(",");
}
} }
93. Лекция 11. Масиви
Масивите са неизменна част от езиците за програмиране.
Те представляват съвкупности от променливи, които
наричаме елементи: {0 ,40, 1, 2, 3, 4}
Array elementsArray Array of 5 ;
indexElement ; indexindexElement an arrayElement ;Element of
array; an array
▸Елементите на масивите са номерирани с числата 0, 1, 2,
... N-1. Тези номера на елементи се наричат индекси. Броят
елементи в даден масив се нарича дължина на масива.
▸Всички елементи на даден масив са от един и същи тип,
независимо дали е примитивен или референтен. Това ни
помага да представим група от еднородни елементи като
подредена свързана последователност и да ги обработваме
като едно цяло.
94. Масиви-продължение
Масивите могат да бъдат от различни размерности, като най-
често използвани са едномерните и двумерните масиви.
Едномерните масиви се наричат още вектори (vectors), а
двумерните матрици (matrix).
▸В Java масивите имат фиксирана дължина, която се указва
при инициа-лизирането му и определя броя на елементите
му. След като веднъж сме задали дължината на масив не е
възможно да я променяме.
▸Деклариране на масив
▸Масиви в Java декларираме по следния начин: int[]
myArray;
95. Масиви-продължение
В Java масив се създава с ключовата дума new, която служи
за заделяне (алокиране) на памет:
int[ ] myArray = new int[6];
В примера заделяме масив с размер 6 елемента от
целочислен тип. Това означава, че в динамичната памет
(heap) се заделя участък от 6 последователни цели числа.
Елементите на масивите винаги се съхраняват в динамичната
памет (в т. нар. heap).
При заделянето на масив в квадратните скоби задаваме броя
на елементите му (цяло неотрицателно число) и така се
фиксира неговата дължина. Типът на елементите се записва
след new, за да се укаже за какви точно елементи трябва да
се задели памет. Масив с вече зададена дължина не може да
се промени т.е. масивите са с фиксирана дължина.
96. Масиви-продължение
Инициализация на масив.
▸Преди да използваме елемент от даден масив той трябва
да има начална стойност. В някои езици за програмиране не
се задават начални стойности по подразбиране, и тогава при
опит за достъпване да даден елемент възниква грешка. В
Java всички променливи, включително и елементите на
масивите имат начална стойност по подразбиране (default
initial value). Тази стройност е равна на 0 при числените
типове или неин еквивалент при нечислени типове
(например null за обекти и false за булевия тип).
Начални стойности можем да задаване и изрично. Това
може да стане по различни начини. Един възможен е чрез
използване на литерален израз за елементите на масива
(array literal expression): int[] myArray = {1, 2, 3, 4, 5, 6};
97. Лабораторно упражнение 5.
Java Lab 5
Пример1. Създавяне на масив от цели числа.
Масив се декларира посредством средни скоби ([ ]) след типа
на елементите или името на масива!!!
class ArrayDemo { public static void main(String[] args)
{ // declares an array of integers int[] anArray;
// allocates memory for 10 integers anArray = new int[10];
// initialize first element anArray[0] = 100;
// initialize second element anArray[1] = 200;
// and so forth anArray[2] = 300; anArray[3] = 400; anArray[4] =
500;
anArray[5] = 600; anArray[6] = 700; anArray[7] = 800; anArray[8] =
900; anArray[9] = 1000;
98. Java Lab 5.Продължение
Пример 1.Продължение.
System.out.println("Element at index 0: " + anArray[0]);
System.out.println("Element at index 1: " + anArray[1]);
System.out.println("Element at index 2: " + anArray[2]);
System.out.println("Element at index 3: " + anArray[3]);
System.out.println("Element at index 4: " + anArray[4]);
System.out.println("Element at index 5: " + anArray[5]);
System.out.println("Element at index 6: " + anArray[6]);
System.out.println("Element at index 7: " + anArray[7]);
System.out.println("Element at index 8: " + anArray[8]);
System.out.println("Element at index 9: " + anArray[9]);
} }
99. Java Lab 5.Продължение
Резултат:
Element at index 0: 100
Element at index 1: 200
Element at index 2: 300
Element at index 3: 400
Element at index 4: 500
Element at index 5: 600
Element at index 6: 700
Element at index 7: 800
Element at index 8: 900
Element at index 9: 1000
100. Java Lab 5.Продължение
Пример 2.Създаване и инициализация на масив.
Масивите са обекти и се създават с оператора ‘new’ в
динамичната памет (heap).Първият елемент на масива е
винаги с индекс нула !!
anArray = new int[10];
anArray[0] = 100;
// initialize first element
anArray[1] = 200;
// initialize second element
anArray[2] = 300;
// and so forth
//printing elements of array:
System.out.println("Element 1 at index 0: " + anArray[0]);
System.out.println("Element 2 at index 1: " + anArray[1]);
System.out.println("Element 3 at index 2: " + anArray[2]);
101. Java Lab 5.Продължение
Запомнете: Размерността на масива се определя по време
на изпълнението на програмата на Java,а не при неговото
деклариране.Размерността може да се зададе и с
константа!
Пример 3.
float[ ] arr1;
arr1= new float[100];
//array of 100 elements real numbers;
int size=1024*768;
// size of array
int rst;
rst=new int[size];
// size of array is defined with const - size
102. Java Lab 5.Продължение
В Java е възможно да дефинирате многодименсионални масиви.Те
се задават с определен брой ъглови скоби след името или типът
на елементите на масива:
Пример 4.
//two-dimensional array with numbering each element
int twoD[ ][ ] = new int[4][5];
class TwoDArray {
public static void main(String args[]) {
int twoD[][]= new int[4][5];
int i, j, k = 0;
for(i=0; i<4; i++)
for(j=0; j<5; j++) {
twoD[i][j] = k;
k++; }
104. Java Lab 5.Продължение
Пример 5.
Масив при който втората размерност се задава от
програмиста по време на изпълнение на програмата:
class TwoDAgain {
public static void main(String args[]) {
int twoD[][] = new int[4][];
twoD[0] = new int[1];
twoD[1] = new int[2];
twoD[2] = new int[3];
twoD[3] = new int[4];
int i, j, k = 0;
for(i=0; i<4; i++)
for(j=0; j<i+1; j++) {
twoD[i][j] = k; k++; }
106. Лекция 13. Въведение в обектно-
ориентираното програмиране.
Обекти – част 1.
▸В настоящата лекция ще се запознаем накратко с
основните понятия в обектно-ориентираното програмиране –
класовете и обектите (class, object)– и ще обясним как да
използваме класовете от стандартните библиотеки на Java.
Ще се спрем на някои често използвани системни класове и
ще видим как се създават и използват техни инстанции
(обекти). Ще разгледаме как можем да осъществяваме
достъп до полетата на даден обект, как да извикваме
конструктори и как да работим със статичните полета в
класовете.
Накрая ще се запознаем и какво представляват пакетите
(package) в езика Java.
107. Въведение в обектно-ориентираното
програмиране.Обекти.Продължение
Понятие за класове и обекти
Класовете са описание (модел) на реални предмети или
явления, наречени същности (entities). Например класът
"Студент".
▸Класовете имат характеристики – в програмирането са
наречени свойства (properties). Например съвкупност от
оценки. Класовете имат и поведение – в програмирането са
наречени методи (methods). Например явяване на изпит.
▸Методите и свойствата могат да бъдат видими и невидими –
от това зависи дали всеки може да ги използва или са само за
вътрешна употреба в рамките на класа.
▸Обектите (objects) са екземпляри (инстанции) на класовете.
Например Иван е Студент, Петър също е студент.
108. Въведение в обектно-ориентираното
програмиране(ООП).Обекти.
Продължение
Обектно-ориентираното програмиране е наследник на
процедурното (структурно) програмиране. Процедурното
програмиране най-общо казано описва програмите чрез група от
преизползваеми парчета код (процедури), които дефинират
входни и изходни параметри. Процедурните програми
представляват съвкупност от процедури, които се извикват една
друга. Проблемът при процедурното програмиране е, че
преизползваемостта на кода е трудно постижима и ограничена –
само процедурите могат да се преизползват, а те трудно могат
да бъдат направени общи и гъвкави. Няма лесен начин да се
реализират абстрактни структури от данни, които имат различни
имплементации. Обектно-ориентираният подход залага на
парадигмата, че всяка програма работи с данни, описващи
същности (предмети и явления) от реалния живот.
109. Въведение в обектно-ориентираното
програмиране.Обекти.Продължение
Примери за обекти от реалния свят:
Например една счетоводна програма работи с фактури,
стоки, складове, наличности, продажби и т.н.
По този начин се дефинират обектите в счетоводството.
Компютърните програми за обработка данните на персонала
на фирма,студентите в университет или учениците в
колеж работят също с обекти:конкретни служители,студенти
или ученици и техните характеристики (свойства). С тази
технология в програмирането се описват характеристиките
(свойства) и поведението (методи) на тези предмети или
явления от реалния живот.
110. Въведение в обектно-ориентираното
програмиране.Обекти.Продължение
Основни принципи на ООП
За да бъде един програмен език обектно-ориентиран, той трябва
не само да позволява работа с класове и обекти, но и трябва да
дава възможност за имплементирането и използването на
принципите и концепциите на ООП: наследяване, абстракция,
капсулация и полиморфизъм.Ще разгледаме в детайли всеки от
тези основни принципи на ООП.
- Наследяване (Inheritance)
( йерархиите от класове подобряват четимостта на кода и
позволяват преизползване на функционалност);
▸ Абстракция (Abstraction)
( виждаме един обект само от гледната точка, която ни
интересува, и да игнорираме всички останали детайли);
- Капсулация (Encapsulation)
(скриваме ненужните детайли в нашите класове и да
предоставяме прост и ясен интерфейс за работа с тях);
111. Въведение в обектно-ориентираното
програмиране.Обекти.Продължение
- Полиморфизъм (Polymorphism)
( работим по еднакъв начин с различни обекти, които
дефинират специфична имплементация на някакво
абстрактно поведение на обекта);
Наследяване (Inheritance):
Наследяването е основен принцип от обектно-
ориентираното програмиране. То позволява на един клас да
"наследява" (поведение и характеристики) от друг, по-общ
клас. Например лъвът е от семейство котки. Всички котки
имат четири лапи, хищници са, преследват жертвите си. Тази
функционалност може да се напише веднъж в клас Котка и
всички хищници да я преизползват – тигър, пума, рис и т.н.
112. Въведение в обектно-ориентираното
програмиране.Обекти.Продължение
Пример за дефиниция на клас:
public class Puppy
{ public Puppy(String name)
{ // This constructor has one parameter, name.
System.out.println("Passed Name is :" + name ); }
public static void main(String []args)
{ // Following statement would create an object myPuppy Puppy
myPuppy = new Puppy( "tommy" );
} }
113. Въведение в обектно-ориентираното
програмиране.Обекти.Продължение
Капсулация (Encapsulation)
▸Капсулацията се извършва с помоща на ключовите
думи public, protected, private със съответното ограничение
за достъп до полетата или методите на класa.
Обекти от реалния свят
В обектите от реалния свят (също и в абстрактните обекти)
могат да се отделят следните две групи характеристики:
- Състояния (states) – това са характеристики на обекта,
които по някакъв начин го определят и описват по принцип
или в конкретен момент.
- Поведения (behaviors) – това са специфични характерни
действия, които обектът може да извършва.
114. Въведение в обектно-ориентираното
програмиране.Обекти.Продължение
Елементи на класа в програмата на java
Основните елементи на класа са следните:
- Декларация на класа (class declaration) – това е редът, на
който декларираме името на класа;
- Тяло на клас – по подобие на методите, класовете също
имат част, която следва декларацията им, оградена с
фигурни скоби – "{" и "}", между които се намира
съдържанието на класа. Тя се нарича тяло на
класа.Пример:
public class Dog {
// ... Here the class body comes ...
}
- Конструктор (constructor) – това е псевдометод, който
се използва за създаване на нови обекти. Така изглежда
един конструктор:
115. Въведение в обектно-ориентираното
програмиране.Обекти.Продължение
public Dog() {
// ... Some code ...
}
Полета (fields) – полетата са променливи (някъде в
литературата се срещат като член-променливи),
декларирани в класа. В тях се пазят данни, които отразяват
състоянието на обекта и са нужни за работата на методите
на класа. Стойността, която се пази в полетата, отразява
конкретното състояние на дадения обект, но съществуват и
такива полета, наречени статични, които са общи за всички
обекти.
▸// Field/Property-storage definition
▸private String name;
116. Въведение в обектно-ориентираното
програмиране.Обекти.Продължение
Свойства (properties) – наричаме характерните особености на
даден клас. Обикновено стойността на тези характеристики се
пази в полета. Подобно на полетата, свойствата могат да бъдат
притежавани само от конкретен обект, или да са споделени
между всички обекти от тип даден клас.
// Field/Property-storage definition
private String name;
Методи (methods) – методите са мястото в класа, където се
описва поведението на обектите от този тип. В методите се
изпълняват алгоритмите и се обработват данните на обекта.
Като пример ще дефинираме клас “Cat”, който съдържа
следните елементи, описани по-горе:
117. Въведение в обектно-ориентираното
програмиране.Обекти.Продължение
▸public class Cat {
▸// Field name
▸private String name; // Field color
▸private String color; //Field name
▸ // Default constructor
▸public Cat() {
▸this.name = "Unnamed";
▸this.color = "gray";
▸} // Constructor with parameters name,color
▸public Cat(String name, String color) {
▸this.name = name;
▸this.color = color;
▸}
118. Въведение в обектно-ориентираното
програмиране.Обекти.Продължение
// Getter of property name
▸public String getName()
▸{return this.name;
▸}
▸// Setter of property name
▸public void setName(String name)
▸{this.name = name;
▸}
▸// Getter of property color
▸public String getColor() {
▸return this.color;
▸}
▸// Setter of property color
▸public void setColor(String color) {
▸this.color = color;
▸} }
119. Въведение в обектно-ориентираното
програмиране.Обекти.Продължение
▸// Method sayMiau
▸public void sayMiau() {
▸System.out.printf("Cat %s said: Miauuuuuu!%n", name);
▸} }
Извикването на метода System.out.printf(…) на класа
java.lang.System е пример за употребата на системен
клас в Java. Системни наричаме класовете, дефинирани
в стандартните библиотеки за изграждане на
приложения с Java (или друг език за програмиране). Те
могат да се използват във всички наши приложения на
Java. Такива са например класовете String, System и
Math, които ще разгледаме малко по-късно.
▸Важно е да се знае, че имплементацията на класовете е
капсулирана (скрита).
120. Въведение в обектно-ориентираното
програмиране.Обекти.Продължение
▸При използването на методите на даден клас от
приложния програмист, тяхната имплементация е
независима от употребата им. При системни класове
имплементация обикновено дори не е достъпна за
програмиста, който ги използва. Това е така, защото за
програмиста е от значение какво правят методите, а не
как го правят. По този начин се създават нива на
абстракция, което е един от основните принципи в ООП.
121. Лекция 14. Обекти- част 2.Класове.
Създаване и освобождаване на обекти
Създаването на обекти от предварително дефинирани
класове по време на изпълнението на програмата става
чрез оператора new. Новосъздаденият обект обикновено
се присвоява на променлива от тип, съвпадащ с класа на
обекта. Ще отбележим, че при това присвояване
същинският обект не се копира. В променливата се
записва само референция към новосъздадения обект
(неговият адрес в паметта). Следва прост пример как става
това:
Cat someCat = new Cat();
На променливата someCat от тип Cat присвояваме
новосъздадена инстанция на класа Cat. Променливата
someCat стои в стека, а нейната стойност (инстанцията на
класа Cat) стои в динамичната памет:
122. Обекти- част
2.Класове.Продължение
На фигурата е показано разположението на
стековата и динамичната памет в оперативната
памет на компютъра.
Stack е статична памет,която съдържа адреси на обекти,
докато динамичната памет се означава като heap и
съдържа стойностите на самите обекти.
123. Обекти- част 2.Класове.
Създаване на обекти със задаване на параметри
Сега ще разгледаме леко променен вариант на горния
пример, при който задаваме параметри при създаването
на обекта:
Cat myBrownCat = new Cat("Johnny", "brown");
В този пример инициализиращите параметри са всъщност
параметри на конструктора на класа.
Понеже член-променливите name и color на класа Cat са
от референтен тип (от класа String), те се записват също в
динамичната памет (heap) и в самия обект стоят техните
референции (адреси).
125. Обекти- част 2.Класове.
Продължение
Освобождаване на обектите
Важна особеност на работата с обекти в Java e, че
обикновено няма нужда от ръчното им разрушаване и
освобождаване на паметта, заета от тях. Това е възможно
поради наличието на garbage collector във виртуалната
машина, който се грижи за това вместо нас. Обектите, към
които в даден момент вече няма референция в програмата
автоматично се унищожават и паметта, която заемат се
освобождава. По този начин се предотвратяват много
потенциални бъгове и проблеми. Ако искаме ръчно да
освободим даден обект, трябва да унищожим референция
към него, например така:
myBrownCat = null;
126. Лабораторно упражнение 6.
Java Lab 6
▸Пример 1.Дефиниране на класове, обекти и
конструктори на обекти в Java.
▸class Language { String name; Language()
▸{ System.out.println("Constructor method called."); }
▸Language(String t) { name = t; }
▸ public static void main(String[] args) { Language cpp = new
Language(); Language java = new
Language("Java"); cpp.setName("C++"); java.getName();
cpp.getName(); } void setName(String t) { name = t; } void
getName()
{ System.out.println("Language name: " + name);
} }