آشنایی با جاوا Introduction to Java

Slides:



Advertisements
Similar presentations
1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language.
Advertisements

L1-2:CSC ©Dr. Basheer M. Nasef Lecture #1 By Dr. Basheer M. Nasef.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 1 Introduction to.
Introduction to Java ISYS 350. A Brief History Sun Microsystems released this language in 1996 – Versions: 1.0 – 1.6 Java Development Kit, JDK – Standard.
For more Lectures and Notes Visit
Introduction to Java.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
LESSON 1 INTRODUCTION Compiled By: Edwin O. Okech [Tutor, Amoud University] JAVA PROGRAMMING.
Sadegh Aliakbary Sharif University of Technology Fall 2011.
Getting Started What is Java? A programming language –Fully buzzword-compliant: A simple, object oriented, distributed, interpreted, robust, secure,
Introduction to Java Presented by Daniel Rosenthal Friday, November 16 th, 2007.
Advanced OOP MCS-3 OOP BSCS-3 Lecture # 1
Introduction to Java Programming. Contents 1. Java, etc. 2. Java's Advantages 3. Java's Disadvantages 4. Types of Java Code 5. Java Bytecodes 6. Steps.
BASIC JAVA PROGRAMMING TUTORIAL. History  James Gosling and Sun Microsystems  Oak  Java, May 20, 1995, Sun World  Hot Java –The first Java-enabled.
Lecture1: Introduction Bohyung Han CSE, POSTECH CSED233: Data Structures (2014F)
Sadegh Aliakbary Sharif University of Technology Spring 2011.
Introduction to Java Tavaris J. Thomas Ph.D. BNAI ZION SCIENTISTS DIVISION JOB ORIENTATION & TERMINOLOGY CLASSES Fall 2012.
Sadegh Aliakbary. Copyright ©2014 JAVACUP.IRJAVACUP.IR All rights reserved. Redistribution of JAVACUP contents is not prohibited if JAVACUP.
Sadegh Aliakbary Sharif University of Technology Fall 2010.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Programming Languages Machine.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Chapter 1 Introduction to Computers,
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Chapter 1 Introduction to Programs,
1.  At the end of this slide, student can:  Explore tools, features, properties and interface of the Textpad.  Creating a new project.  Open and run.
Sadegh Aliakbary Sharif University of Technology Fall 2012.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
Введение в JAVA. Java Java – язык программирования: объектно-ориентированный кроссплатформенный строго-типизированный.
J2SE
Java ACO101: Introduction to Computer Science. The History of Java Started out as a research project at Sun Microsystems in 1991 Code named “Green” Based.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 1 Introduction to.
Java Programming Presented by Daniel Rosenthal Friday, November 30 th, 2007.
Introduction to Java Programming. Introduction Course Objectives Organization of the Book.
National Taiwan University Department of Computer Science and Information Engineering National Taiwan University Department of Computer Science and Information.
Introduction to Java The Java Platform, The Java Language, JDK, Eclipse Svetlin Nakov Technical Trainer Software University
JAVA Programming “When you are willing to make sacrifices for a great cause, you will never be alone.” Instructor: รัฐภูมิ เถื่อนถนอม
The Java Platform, The Java Language, JDK, IntelliJ
Application Architecture Using Java Hong Li. Introduction Developed by a team led by James Gosling at Sun Microsystem. Originally called Oak, designed.
Introduction Mehdi Einali Advanced Programming in Java 1.
CSc 201 Introduction to Java George Wells Room 007, Hamilton Building
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 1 Introduction to.
introductory lecture on java programming
CPSC Developed by a team lead by James Gosling from Sun Microsystems – 1995 WORA (write once, run anywhere) – it is cross platform – no recompiling.
INTRODUCTION TO JAVA AND ANDROID. Slide 2 Our Ecosystem Java Eclipse Android SDK.
1 Introduction to Java. 2 * 10% Assignments/ class participation * 10% Pop Quizzes * 05% Attendance * 25% Mid Term * 50% Final Term.
การเขียนโปรแกรมภาษา จาวา Java Programming อ. ยืนยง กันทะเนตร คณะเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยพะเยา Chapter 1.
ITP 109 Week 2 Trina Gregory Introduction to Java.
Liang, Introduction to Java Programming, Ninth Edition, (c) 2013 Pearson Education, Inc. All rights reserved. 1 Chapter 1 Introduction.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 1 Introduction to Computers,
Introduction to JAVA Programming
SESSION 1 Introduction in Java. Objectives Introduce classes and objects Starting with Java Introduce JDK Writing a simple Java program Using comments.
CMSC 202 Computer Science II for Majors Fall 2010 Introduction Version 9/101.
Fundamental of Java Programming (630002) Unit – 1 Introduction to Java.
Introduction CMSC 202 Fall Instructors Mr. Ryan Bergeron – Lecture Section 01 Tues/Thu 1:00 – 2:15 am, Sondheim 111 – Lecture Section 04 Tues/Thu.
CS-140 Dick Steflik Lecture 3. Java C++ Interpreted optimized for the internet Runs on virtual ized machine Derived from C++ Good object model Widely.
Introduction of Java Fikri Fadlillah, S.T.
Object Oriented Programming in
Lecture 1b- Introduction
GC101 Introduction to computer and program
Chapter 1 Introduction to Computers, Programs, and Java
JAVA TUTORIALS.
PROGRAMMING IN JAVA. INTRODUCTION TO JAVA  Java is a general purpose computer programming language that is concurrent, class-based, object- oriented.
Chapter 1 Introduction to Computers, Programs, and Java
Getting Started ARCS Lab..
Introduction to Java.
Advanced Programming Fall 2017.
Chapter 1 Introduction to Computers, Programs, and Java
(Computer fundamental Lab)
Java History, Editions, Version Features
By Rajanikanth B Overview Of Java By Rajanikanth B
Outcome of the Lecture Upon completion of this lecture you will be able to understand Fundamentals and Characteristics of Java Language Basic Terminology.
Presentation transcript:

آشنایی با جاوا Introduction to Java انجمن جاواکاپ تقدیم می‌کند دوره برنامه‌نويسی جاوا آشنایی با جاوا Introduction to Java صادق علی‌اکبری

حقوق مؤلف کلیه حقوق این اثر متعلق به انجمن جاواکاپ است بازنشر یا تدریس آن‌چه توسط جاواکاپ و به صورت عمومی منتشر شده است، با ذکر مرجع (جاواکاپ) بلامانع است اگر این اثر توسط جاواکاپ به صورت عمومی منتشر نشده است و به صورت اختصاصی در اختیار شما یا شرکت شما قرار گرفته، بازنشر آن مجاز نیست تغییر محتوای این اثر بدون اطلاع و تأیید انجمن جاواکاپ مجاز نیست

سرفصل مطالب آشنایی با جاوا تاريخچه جاوا ويژگی‌های جاوا چرا جاوا مهم است؟ نصب و راه‌اندازی نوشتن و اجرای اولين برنامه به زبان جاوا

درباره جاوا

درباره جاوا جاوا: يک زبان و تکنولوژی برنامه‌سازی يکی از مهمترين و پرکاربردترين زبان‌های برنامه‌نويسی دنيا و زبانی موردتوجه و پرکاربرد در ايران رايگان و متن‌باز برنامه‌های جاوا: قابل اجرا بر روی انواع سیستم‌ها مستقل از سخت‌افزار، سیستم‌عامل و ... زبانی ساده و شیءگرا

تاريخچه زبان جاوا طراحی اوليه ساختار و گرامر زبان جاوا: شبيه C++ در سال 1991 توسط James Gosling در شرکت Sun Microsystems ساختار و گرامر زبان جاوا: شبيه C++ ابتدا اين زبان را Oak (بلوط) ناميد به افتخار درختی که از پنجره اتاقش می‌ديد! کمی بعد، اين زبان به Java تغيير نام داد چون زبان ديگری با نام Oak قبلاً طراحی شده بود! جاوا، به معنی قهوه، و يا يک نوع سبک قهوه، و يا اصلاً قهوه ای که در اندونزی (جایی که ما جزاير جاوه میخوانيم) توليد شده. نگاه سهل و ساده، از ابتدا در طراحان جاوا وجود داشت.

تاريخچه زبان جاوا (2) شرکت «سان» اولين نسخه زبان جاوا را در 1995 منتشر کرد Sun Microsystems در سال 2010، شرکت اوراکل شرکت سان را خريد در حال حاضر، اوراکل مالک معنوی جاوا است

انگيزه طراحی زبان جاوا نياز به زبانی مستقل از سکو (Platform Independent) مستقل از محيط، سخت‌افزار و سيستم‌عامل تا در وسايل مختلف الکتريکی و الکترونیکی قابل جاسازی باشد یخچال، جاروبرقی، و ... ايده و جهت‌گيری آن سال‌ها: وسايل هوشمند

