Learn Java
304 subscribers
92 photos
1 video
94 files
84 links
یاد گیری زبان برنامه نویسی جاوا و نکات و مفاهیم
کاربردی ان



@parsa8113
@bardiademon
Download Telegram
Channel created
خب ما اموزش هارو با فرض اینکه یک محیط برنامه نویسی روی سیستم شما نصبه شروع میکنیم
جلسه ی اول:
چاپ یک عبارت متنی
public class parsw
{
public static void main (String[] args)
{
System.out.println("Welcome to java programming");
}
}
Learn Java
خب ما اموزش هارو با فرض اینکه یک محیط برنامه نویسی روی سیستم شما نصبه شروع میکنیم جلسه ی اول: چاپ یک عبارت متنی public class parsw { public static void main (String[] args) { System.out.println("Welcome to java programming"); } }
public static void main (String[] args)
اینم یک متد تو جاوا
public static میگه که کلاس من رو عمومی کن..یعنی چی عمومی کن
خب بعضی وقتا ما میایم کلاسمون رو تو یه کلاس دیه فراخونی میکنیم..اگه جای public..private بزاریم کلاس خصوصی میشه و فقط تو همین کلاس میشه ازش استفاده کرد
main:این هم متد main هست
System.out.println("Welcome to java programming");
یعنی توی سیستم چاپ کن welcome to java programming
خروجی فایل به شکل زیره :
Welcome to java programming
مقایسه زبان های برنامه نویسی :/
اموزش جاوا به زبان ساده ۲:
متغیر ها در جاوا:
int i = 20; // 32 bit max : 2147483674 , min : - 2147483648
double b : 30; //64 bit
byte c = 127; // 8 bit max : 127 min : -128
long l = 18392893L; // 64 bit max:9.22337E+18 min : - 9.22337E+18
boolean bo = true or false ;
short sh = 32767; // 16 bit max : 32767 min : - 32768
float f = 222.6f; // 32 bit
char = 'C';
Learn Java
اموزش جاوا به زبان ساده ۲: متغیر ها در جاوا: int i = 20; // 32 bit max : 2147483674 , min : - 2147483648 double b : 30; //64 bit byte c = 127; // 8 bit max : 127 min : -128 long l = 18392893L; // 64 bit max:9.22337E+18 min : - 9.22337E+18 boolean…
توضیحات در مورد این درس :
int برای اعداده صحیح هست و نه اعشاری

double برای اعداد اعشاری مورد استفاده قرار میگیره

byte حجم خیلی کمی میگیره و محدوده ی اعدادش وسیع نیست

boolean یا درست هست یا غلط...یا false هست یا true

short هم که برای اعداد صحیحه و محدودش زیاد نیست

floaf هم همینطور

char یک کرکتر هست..یک حروف

و توضیح دیگه اینکه اخره هر عددی که برای متغیر long در نظر گرفتیم باید L بزاریم...میتونیم کوچیک یا بزرگ بزاریم ولی قراردادیه که بزرگ بزاریم چون که اگه کوچیک بزاریم با یک مورد اشتباه قرار گرفته میشه
👍1
جاوا به زبان ساده ۳
Constructor در جاوا

Constructor در جاوا بدین صورت عمل میکند که به ما اجازه ساخت یک شی را میدهد. وقتی ما یک کلاس را new میکنیم متد constructor آن صدا زده میشود و شی مورد نظر را میسازد. پس constructor متدی است است که شی را میسازد.متد constructor ویژگی های زیر را دارد:

این متد چیزی return نمیکند.
نام متد همنام کلاس است.
در هنگام new کردن این متد صدا زده میشود تا شی ما ساخته شود.

This در جاوا

در آموزش قبل یک کلاس به نام Human ساختیم و برای آن constructor نیز نوشتیم.کد جلسه قبل به شکل زیر بود:



public class Human {

String name;

int age;

String height;

public Human() {

System.out.println(“no-arg constructor “);

name = “Jack”;

age = 22;

height = “1.8”;

}

public Human(String newname) {

name = newname;

age = 22;

height = “1.8”;

}

public void Speak(){

System.out.println(“my Name is “+ Name);

System.out.println(“i am “+ age+” year old”);

System.out.println(“my height is “+ Height +”meter”);

}

public void eat(){

System.out.println(“eating……”);

}

public void walking(){

System.out.println(“walking……”);

}

}



