۱۹ مطلب با موضوع «Programming :: Java Technology :: Java SE» ثبت شده است

تقدم عملگرها

داخلی‌ترین پرانتز به همه اولویت داره

۲۸ شهریور ۹۳ ، ۱۷:۳۲
مهدی غفاری

عملگرهای انتسابی

=- : برای عمل تفریق                                                                 Num -= 2 ;  ==> Num = Num - 2 ;

=* : برای عمل ضرب                                                                Num *= 2 ;  ==> Num = Num * 2 ;

=/ :  برای عمل تقسیم                                                              Num /= 2 ;  ==> Num = Num / 2 ;

=% : برای عمل  باقیمانده                                                      Num %= 2 ;  ==> Num = Num % 2 ;

البته عملگرهای دیگری نیز برای عملیاتهای منطقی مانند =& وجود دارد که در اینجا به آنها اشاره نمیکنیم.

۲۸ شهریور ۹۳ ، ۱۷:۳۲
مهدی غفاری

عملگر های منطقی

این عملگرها در شرطها بسیار مورد استفاده قرار میگیرند. و عبارتند از:

 &&: AND

F        T        AND

F        T        T

F        F        F

همانطور که میبینید زمانی خروجی این عملگر صحیح است که حتماً دو ورودی آن صحیح باشد.

 

|| : OR

F        T        OR

T        T        T

F        T        F

همانطور که میبینید زمانی خروجی این عملگر ناصحیح است که فقط هر دو ورودی آن ناصحیح باشد.

 

! : NOT

F        T        

T        F        NOT

همانطور که میبینید این عملگر ورودی خود را از لحاظ منطقی برعکس میکند. یعنی صحیح را ناصحیح و ناصحیح را به صحیح تغییر میدهد.

۲۸ شهریور ۹۳ ، ۱۷:۳۱
مهدی غفاری

عملگر های رابطه ای

عملگر های رابطه ای

فراموش نکنید که دو عملوند این عملگرها باید از یک جنس یا یک نوع باشند.

این عملگرها عبارتند از:

== : برابری

> : کوچیکتر

< : بزرگتر

=! : مخالف

البته در جاوا عملگرهای دیگری مانند => (کوچکتر مساوی) و =< (بزرکتر مساوی) نیز وجود دارد.

 

۲۸ شهریور ۹۳ ، ۱۷:۳۱
مهدی غفاری

عملگرهای محاسباتی

:: عملگرهای محاسباتی ::

از این عملگرها برای انجام اعمال ریاضی بر روی مقادیر یا متغیرها استفاده میشود. این عملگرها عبارتند از :

  • * : برای عمل ضرب  مانند A * B
  • /  : برای عمل تقسیم  مانند A / B
  • + : برای عمل جمع  مانند A + B
  • % : برای بدست آوردن حاصل باقیمانده یک تقسیم استفاده میشود مانند 5 % 2  که حاصل آن برابر 1 میباشد.
  • - : برای عمل تفریق و یا نشان دادن منهای یکانی از این عملگر استفاده میشود مانند 2 - 3 و یا 2-
  • ++ : این عملگر یک واحد بر مقدار متغیر مورد نظر اضافه میکند مانند:
  •  A=2 ;
  • A++ ;
  • که بعد از اجرای این دستور مقدار A برابر 3 خواهد شد.
  • -- : این عملگر یک واحد از مقدار متغیر مورد نظر کم میکند مانند:

 A = 2 ;

A--;

که بعد از اجرای این دستور مقدارA  برابر 1 خواهد شد.

۲۸ شهریور ۹۳ ، ۱۷:۳۰
مهدی غفاری

متغیرها و نوعها

:: متغیرها و نوعها ::

int i = 12;

long i = 14l; // agar "L(l)" ro nazarid "int" dar naza migere

float i = 13.5f; // alamat float "f"

double d = 14.0d; // alamat double "d"

char i = ‘a’; // alamat char '…'

boolean i = true; // true,false

String i = “salam donya”; // data type nist. Alamat ham "…."

 

۲۸ شهریور ۹۳ ، ۱۷:۳۰
مهدی غفاری

نوشتن comment در برنامه

نوشتن comment در برنامه

در صورتی که شما در زبان برنامه نویسی جاوا از علامت // استفاده کنید جاوا آن خط از برنامه را نادیده میگیرد. از این روش برای نوشتن توضیحات در برنامه استفاده میشود. به طور مثال :

public static void main (String [] arg)