انگيزه طراحی زبان جاوا (2) در همان سال‌ها، اينترنت و وب در حال رشد و همه‌گيری بود جاوا می‌توانست برای برنامه‌نويسی اينترنت استفاده شود اينترنت: مجموعه‌ای از کامپيوترهای ناهمگون تفاوت در سخت‌افزار، سیستم‌عامل و ... برنامه‌های جاوا می‌توانستند در انواع سیستم‌ها اجرا شوند Platform Independent به اين ترتيب Java Applet ها ايجاد شدند و اهمیت يافتند

امروز و جاوا جاوا در سَمت سرور (server side) جاوا در تلفن‌های همراه Java Enterprise Edition جاوا در تلفن‌های همراه سیستم‌عامل اندروید (Android) جاوا در دستگاههای الکترونیکی Java Micro Edition جاوا در کارت‌های هوشمند Java Card تخمين زده شده : حدود 10 ميليون Java Developer در دنيا فعال هستند

تکنولوژی جاوا جاوا فراتر از يک زبان: يک اکوسيستم و يک تکنولوژی تکنولوژی جاوا: زبان + محیط توسعه زبان برنامه‌نويسی: برای توليد انواع برنامه‌ها، در انواع کاربردها محیط توسعه کامپايلر (javac) اجراگر (java) مولد مستندات (javadoc) و …

جاوا و زبان‌های سطح بالا

زبان‌های سطح بالا

ماشین مجازی جاوا (Java Virtual Machine) در .Net هم .Net Framework داريم

مراحل کامپايل يک برنامه جاوا مقايسه با يک برنامه به زبان C++ مقايسه با .NET Framework