در کد بالا در constructor ما از متغییرهای دستی استفاده کردیم یعنی مثلا age را برای همه ۲۲ قرار دادیم و هر موقع بخواهیم آن را تغییر دهیم باید یک خط کد بزنیم برای هر شی به صورت جداگانه سن جدایی معرفی کنیم!!!! حالا میخواهیم کمی برنامه خود را پویاتر(dynamic) کنیم. یعنی هنگام new کردن یک شی تمام ویژگیهای شی را وارد کنیم.به کد زیر دقت کنید:

public Human(String name, int age, String height) {

this.name = name;

this.age = age;

this.height = height;

}

در کد بالا ما یک constructor با ورودی نوشتیم. و ورودیهای متد ما همنام ویژگیهای(فیلد های کلاس) ما هستند.حال به واژه this میرسیم.کلمه this در جاوا به شی که در آن هستیم اشاره دارد. و متغییر آن را در نظر میگیرد. به طور کلی کلمه this در جاوا یک اشاره گر به شی است. وقتی ما this.name را صدا میزنیم وارد شی ما میشود و ویژگی name آن را به ما میدهد.
مفهوم this در جاوا

توضیحات بالا شاید کمی شما را سردرگم کرده باشد برای همین یک قسمت جداگانه برای توضیح بیشتر this در جاوا در نظر گرفتیم. در آموزش قبل گفتیم که وقتی constructor مینویسیم هنگام new کردن جاوا آن را صدا میزند. حال ما یک شی از human میسازیم:

Human tom = new Human(“tom”);

اتفاقی که در حافظه میفتد این است که یک اشاره گر به نام tom ساخته میشود که به آدرس شی ساخته شده human اشاره دارد. پس وقتی ما یک شی را میسازیم یا یک کلاس را new میکنیم در حافظه آن ایجاد میشود و اشاره گری به آن اشاره میکند.

حال اگر ما یک شی دیگر با نام دیگری بسازیم:

Human jack = new Human();

در حافظه یک شی دیگر ساخته شده که با tom فرق دارد و حتی آدرس آن نیز متفاوت است. این مفهوم کلی new کردن در جاوا بود. وقتی ما کلمه this در جاوا را استفاده میکنیم به آدرس حافظه آن شی میرود و متغییرهای درونی آن را میبیند.
تست this در جاوا

برای تست کد های بالا، کد main زیر را بزنید:

public static void main(String[] args) {

Human jack = new Human(“jack”, 12, “1.3”);

jack.Speak();

System.out.println(“———–“);

Human tom = new Human(“tom”, 42, “1.7”);

tom.Speak();

}

در کد بالا از constructor جدید که کلمه this در آن به کار بردیم استفاده کردیم. کد بالا پویاتر و ساده تر از قبل است. خروجی کد this در جاوا به صورت زیر است:

my Name is jack

i am 12 year old

my height is 1.3meter

———–

my Name is tom

i am 42 year old

my height is 1.7meter
Learn Java
جاوا به زبان ساده ۳ Constructor در جاوا Constructor در جاوا بدین صورت عمل میکند که به ما اجازه ساخت یک شی را میدهد. وقتی ما یک کلاس را new میکنیم متد constructor آن صدا زده میشود و شی مورد نظر را میسازد. پس constructor متدی است است که شی را میسازد.متد constructor…
نکته مهم :؛


public class Human {

String name;

int age;

String height;

public Human() {

System.out.println(“no-arg constructor “);

name = “Jack”;

age = 22;

height = “1.8”;

}

public Human(String newname) {

name = newname;

age = 22;

height = “1.8”;

}

public void Speak(){

System.out.println(“my Name is “+ Name);

System.out.println(“i am “+ age+” year old”);

System.out.println(“my height is “+ Height +”meter”);

}

public void eat(){

System.out.println(“eating……”);

}

public void walking(){

System.out.println(“walking……”);

}

}

اگه این کد هارو به صورت مستقل ومجزا اجرا کنیم ارور no hav main method رو به ما میده چون که متدی نداره...پس باید از یه کلاس دیگه این کلاس رو فراخونی کنیمم..کلاسی که مین متد داشته باشه:

public static void main(String[] args) {

Human jack = new Human(“jack”, 12, “1.3”);

jack.Speak();

System.out.println(“———–“);

Human tom = new Human(“tom”, 42, “1.7”);

tom.Speak();

}
که به این صورت میشه و عبارت
public static void main(String[] args) در این کلاس بیانگر متد main هست
اموزش جاوا به زبان ساده ۴