{

System.out.print("Hello"); //Tozihat

}

در صورتی که شما در زبان برنامه نویسی جاوا از علامت /** ... */ استفاده کنید جاوا آن قسمت از خطوط برنامه را نادیده میگیرد. از این روش برای نوشتن توضیحات چند خطی در برنامه استفاده میشود. به طور مثال :

 

public static void main (String [] arg)

{

System.out.print("Hello");

    /**

     * Tozihat

     */

}

۲۸ شهریور ۹۳ ، ۱۷:۲۹
مهدی غفاری

معماری جاوا

در زبان C سورس (SRC = Source) میاد تو کامپایلر و خروجی یک کد ماشین میده کد با OS درگیره و در نهایت سیستم‌عامل اجراش میکنه

جاوا اسکریپت‌ها: سورس میاد داخل یک مرورگر اینترنت توسط مفسر جاوا اسکریپت اجرا میشه مفسر با OS درتعامله و کد درنهایت اجرا میشه (حالت کد تغییر نمیکنه، چیزی به اسم کد ماشین وجود نداره)  تمام زبان‌های اسکریپتی غالباً free platform هستن چون کد ماشینی وجود نداره ولی چندتا ضعف دارن

شما نمیتونید مطمئن بشید که برنامه‌تون درسته چون تو زبان‌های برنامه‌نویسی کامپایلر جلوی شما رو میگیره (امنیت ساختاری ندارن)

اسکریپت‌ها RO بیس هستن چون همون سورس کد اجرا میشه ولی در C حتماً باید کد رو دوباره کامپایل کنی

اسکریپت‌ها معمولاً کندتر از کامپایلری‌ها هستن

 

جاوا: JDK همون کامپایلره جاواست و بعد کامپایل بایت کد میده. بایت کد میاد داخل JRE و توسط OS اجرا میشه

جاوا ترکیبی از مفسر و کامپایلر هست | JRE مفسر و JDK کامپایلر

 

برنامه‌هایی که با جاوا نوشته میشن فقط برای بار اول کنده پس واسه همین برای وب خوبه

بایت کد توسط JRE یک دفعه خونده میشه میره توی RAM دیگه جاوا refrence با لایه فیزیکی با لایه هارد نمیکنه ولی چون بار اول میخونه بایت کد رو و اون بایت کد رو نگه میداره و اسم اون بایت کد دیگه XCODE چون تو RAM هست واسه همین جاوا بار اول که میخواد بایت کد رو بیاره روی RAM کنده چون بایت کد روی هارده

 

حالا .net و cpp هربار که کدتون به کد ماشین وابسته باشه میره و کد ماشین رو از روی هارد لود میکنه C# و CPP کل کد ماشین رو CACHE نمیکنن تیکه تیکه میارن روی RAM و CACHE میکنن

 

بخش بعدی دیتابیس: ۲ رنک اول دیتابیس در جهان اوراکل و DB2

قطعاً لایسنس SQL Server قیمتش معادل ۱ میلیون تومنه ولی اوراکل عددی معادل ۱ میلیارد و ۲۰۰ تومان هزینه داره (برای پشتیبانی فقط) قیمت دلالی ۵۰ تا ۱۰۰ میلیون | واحد پژوهشاتی CIA و SUN هم واحد پژوهشاتی NASA | پدر جاوا: جیمز گاسرینگ (بنیان گذار زبان جاوا و با C نوشته شده)

 

هیچ انسانی وقتی به دنیا اومد برنامه‌نویس نبود به مرور کار میکنی دستت میاد

 

SQL Server با DB2 مقایسه میشه نه با Oracle

 

SQL Server دیتابیس نیست تو رنکینگ بین‌المللی به خاطر لایه زیریش میگن دیتابیس نیست همون flat file با SQL

 

۱ داره از JDK کم کم حذف میشه و همون ۷ است => ۱.۷ = ۷

۲۸ شهریور ۹۳ ، ۱۷:۲۶
مهدی غفاری

زبان برنامه‌نویسی جاوا

زبان برنامه‌نویسی جاوا چند سالی است که رتبه اول رو داره، زیان برنامه‌نویسی C بیشتر برای پیاده‌سازی برنامه‌های کاربردی سطح پایین استفاده میشه ولی جاوا برای پیاده‌سازی برنامه‌های کاربردی سطح بالا، زبان‌برنامه‌نویسی C# رو میشه به وانت تشبیه کرد و جاوا رو به خاور از این جهت که:

زمان تولید نرم‌افزار در C# نسبت به جاوا بسیار پایینه، ما زمانی از جاوا استفاده میکنیم که فاز توسعه نرم‌افزار برای ما خیلی اهمیت داشته باشه خب بهتره بدونید بسیاری از پروژه‌های نرم‌ازفاری در ایران اصلاً فاز توسعه ندارن

نکته: هر ابزاری جای خودش رو داره، مثلاً پراید رو کسی نمیبره تو فرمانیه گلگریش رو رنگ کنه، این که ما بیایم زبان‌ها رو باهم مقایسه کنیم اصلاً‌ در اندازه ما نیست و ضمناً هر زبان و تکنولوژی‌ای جای خودش رو داره

اوراکل سان ماکرو سیستم رو خرید و جاوا الان ماله اوراکله

جاوا یکسری خواص عالی داره

    1. Object Oriented
      1. (RO (Reflect Oriented

       بدون اینکه برنامه رو بیاریم پایین میتونیم برنامه رو توسعه بدیم

      ( پروژه بالاست و کاربران دارن باهاش تعامل میکنن همون بالا بهش میخوایم متد اضافه کنیم)

      اکثر زبان‌های اسکریپتی این خاصیت رو دارا هستن

      جاوا و جاوا اسکریپت هیچ ربطی باهم ندارن اسم اصلی‌اش لایو اسکریپت بوده ماله شرکت netscape

      جاوا اسکریپت یک زبان اسکریپت نویسی‌ است و جاوا یک زبان برنامه‌نویسی

      به زبانی که کامپایلر نداره و مفسری هستن زبان اسکریپتی میگن

      جاوا زبان کامپایلری است که خاصیت RO رو داره

        1. AO (Aspect Oriented)

        یه متد داریم n1 چاپ میکنه سلام یه متد داریم n2 چاپ میکنه خداحافظ یه متد دارم متد main چاپ میکنم n1 و n2 این خاصیت AO است خروجی امیرسام سلام خداحافظ چطوری؟ بدون اینکه به روال و کلاس دست بزنم تو یه فایلی میتونم بنویسم هرگاه متد n1 صدا شد قبلش چاپ کن امیرسام و هرگاه متد n2 صدا شد بعدش چاپ کن چطوری؟

        یعنی ساختار رو تغییر نمیدی از بیرون ساختار رو کنترل میکنی | این ساختار رو قبل از OO داشتیم (در C و CPP حذف کرد AO رو) یعنی دیدگاه AO رو داشتیم (کنترل برنامه در جایی دیگه) | کاربرد: یکسری از پروژه‌ها که مستند هم ندارن و زمان مهندسی معکوس هم نداریم که معکوس کنیم بدون دست زدن به ساختار برنامه میایم توسط یک فایل خارجی میایم و برنامه رو کنترل میکنیم چون مطمئن نیستم کجاها متد n1 صدا زده شده فقط میگیم هرگاه متد n1 چاپ شده باشه فلان کارو کن | زمانی بدرد میخوره که میخوایم بدون مهندسی معکوس پروژه رو توسعه بدیم

         

        خلاصه: جاوا ۳ تا خاصیت داره OO& RO & AO

         

        جاوا native قبول میکنه یعنی در جاوا میتونید از زبان C استفاده کنید یعنی یه متد رو با C بنویسید و یه متد رو با جاوا البته دچار یک نقص اساسی می‌شید (جاوا native سی قبول میکنه و C اسمبلی)

        خاصیت بعدی FP (Free Platform) روی همه‌ی پلتفرم‌های معروف دنیا قابلیت اجرا داره (بایت کد | جاوا کد ماشین بیرون نمیده)

        جاوا امنه | جاوا امن نیست | هیچ زبان برنامه‌نویسی امن نیست | امنیت به زبان برنامه‌نویسی مربوط نمیشه | شعور امنیت میخواد

        ( امنیت زبانی راجع به امنیت ساختاری صحبت میکنه )

         

        انواع نرم‌افزار

            • سیستمی (سیستم‌عامل‌ها)
            • کاربردی (دسته‌بندی‌های مختلف میشن) (نسبت به نوع سکوی اجرایی)
        1.  (دسکتاپ اپلیکیشن‌ها)
        2. (ماکرو اپلیکیشن‌ها)
        3. (وب اپلیکیشن‌ها)
        4. (وپ اپلیکیشن‌ها)
        5. (کارت اپلیکیشن‌ها)
        6. (آندروید اپلیکیشن‌ها)
        • دسکتاپ اپلیکیشن‌ها روی کامپیوتر مجری سوار میشن (یا نصب یا کپی) و پردازش روی کامپیوتر مجریه
        • ماکرو اپلیکیشن‌ها مثل برنامه‌هایی که رو موبایل سوار میشه یا ماشین لباسشویی یا تلوزیون‌های قدیمی یا مثل برنامه ماکروویو یا برنامه موشک
        • یه تفاوت عمده با دسکتاپ اپلیکیشن دارن ماکرو اپلیکیشن‌ها بیشتر روی یک ماکروکنترلر نصب میشن
        • وب اپلیکیشن مثل سایت گوگل (تفاوت وبسایت با وب‌سرور اپلیکیشن: وب سرور اپلیکیشن بهتون سرویس میده ولی سایت فقط یه صفحه بهتون نمایش میده(محتوای خام)) وب بیس اپلیکیشن: نرم‌افزار کاربردی تحت وبی که به کاربر سرویس میده حالا یا سرور ساید یا کلاینت‌ ساید | مجموعه خدمت‌هایی که در یک راستا دارن به شما خدمات ارائه میکنن
        • وپ اپلیکیشن (گوشی‌های خیلی قدیمی توانمندی اتصال به اینترنت رو نداشتن ولی توانایی اتصال به وپ رو داشتن (تو ایران فعال نشد) برنامه‌ای که تو شبکه وپ است رو میگن وپ اپلیکیشن | فرقش با وب اپلیکیشن: وب html است برای بی‌سیم و پیجر قابل فهم نیست زبان وپ wml است که خیلی سبکتر از html است)
        • CGI: زبان برنامه‌نویسی نیست یک تکنولوژی برای زبان برنامه‌نویسی C
        • کارت اپلیکیشن‌ها، ما ۲ نوع کارت داریم یک کارت بی‌شعور (مغناطیسی‌ها دارای یک رشته است و فقط دارای یک اطلاعات خاص هست (مثل شماره حساب) اینو ATM میخونه و تمام اطلاعات شما درون سرورهای بانکه)

        و کارت هوشمند (دارای چیپ و میتونه تو اون قسمت روش یک نرم‌افزار سوار بشه یعنی خود کارت نرم‌افزاره و اطلاعات مختلفی میشه رو سوار کرد) کارت سوخت (چرا هوشمند شد؟ بجز بالا رفتن هزینه، چون کاربردی نداره(مگر کیف پول الکترونیکی))، کارت پایان خدمت، کارت ملی هوشمند (نرم‌افزار رای‌گیری برای مجلس و ریاست جمهوری، پیگیری بیمارستان)

            • آندروید اپلیکیشن‌ها: نرم‌افزاری برای سیستم‌عامل آندروید، نرم‌افزارهایی که مخصوص سیستم‌عامل آندروید نوشته میشه
              • فرقشون با نرم‌افزارهای ماکرو و کارت: یا شبیه به دسکتاپ اپلیکیشن هستن یا شبیه به کارت اپلیکیشن یا شبیه ماکرو اپلیکیشن، تفاوت اصلی اینها باهم یک چیزه، دسکتاپ اپلیکیشن تفاوتی با آندروید اپلیکیشن نداره، گوشی‌های آندروید دارای یکسری سنسور هستن اگه بخواین دسکتاپ با این سنسورها کار کنی خیلی کار سخت میشه اومدن یه ویرایشی تولید کردن که راحتتر بتونید کار کنید
        1. J2SE
        2. J2ME
        3. J2EE
        4. J2EE
        5. Java Card (Smart Card)
        6. Android SDK

        (جاوا ابزار خوبی برای دسکتاپ اپلیکیشن نیست)

         

          • اسم کلاس دلالت بر اسم فایل داره
          • اسم پکیج دلالت بر اسم دایرکتوری داره
          • Javac name.java
          • Java package.nameclass

          • اسم کلاس باید با اسم فایل و ... کلاً‌باید یکی باشه چون جاوا کلاً حساسه case senstivy
          • تازمانی که خطای برنامه رفع نشه کامپایل انجام نمیشه و فایل class اجرا نمیشه
          • Openjdk واسه زمانیه که میخوای از jdk‌اون سورس استفاده کنی (بیشتر تو لینوکس)
          • IDE مورد استفاده Intellij IDEA
          • Netbeans استفاده نشه شما جاوا کارید نه C#
        ۲۸ شهریور ۹۳ ، ۱۷:۲۵
        مهدی غفاری