مراحل اجرای يک برنامه جاوا سخت‌افزار سیستم عامل برنامه کامپايل شده C++ (مثلاً فايل exe در ويندوز) برنامه کامپايل شده پاسکال (مثلاً فايل exe در ويندوز) Java Virtual Machine (JVM) (مثلاً java.exe در ويندوز( برنامه کامپايل شده جاوا (bytecode .class) .Net Framework برنامه کامپايل شده C# برنامه کامپايل شده VB.NET

اصطلاحات يک برنامه جاوا در محيطهای مختلف قابل اجراست اصطلاحاتی (تقريباً) هم‌معنی: Platform independence Cross-Platform Portable Architecture Neutral Write Once Run Anywhere يک برنامه جاوا در محيطهای مختلف قابل اجراست بدون تغيير در رفتار برنامه

برخی ويژگی‌های زبان جاوا ساده واقعاً هنوز هم جاوا زبانی ساده محسوب می‌شود؟! شیءگرا امکانات برنامه‌نویسی تابعی (Functional Programming) از جاوا 8 مستقل از سکو (Platform Independent) امن (secure) اجرا به صورت تفسیری (interpreted) چند بندی (multithreaded)

چرا جاوا مهم است؟

چرا فناوری جاوا مهم است؟ يادگيری جاوا ساده است زبانی شیءگرا است جاوا API و کلاس‌های کمکی بسيار غنی‌ای دارد تعبيه شده در زبان جاوا برای کار با ساختمان‌داده‌ها، فايل‌ها، xml، شبکه، پايگاه داده و غيره ابزارهای توسعه بسيار قوی جانبی محيطهای توسعه: Eclipse، NetBeans، IDEA ساير ابزارها: Ant, Maven و غیره http://javarevisited.blogspot.de/2013/04/10-reasons-to-learn-java-programming.html مثلاً پیچیدگی‌ها، جزئيات و ساختارهای جاوا کمتر از C++ است البته به مرور زمان، ساختارهای زبان جاوا کامل‌تر (و تا حدودی پیچیده‌تر) شده است.

چرا جاوا مهم است؟ (2) مجموعه بسيار غنی از کتابخانه‌های متن‌باز (Open Source Libraries) فراهم شده در Apache، Google، SourceForge و غيره انجمنی بسيار قوی (Java Community) نکته‌ای بسيار مهم و از نقاط قوت جاوا مثلاً يک سؤال ساده جاوا را در سايت stackoverflow جستجو کنيد! جاوا رايگان است جاوا متن‌باز است مستندات خوب (Javadoc) توليد کنندگان و برنامه نويسان جاوا: حدود ده ميليون نفر

چرا جاوا مهم است؟ (3) جاوا مستقل از سکو است جاوا بالغ است و در فراز و فرودهای بیش از دو دهه، به خوبی دوام آورده است سهم مهمی از بازار تولید نرم‌افزار در اختيار جاواست برنامه‌های سَمت سِرور، برنامه‌های موبايل و غیره جاوا، هم در محيط‌های دانشگاهی و هم در پروژه‌های صنعتی محبوب است JVM سکویی برای زبان‌های مهم غیر از جاوا مانند Scala و Groovy محبوبیت در دانشگاه و صنعت مهم است. مثلاً Lisp در دانشگاه محبوب است و در صنعت نه. شايد PhP و جاواسکريپت برعکس باشند. يعنی پروژه‌های دانشگاهی و متون آموزشی دانشگاهی کمتری دارند. و اين مهم است.

ویراست‌های فناوری جاوا زبان مورد استفاده در Java EE زبان جاوا Java Standard Edition (Java SE) Java Enterprise Edition (Java EE) Java Micro Edition (Java ME) Java Card موضوع این دوره

داستان زندگی جاوا زندگی جاوا، فراز و نشیب‌های فراوانی داشته... به خاطر وسايل هوشمند الکترونیکی طراحی شد با «اپلت» معروف شد به خاطر JavaME فراگير شد اما امروز Applet تقريباً بی‌اهميت شده و سهم JavaME در تلفن‌های همراه کم شده‌ اما جاوا همواره در server side مهم بوده بازار موبايل را دوباره با Android به دست آورده بازار برنامه‌های موبايل: andreoid, IOS و .NET

Generics, Annotations, … تاریخچه نسخه‌های جاوا × نسخه‌های جاوا تا به امروز JDK 1.0 (January 21, 1996) JDK 1.1 (February 19, 1997) J2SE 1.2 (December 8, 1998) J2SE 1.3 (May 8, 2000) J2SE 1.4 (February 6, 2002) Java SE 5.0 (September 30, 2004) Java SE 6 (December 11, 2006) Java SE 7 (July 28, 2011) Java SE 8 (March 18, 2014) نحوه نامگذاری نسخه‌ها J2SE J2ME J2EE JDK Alpha and Beta (1995) Generics, Annotations, … بیشترين و گسترده‌ترين تغییرات در زبان و JVM: نسخه 8 تغییرات عمده اخیر در زبان جاوا Lambda, Stream, …

محبوبیت زبان‌های برنامه‌نويسی آوریل 2015 TIOBE Index Java C C++ Objective-C C# langpop.com PHP Javascript codeeval Python Ruby IEEE Spectrum آمار محبوبیت «بهترين زبان» را نشان نمی‌دهد. همه زبان‌هایی که در این رتبه‌بندی‌ها در 10 – 20 رتبه اول هستند، مهم هستند. هر کدام کاربرد و بازار خاص خود را دارند. مأموریت این زبان‌ها هم متفاوت است نحوه محاسبه محبوبیت زبانها: صفحات اينترنتی شامل کد، آمار فروش کتابها، آمار موقعيتهای شغلی آمارها مربوط به آوریل 2015 است http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html http://langpop.com/ http://blog.codeeval.com/codeevalblog/2014#.U-Ye7vmSyNo http://spectrum.ieee.org/static/interactive-the-top-programming-languages

بهترين زبان برنامه‌نويسی آيا جاوا بهترين زبان برنامه‌نويسی دنياست؟! خير هيچ زبانی بهترين نيست هر زبان مزايا و معايبی دارد در برخی کاربردها خوب و در برخی کاربردها ناکارامد است سهم جاوا از بازار desktop application ها ناچيز است

اولين برنامه به زبان جاوا

مراحل عملی نکته: تفاوت JDK و JRE نحوه دريافت JDK سايت اوراکل ساير منابع بسته‌های نرم‌افزاری دقت کنيد: نسخه مناسب را برای سیستم‌عامل مورداستفاده دريافت کنید مثلاً JavaSE تحت ویندوز 32بیتی (Windows x86) برای ویندوز 32 بیتی

نمونه‌های مختلف JDK برای سیستم‌های متفاوت

نصب JDK نصب بسته JDK (exe یا rpm یا ...) و یا نصب دستی کپی JDK متغيرهای محیطی (environment variables) path محل کپی فايلها توصيه: آدرس مقصد ساده و بدون فاصله (space) باشد مثال در ویندوز: c:/java/jdk به جای c:/program files

اجرای اوليه عدم استفاده از محیط‌های توسعه (IDE) مثلاً در این قدم، از Eclipse استفاده نمی‌کنیم مثلاً استفاده از notepad و command line هدف: مشاهده دقيق‌تر مراحل کامپايل و اجرای برنامه

اولين برنامه يک فايل متنی با نام First.java بسازيد مثلاً با کمک Notepad در ويندوز به نحوه نامگذاری فايل دقت کنيد برنامه‌های جاوا در فايل‌هایی با پسوند .java ذخيره می‌شوند اين خطوط را در فايل First.java بنویسید: public class First { public static void main(String[] args) { System.out.println("Salam!!!"); }

گام‌های لازم برای اجرای یک برنامه جاوا 1- ابتدا باید برنامه کامپایل شود: javac First.java اگر برنامه First.java صحیح باشد: به درستی به bytecode ترجمه (کامپایل) می‌شود در نتیجه، فایل First.class ساخته می‌شود 2- اجرای برنامه: java First

مرور اولين مثال

درباره اولين مثال يک برنامه ساده يک فايل است با پسوند .java اين فايل شامل يک کلاس (class) است نام کلاس بايد دقيقاً با نام فايل منطبق باشد بزرگ و کوچک بودن حروف در جاوا مهم است case sensitive names کلاس موردنظر شامل يک متد main است وقتی برنامه را اجرا می‌کنيم، متد main اجرا می‌‎شود

تمرين عملی

مثالهای عملی مرور عملی مراحل اجرا و کامپايل برنامه استفاده از انواع داده عدد صحيح، عدد اعشاری، رشته استفاده از underline در اعداد public class First { public static void main(String[] args) { System.out.println(3.14); System.out.println(3.14 * 2 + 12); System.out.println("Hello"); System.out.println(3_000_000); }

کوییز

کوييز آيا اين برنامه‌ها مستقل از سکو هستند؟ (آنهایی که هستند را مشخص کنید) Microsoft Word JVM Firefox First.java First.class فقط First.java و First.class مستقل از سکو است.

کوییز 2 برنامه زير چه اشکالاتی دارد؟ (به اسم فایل هم دقت کنید) اسم فایل و اسم کلاس یکسان نیست (اشکال نحوی) متد main با حروف کوچک تعريف شود (وگرنه برنامه اجرا نمی‌شود) بهتر است اسم کلاس با حرف بزرگ آغاز شود (Introduction)

منابع و مراجع

مراجع پیشنهادی کتاب Java How to Program نوشته: Deitel & Deitel ترجمه: موجود در بازار توصيه: مطالعه به زبان اصلی اشکال ساير کتاب‌ها (مانند Effective Java يا Thinking in Java) نسخه جدید ندارند در حال حاضر (مردادماه 1393( اين نسخه ها موجود است: نسخه 4 از کتاب بروس ايکل و نسخه 10 از کتاب دایتل the father and son team of Harvey and Paul Deitel. سایر کتاب‌ها کتاب Thinking in Java نوشته Bruce Eckel اشکال: نسخه جدید کتاب مدتهاست منتشر نشده نثر بسيار خوب و عميق. کتاب Effective Java (نسخه جدید ندارد) کتاب‌های اوراکل OCPJP: Oracle Certified Associate, Java SE Programmer OCAJP: Oracle Certified Professional, Java SE Programmer

جمع‌بندی

جمع‌بندی جاوا، زبانی مهم، پرکاربرد و محبوب است تاريخچه و ويژگی‌های جاوا جاوا فراتر از يک زبان برنامه‌نويسی است يک تکنولوژی و بستر برنامه‌سازی

مطالعه فصل اول از کتاب Java How to Program را مطالعه کنید

جستجو کنيد و بخوانيد درباره جاوا جستجو کنید به خصوص از گوگل و ويکی‌پديا بهره بگيريد زبان جاوا چه مزايایی دارد؟ چه انتقاداتی به جاوا وارد می‌شود؟ http://en.wikipedia.org/wiki/Criticism_of_Java آيا جاوا کند است؟ Hotspot http://en.wikipedia.org/wiki/Java_(programming_language)

جستجو کنيد و بخوانيد (2) کلمات و عبارات پیشنهادی برای جستجو: Java JVM Bytecode Java Mobile Oracle Java and C++ Java and C# Java and Javascript

جستجو کنيد و بخوانيد (3) Java Community Process (JCP) JSR http://en.wikipedia.org/wiki/Java_Community_Process https://www.jcp.org/en/home/index JSR Java Enterprise Edition Java Applets Android Programming Java IDE Popularities Java Versions History JDK, JRE, and JVM

تمرين جاوا (JDK) را دريافت و نصب کنید برنامه‌ای بنويسيد که نام شما را در خروجی چاپ کند برنامه را کامپايل و اجرا کنید

پايان