خب میخوام روند تبدیل متغیر ها و تغییر اونا به متغیر دیگه رو اموزش بدیم

مثلا اگه ما بخوایم از int به double بریم کاره سختی نیست و بهش میگن up word ...برای اینکار اینطوری عمل میکنیم :

public class Test

int i = 120;
double d = i;
حب اگه این فایل رو ران کنیم خروجی فایل میشه :
120.0..چون که اگه یادتون باشه گفتم دابل برای اعداد اعشاری هست...پس وقتی تبدیلش کنیم به عدد اعشاری تبدیل میشه اون عددی رو که در نظر گرفتیم
اموزش جاوا به زبان ساده ۵

خب میخوایم روند down word رو یاد بدیم...یعنی مخالف up word و این یکم سخت تره چون روند نزولی داره
مثلا اگه بخوایم از double به int بریم(دقیقا بر عکس روند بالا رو اموزش میدم که راحت تر بفهمید)
باید اینطوری عمل کنیم:

double b = 3.99;
int i =(int) d;
خروجی این برنامه میشه ۳..یعنی جاوا از شر عدد اعشاری خلاص میشه و ۳ چاپ میشه..چون ما به int تبدیل کردیم و int برای اعداد صحیح بود و نه اعشاری

حالا اگه بخوایم اینت رو به بایت تبدیل کنیم
همینطوریه ولی اگه یه اینتی رو در نظر بگیرم و مقدار ۱۲۸ بهش بدیم..مقداری که از محدوده ی بایت خارجه و اگه اونو به بایت تبدیل کنیم چه اتفاقی میفته..الان به شما توضیح میدم

int p = 128;
byte b = (byte) p;

خروجی این برنامه به صورت -128 به نمایش در میاد (:
چرا؟
چچون که ۱۲۸ فقط یکی از محدوده ی بایت ما بیشتره و توی اعداد منفیش این محدوده موجوده پس جاوا میاد دور میزنه صفر رو و -۱۲۸ رو به دست میاره
اموزش جاوا به زبان ساده ۶
اپراتور ها در جاوا
== مساوی
++ به اضافه ی ۱
+ جمع
- تفریق
- - منهای یک
* ضرب
/ تقسیم
٪ باقیمانده (همون درصد خودمون)

توجه کنید که یک مساوی (= ) تخصیص نام داره و اپراتور محسوب نمیشه

مثللا :
int i = 10;
i = i++;
خب اگه اینو ران کنید جاوا همون ۱۰ رو نمایش میده..درصورتی که باید ۱۱ رو نمایش بده چون پلاس پلاس به علاوه ی یک میکنه
خب دلیل این عمر اینه که جاوا i ++ رو نمیخونه و تا i بیشتر نمیخونه...پس ما کاری که میکنیم میای پلاس پلاس رو میزاریم قبل از اون

int i = 10;
i = ++i;
خب اینو ران کنیم ۱۱ رو نشون ما میده

یا منفی منفی بزاریم نه رو نمایش میده

int i = 10;
i = i +5
اگه اینو ران کنید میشه ۱۵
ولی اینو میشه یه طوره دیگه هم مطرح کرد
خب چطوری؟

میایم مثبت رو قبل از مساوری قرار میدیم (:
i +=5;
یا
i -=5;
این
i+=5;
همون کاره i = i + 5; رو میکنه
ولی خب اینطوری با کلاس تره دیگه😂
اموزش جاوا به زبان ساده ۷

خب میخوایم راجع به if و else یه توضیح کوچیکی بدیم

خب if همون اگره خودمونه دیه و هر اگری ..هر شرطی..یه در غیر این صورتی باید داشته باشه که ما اونو else نامگذاری میکنیم

int i = 10;
if (i <10)
{
System.out.println("Less then 10");
}
else
{
System.out.println("bigger then 10");
}
خب ما اینجا تعریف کردم اگه i کوچیک تر از ده بود بزن less then10 و اگه این شرط برقرار نبود بزن bigger then 10
و خب خروجی این فایل میشه bigget then 10 ..چون i از ده کوچیکتر نیست
اگه علامت کوچیک تر مساوی بزاریم
<=
خروجی این فایل میشه less then 10 چون با اینکه i از ده کوچیک تر نیست ولی مساویش که هست
پس این شرط برقرار و if رو اجرا میکنه