با نیمنگاهی به مباحث پایه در جاوا، از امروز تا شروع ششمین دوره آزمونهای جاواکاپ، هر هفته یک #دستگرمی داریم.
با کمک این دستگرمیها، میتونی تا قبل از آزمون، نقاط ضعفت رو شناسایی و در زمان باقیمونده خودت رو تقویت کنی.
@JavaCupIR
با کمک این دستگرمیها، میتونی تا قبل از آزمون، نقاط ضعفت رو شناسایی و در زمان باقیمونده خودت رو تقویت کنی.
@JavaCupIR
در نظرسنجی زیر شرکت کنید.
پنجشنبه پاسخ صحیح را اعلام کرده و توضیح میدهیم.
#دستگرمی_سهشنبه
@JavaCupIR
پنجشنبه پاسخ صحیح را اعلام کرده و توضیح میدهیم.
#دستگرمی_سهشنبه
@JavaCupIR
به نظر شما، خروجی برنامه برنامه فوق کدام گزینه است؟
Final Results
18%
۰۰
15%
۱۰
10%
۱۱
24%
۱۲
8%
۲۱
25%
۲۲
انجمن جاواکاپ
در نظرسنجی زیر شرکت کنید. پنجشنبه پاسخ صحیح را اعلام کرده و توضیح میدهیم. #دستگرمی_سهشنبه @JavaCupIR
پاسخ صحیح: ۲۲
برای رسیدن به خروجی، متد method را خط به خط بررسی میکنیم:
خط 1: متغیرهای t1 و t2 هنوز new نشدهاند.
خط 2: متغیر i برابر با 66 است بنابراین l1 برابر با 66 میشود. در مورد ++l2=l1، باید توجه داشت که چون ++بعد از اسم متغیر آمده، ابتدا l2 برابر با l1 یعنی 66 میشود و سپس مقدار l1 یک واحد افزایش یافته و برابر با 67 میشود. بنابراین در انتهای اجرای این خط، داریم: l1=67 و l2=66
خط 3: یک شی جدید از کلاس Program ایجاد میشود و در نتیجه آن بلوک مقداردهی اولیه هم اجرا شده و مقدار متغیر استاتیک i برابر با 65 میشود.
خط 4: خواهیم داشت: 67-65=2. پس عدد 2 در خروجی چاپ میشود.
خط 5: یک شی جدید از کلاس Program ایجاد میشود و در نتیجه آن، بلوک مقداردهی اولیه هم اجرا شده و مقدار متغیر استاتیک i برابر با 64 میشود.
خط 6: خواهیم داشت: 66-64=2. پس عدد 2 در خروجی چاپ میشود.
چند نکته:
📌 با load کلاس در حافظه، متغیرهای استاتیک مقداردهی میشوند.
📌 هرگاه یک شی جدید ایجاد شود، بلوک مقداردهی اولیه اجرا میشود. پیشنهاد میشه اسلایدهای جلسه ۶ آموزش جاوا از صفحه ۲۲ تا ۲۷ را مرور کنید.
http://javacup.ir/wp-content/uploads/2015/08/06_ObjectsLifeCycle.pdf
#دستگرمی_سهشنبه
@JavaCupIR
برای رسیدن به خروجی، متد method را خط به خط بررسی میکنیم:
خط 1: متغیرهای t1 و t2 هنوز new نشدهاند.
خط 2: متغیر i برابر با 66 است بنابراین l1 برابر با 66 میشود. در مورد ++l2=l1، باید توجه داشت که چون ++بعد از اسم متغیر آمده، ابتدا l2 برابر با l1 یعنی 66 میشود و سپس مقدار l1 یک واحد افزایش یافته و برابر با 67 میشود. بنابراین در انتهای اجرای این خط، داریم: l1=67 و l2=66
خط 3: یک شی جدید از کلاس Program ایجاد میشود و در نتیجه آن بلوک مقداردهی اولیه هم اجرا شده و مقدار متغیر استاتیک i برابر با 65 میشود.
خط 4: خواهیم داشت: 67-65=2. پس عدد 2 در خروجی چاپ میشود.
خط 5: یک شی جدید از کلاس Program ایجاد میشود و در نتیجه آن، بلوک مقداردهی اولیه هم اجرا شده و مقدار متغیر استاتیک i برابر با 64 میشود.
خط 6: خواهیم داشت: 66-64=2. پس عدد 2 در خروجی چاپ میشود.
چند نکته:
📌 با load کلاس در حافظه، متغیرهای استاتیک مقداردهی میشوند.
📌 هرگاه یک شی جدید ایجاد شود، بلوک مقداردهی اولیه اجرا میشود. پیشنهاد میشه اسلایدهای جلسه ۶ آموزش جاوا از صفحه ۲۲ تا ۲۷ را مرور کنید.
http://javacup.ir/wp-content/uploads/2015/08/06_ObjectsLifeCycle.pdf
#دستگرمی_سهشنبه
@JavaCupIR
انجمن جاواکاپ
Photo
اسلایدها و فایل صوتی کارگاه آموزشی 《عملیات معماری نرمافزار》 منتشر شد.
http://asta.ir/software-architecture
@JavaCupIR
http://asta.ir/software-architecture
@JavaCupIR
This media is not supported in your browser
VIEW IN TELEGRAM
وقتی رو کد دوستت کار میکنی 😡
@JavaCupIR
@JavaCupIR
در نظرسنجی زیر شرکت کنید.
پنجشنبه پاسخ صحیح را اعلام کرده و توضیح میدهیم.
#دستگرمی_سهشنبه
@JavaCupIR
پنجشنبه پاسخ صحیح را اعلام کرده و توضیح میدهیم.
#دستگرمی_سهشنبه
@JavaCupIR
به نظر شما، خروجی برنامه فوق کدام گزینه است؟
Final Results
6%
1
4%
2
7%
3
46%
10
6%
11
24%
12
1%
19
4%
20
#مقاله
انواع روشهای مرتبسازی مجموعهها با استفاده از عبارات لامبدا
http://bit.ly/sorting-lambda
@JavaCupIR
انواع روشهای مرتبسازی مجموعهها با استفاده از عبارات لامبدا
http://bit.ly/sorting-lambda
@JavaCupIR
انجمن جاواکاپ
به نظر شما، خروجی برنامه فوق کدام گزینه است؟
پاسخ صحیح: 10
برای رسیدن به پاسخ صحیح، متد main را خط به خط بررسی میکنیم:
خط ۷: سه شی مختلف ایجاد شده و در آرایهای از نوع Object ریخته میشوند. میدانید که در جاوا، کلاس Object پدر تمام کلاسها است.
خط ۸: متغیر result با مقدار اولیه 0 ایجاد شده.
خط ۹: به ازای هر یک از اشیای موجود در آرایه objs، بدنه این حلقه اجرا میشود و مهم است بفهمیم که در هر بار اجرا، مقدار متغیر result چه تغییری میکند.
• اجرای اول:
obj = “”
در خط 11، رشته خالی نمونهای از B نبوده و قابل Cast شدن به A هم نیست. بنابراین، ClassCastException پرتاب شده و خط 14 اجرا میشود. به این ترتیب، result = 1 خواهد بود.
• اجرای دوم:
obj = new D()
در خط 11، obj نمونهای از D است و در نتیجه از نوع B نیز هست؛ بنابراین Cast میشود به B.
ولی بههرحال obj از نوع D است و در خط 12، متد f از کلاس D اجرا میشود. در نتیجه مقدار result برابر با 11 خواهد شد.
• اجرای سوم:
obj = null
در اثر اجرای خط 11، مقدار test هم برابر null میشود. پس در خط 12 استثنای NullPointerException پرتاب میشود و مقدار result یک واحد کم شده برابر با 10 میشود.
خط 19: مقدار 10 در خروجی چاپ میشود.
#دستگرمی_سهشنبه
@JavaCupIR
برای رسیدن به پاسخ صحیح، متد main را خط به خط بررسی میکنیم:
خط ۷: سه شی مختلف ایجاد شده و در آرایهای از نوع Object ریخته میشوند. میدانید که در جاوا، کلاس Object پدر تمام کلاسها است.
خط ۸: متغیر result با مقدار اولیه 0 ایجاد شده.
خط ۹: به ازای هر یک از اشیای موجود در آرایه objs، بدنه این حلقه اجرا میشود و مهم است بفهمیم که در هر بار اجرا، مقدار متغیر result چه تغییری میکند.
• اجرای اول:
obj = “”
در خط 11، رشته خالی نمونهای از B نبوده و قابل Cast شدن به A هم نیست. بنابراین، ClassCastException پرتاب شده و خط 14 اجرا میشود. به این ترتیب، result = 1 خواهد بود.
• اجرای دوم:
obj = new D()
در خط 11، obj نمونهای از D است و در نتیجه از نوع B نیز هست؛ بنابراین Cast میشود به B.
ولی بههرحال obj از نوع D است و در خط 12، متد f از کلاس D اجرا میشود. در نتیجه مقدار result برابر با 11 خواهد شد.
• اجرای سوم:
obj = null
در اثر اجرای خط 11، مقدار test هم برابر null میشود. پس در خط 12 استثنای NullPointerException پرتاب میشود و مقدار result یک واحد کم شده برابر با 10 میشود.
خط 19: مقدار 10 در خروجی چاپ میشود.
#دستگرمی_سهشنبه
@JavaCupIR
در نظرسنجی زیر شرکت کنید.
پنجشنبه پاسخ صحیح را اعلام کرده و توضیح میدهیم.
پ ن: گول شلوغی رو نخورید، خیلی سادهست!
#دستگرمی_سهشنبه
@JavaCupIR
پنجشنبه پاسخ صحیح را اعلام کرده و توضیح میدهیم.
پ ن: گول شلوغی رو نخورید، خیلی سادهست!
#دستگرمی_سهشنبه
@JavaCupIR
به نظر شما، خروجی برنامه فوق کدام گزینه است؟
Final Results
16%
winter
17%
spring
41%
summer
10%
winter summer
16%
spring summer