- آموزش محدودیت DEFAULT در SQL
- حذف محدودیت DEFAULT در Sql
- دستور Create Index
- آموزش دستور DROP INDEX در SQL
- لینک قسمت اول آموزش SQL



سلام دوستان ...در قسمت قبل آموزش پایتون مفاهیم زیر را یاد دادیم
با ادامه آموزش پایتون همراه ما باشید.
پکیج (package) روشی برای ساخت فضای نام (namespace) ماژول پایتون با استفاده از " نام ماژول های نقطه گذاری شده" است.
برای مثال، نام ماژول A.B تعیین کننده یک زیر ماژول به نام B در پکیجی به نام A است. همانند کاربرد ماژول ها که نویسنده ماژول های مختلف را از نگرانی درباره نام متغیر های سراسری هم دیگر می رهاند، استفاده از نام ماژول های نقطه گذاری شده نیز نویسنده پکیج های چند ماژولی مانند NumPy و Pillow را از نگرانی درباره نام ماژول های یکدیگر می رهاند.
فرض کنید می خواهید برای مدیریت یکپارچه فایل ها و داده های صوتی، مجموعه ای از ماژول ها (یک پکیج) را طراحی کنید. فایل های صوتی فرمت های بسیار مختلفی دارند (که معمولا توسط دنباله خود شناخته می شوند مانند .wav , .aiff , .au) ، بنابراین ممکن است مجبور شوید یک مجموعه در حال رشد از ماژول ها را برای تبدیل فرمت های مختلف به هم ایجاد و نگهداری کنید. همچنین ممکن است بخواهید عملیات مختلف زیادی را روی داده های صوتی اعمال کنید (مانند ترکیب کردن، افزودن پژواک، اعمال یک تابع برابر کننده، ساخت یک اثر stereo مصنوعی)، بنابراین شما جریانی از ماژول هایی که هیچگاه تمام نمیشود را برای انجام این عملیات خواهید نوشت. در اینجا یک ساختار محتمل برای پکیج شما وجود دارد (در غالب سیستم فایل سلسله مراتبی بیان شده است).
sound/ Top-level package
__init__.py Initialize the sound package
formats/ Subpackage for file format conversions
__init__.py
wavread.py
wavwrite.py
aiffread.py
aiffwrite.py
auread.py
auwrite.py
...
effects/ Subpackage for sound effects
__init__.py
echo.py
surround.py
reverse.py
...
filters/ Subpackage for filters
__init__.py
equalizer.py
vocoder.py
karaoke.py
...
هنگامی که پکیج را وارد (import) می کنید، پایتون برای پیدا کردن زیر دایرکتوری پکیج، درون دایرکتوری های روی sys.path را جستجو می کند. برای این که پایتون دیکشنری های حاوی فایل را به عنوان پکیج بشناسد، به فایل های __init__.py نیاز دارد.
این کار مانع از این می شود تا دیکشنری هایی با نام های متداول مانند string ، به طور غیر عمد ماژول های معتبری که بعدا در مسیر جستجوی ماژول قرار میگیرند را پنهان کنند. در ساده ترین حالت، __init__.py می تواند فقط یک فایل خالی باشد، اما همچنین می تواند کد مقدار دهی اولیه (اولیه سازی) برای پکیج را اجرا کند یا متغیر __all__ variable که بعدا توضیح داده می شود را تنظیم کند. کاربران پکیج می توانند ماژول های مجزا را از پکیج وارد کنند، برای مثال:
import sound.effects.echo
این دستور زیر ماژول sound.effects.echo را بار گذری می کند، و باید به نام کامل آن ارجاع داده شود.
sound.effects.echo.echofilter(input, output, delay=0.7, atten=4)
روش جایگزین برای وارد کردن زیر ماژول به این صورت است:
from sound.effects import echo
این دستور همچنین زیر ماژول echo را نیز بار گذاری می کند، و آن را بدون پسوند پکیج خود، در دسترس قرار می دهد، بنابراین میتوان به صورت زیر از آن استفاده کرد:
echo.echofilter(input, output, delay=0.7, atten=4)
علاوه بر آن می توان تابع یا متغیر دلخواه را مستقیما وارد کرد:
from sound.effects.echo import echofilter
دوباره، این دستور زیر ماژول echo را بار گذاری می کند، اما تابع echofilter() آن را مستقیما در دسترس قرار می دهد.
echofilter(input, output, delay=0.7, atten=4)
توجه داشته باشید در هنگام استفاده از from package import item ، آیتم می تواند یک زیر ماژول (یا زیر پکیج) از پکیج باشد، یا هر نام دیگری که در پکیج تعریف شده باشد، مانند یک تابع، کلاس یا متغیر. عبارت import در ابتدا بررسی می کند که آیا آیتم در پکیج تعریف شده است، اگر تعریف نشده باشد، فرض می کند که آن یک ماژول است و برای بارگذاری آن اقدام می کند.
اگر در پیدا کردن آن شکست بخورد، استثنای ImportError رخ می دهد. در مقابل، هنگامی که از نحوه نگارش import item.subitem.subsubitem استفاده می کنید، همه آیتم ها به جز مورد آخر باید یک پکیج باشند. آیتم آخر می تواند یک ماژول یا یک پکیج باشد اما نمیتواند یک کلاس یا تابع یا متغیر تعریف شده در آیتم های قبلی باشد.
حال اگر کاربر from sound.effects import * را بنویسد چه اتفاقی می افتد؟
در شرایط ایده آل می توان امیدوار بود که به طریقی به سیستم فایل برود و زیر ماژول های حاضر در پکیج را پیدا کند و همه آنها را وارد کند. این کار می تواند زمان زیادی طول بکشد و وارد کردن زیر ماژول ها می تواند اثرات جانبی ناخواسته ای داشته باشد که باید تنها زمانی که زیر ماژول صریحا وارد می شود اتفاق افتد. تنها راه حل این است که نویسنده پکیج یک اندیس صریح از پکیج را ارائه کند. عبارت import از قرارداد زیر استفاده می کند:
اگر کد __init__.py یک پکیج، یک لیست به نام __all__ را تعریف کند، فرض می شود که لیستی از نام ماژول هایی است که در صورت مواجهه با from package import * ، باید وارد شود.
در زمانی که نسخه جدیدی از پکیج ارائه می شود، به روز نگه داشتن این لیست به عهده نویسنده پکیج است. همچنین ممکن است نویسنده پکیج تصمیم بگیرد در صورتی که کاربردی برای وارد کردن * از پکیج آنها نبینند، از آن پشتیبانی نکند. برای مثال، فایل sound/effects/__init__.py می تواند شامل کد زیر باشد:
__all__ = ["echo", "surround", "reverse"]
این به این معنی است که from sound.effects import * سه زیر ماژول نام برده شده از پکیج sound را وارد می کند. اگر __all__ تعریف نشده باشد، عبارت from sound.effects import * تمامی زیر ماژول های پکیج sound.effects را درون فضای نام فعلی وارد نمی کند.
این عبارت فقط تضمین می کند که پکیج sound.effects وارد شده است (احتمالا اجرای هر کد اولیه سازی در __init__.py) و سپس هر نام تعریف شده در پکیج را وارد می کند. این شامل هر نام (و زیر ماژول هایی که صریحا بارگذاری شده اند) تعریف شده توسط __init__.py می باشد. همچنین شامل هر زیر ماژولی از پکیج است که توسط عبارت import قبلی صریحا بارگذاری شده باشد. این کد را در نظر بگیرید:
import sound.effects.echo
import sound.effects.surround
from sound.effects import *
در این مثال، ماژول های echo و surround در فضای نام فعلی وارد شده اند، زیرا زمانی که عبارت from...import اجرا می شود، آنها در پکیج sound.effects تعریف شده اند. (همچنین زمانی که __all__ تعریف شده است نیز عمل می کند.) با وجود اینکه ماژول های خاصی برای فقط صادر کردن(export) نام هایی که در هنگام استفاده از import * از الگوهای خاصی پیروی می کنند طراحی شده است، این، همچنان عملکرد بد در تولید کد در نظر گرفته می شود. به یاد داشته باشید، هیچ مشکلی در استفاده از from package import specific_submodule وجود ندارد.
در واقع، این نحوه نگارش توصیه شده است مگر اینکه ماژول های وارد شده نیاز به استفاده از زیر ماژول هایی با نام یکسان از پکیج های مختلف داشته باشند.
زمانی که پکیج ها درون زیر پکیج ها ساخته می شوند ( مانند پکیج sound در مثال)، می توانید از واردات مستقل (absolute imports) برای ارجاع به زیر ماژول های پکیج های هم خانواده استفاده کنید.
برای مثال، اگر ماژول sound.filters.vocoder نیاز به استفاده از ماژول echo در پکیج sound.effects داشته باشد، می تواند از from sound.effects import echo استفاده کند. همچنین می توانید واردات وابسته (relative imports) را در قالب from module import name از عبارات واردات بنویسید. این واردات از نقاط راهنما برای بیان پکیج های فعلی و والد درگیر در واردات وابسته استفاده می کند. برای مثال ممکن است از ماژول surround استفاده کنید:
توجه داشته باشید که واردات وابسته مبتنی بر نام ماژول فعلی هستند. از آنجایی که نام ماژول اصلی همیشه "__main__" است، ماژول هایی که برای استفاده به عنوان ماژول اصلی برنامه پایتون در نظر گرفته می شوند، همیشه باید از واردات مستقل استفاده کنند.
پکیج ها از یک ویژگی خاص دیگر به نام __path__ نیز پشتیبانی می کنند. این به گونه ای مقدار دهی اولیه شده است که یک لیست شامل نام دایرکتوری باشد که _init__.py مربوط به پکیج را قبل از اینکه کد درون آن فایل اجرا شود، نگه می دارد.
. این متغیر قابل تغییر است، این کار روی جستجو های آینده در زمینه ماژول ها و زیر پکیج های موجود در پکیج تاثیر می گذارد. هر چند که این ویژگی اغلب مورد نیاز نیست، از آن می توان برای توسعه مجموعه ماژول های موجود در یک پکیج استفاده کرد.
توجه !
در واقع تعریف توابع عباراتی هستند که اجرا می شوند. اجرای تعریف یک تابع در سطح ماژول، وارد نام تابع در جدول نماد سراسری ماژول می شود.
چندین روش برای نمایش خروجی یک برنامه وجود دارد. می توان داده را به صورت قابل خواندن برای انسان چاپ کرد، یا برای استفاده در آینده درون یک فایل نوشت. در این بخش درباره برخی از روش ها صحبت خواهیم کرد.
تا اینجا با دو روش نوشتن مقادیر آشنا شده ایم: عبارات اصطلاحی و تابع print() . ( روش سوم استفاده از متد write() اشیای فایل است. به فایل خروجی استاندارد به عنوان sys.stdout می توان ارجاع داد. برای اطلاعات بیشتر در این زمینه بخش مرجع کتابخانه (Library Reference) را ببینید.) شما اغلب خواهان کنترل بیشتری روی قالب خروجی خود هستید تا اینکه فقط خروجی را به صورت مقادیر جدا شده با فاصله چاپ کنید.
در این جا چندین روش برای قالب بندی خروجی ارائه شده است.
سلام دوستان ... در قسمت قبل آموزش جاوا اسکریپت مفاهیم زیر را یاد دادیم .
حال با ادامه دورهآموزش طراحی سایت همراه باشید
متغیرها Variables ظرف هایی برای ذخیره ی مقادیر داده ها (data values) محسوب می شوند.
در این مثال x، y و z هر سه متغیر هستند.
مثال:
var x = 5;
var y = 6;
var z = x + y;
document.getElementById("demo") = z;
از مثال بالا می توانیم نتیجه بگیریم.
X مقدار 5 را درخود ذخیره می کند.
Y مقدار 6 را ذخیره می کند.
Z مقدار 11 را نگه می دارد.
در این مثال price1، price2 و total هر سه متغیر هستند.
< script >
var price1 = 5;
var price2 = 6;
var total = price1 + price2;
document.getElementById("demo") =
"The total is: " + total;
< /script >
در برنامه نویسی، درست مثل جبر، برنامه نویس به منظور ذخیره سازی مقادیر از متغیرها استفاده می کند (مانند price1 که مقدار 5 را نگه می دارد).
در برنامه نویسی، مانند جبر، متغییرها را در عبارات (expression) بکار می بریم (total = price1 + price2).
از مثال بالا می توان حاصل متغیر سوم را محاسبه کرد که 11 می باشد.
تمامی متغیرهای جاوا اسکریپت را باید با اسم های منحصر به فرد شناسایی کرد.
این اسامی منحصر به فرد / identifier شناسه اطلاق می گردند (نامیده می شوند).
شناسه ها می توانند اسم های کوتاه (مثل x و y) یا کلمات توصیفی از قبیل age، sum، totalVolumeباشند.
قوانین کلی برای ساخت اسامی ویژه ی متغیرها به شرح زیر هستند.
نکته:
شناسه ها در جاوا اسکریپت به کوچک بزرگی حروف حساس هستند.
در زبان جاوا اسکریپت، علامت مساوی (=) یک عملگر جایگزین (تخصیص مقدار) محسوب می شود و نه یک عملگر مساوی مانند ریاضی (برابر با).
مثال زیر در علم جبر هیچ معنا و کاربردی خاصی ندارد.
x = x + 5
اما همین نمونه در جاوا اسکریپت کاملاً استاندارد و متعارف تلقی می گردد : مقدار x + 5 را به x تخصیص می دهد.
(مقدار x + 5 را محاسبه کرده و نتیجه را در x قرار می دهد. مقدار x به اندازه ی 5 افزایش می یابد.
عملگر مساوی در جاوا اسکریپت اینگونه نوشته می شود : ==.
متغیرها در جاوا اسکریپت قادر هستند مقادیر عددی و همچنین مبتنی بر نوشته مانند 100 و "John Doe" را در خود ذخیره کنند.
در برنامه نویسی، مقادیر مبتنی بر متن/ text values، رشته های متنی (text strings) خوانده می شوند.
جاوا اسکریپت می تواند نوع داده های مختلفی را پذیرفته و مدیریت کند، اما فعلاً به همان نوع های عددی و رشته ی بسنده می کنیم.
رشته (string) داخل علامت های " " یا ' ' قرار داده می شوند. اعداد بدون علامت نقل و قول نوشته می شوند.
در صورت قرار دادن علامت نقل و قول اطراف یک عدد، با آن به عنوان یک رشته ی متنی (text string) برخورد می شود.
مثال:
var pi = 3.14;
var person = "John Doe"
var answer = 'Yes I am!';
اعلان یا تعریف یک متغیر در برنامه نویسی همان فرایند ایجاد متغیر است.
متغیر را در زبان جاوا اسکریپت با استفاده از کلید واژه ی var تعریف می کنیم
پس از تعریف، متغیر تهی است و هیچ مقداری ندارد.
به منظور تخصیص / assign یک مقدار به متغیر دلخواه کافی است از علامت = استفاده کنید.
همچنین می توان مقداردهی یک متغیر را هنگام تعریف آن انجام داد.
در مثال زیر، متغیری به نام carName ایجاد کرده و "Volvo" را به عنوان مقدار به آن تخصیص داده ایم، سپس مقدار را داخل یک پاراگراف HTML با شناسه ی "demo"به عنوان خروجی قرار می دهیم.
توصیه می شود تمامی متغیرها را در ابتدای اسکریپت تعریف کنید.
این امکان وجود دارد که چندین متغیر را در یک دستور واحد ایجاد کنید.
کافی است دستور را با کلید واژه ی var آغاز کرده و متغیرها را با ویرگول از هم جدا کنید
یک تعریف (declaration) همچنین می تواند چندین خط ادامه داشته باشد (پوشش داده یا دربرگیرد).
در برنامه های رایانه ی، متغیرها اغلب بدون یک مقدار مشخص تعریف می شوند. مقدار می تواند چیزی باشد که باید آن را تعریف یا اعلان کرد و یا چیزی که بعده ها ارائه می گردد مانند ورودی کاربر (user input).
متغیری که بدون مقدار معینی اعلان شود، مقدار آن undefined خواهد بود.
متغیر carName پس از اجرای این دستور مقدار تعریف نشده یا undefined را خواهد داشت.
مثال:
در صورت تعریف مجدد یک متغیر جاوا اسکریپت، به خاطر داشته باشید که متغیر مقدار خود را از دست نخواهد داد.
متغیر carName هنوز مقدار اولیه ی خود "Volvo" را پس از اجرا این دستورات حفظ خواهد کرد.
می توان در جاوا اسکریپ با متغیرها و به وسیله ی عملگرهای = و + محاسبات انجام داد.
در صورت افزودن عدد به رشته، باید توجه داشته باشید که عدد یک رشته محسوب می شود و از این رو به رشته الحاق می گردد (concatenation).
آن دسته از عملگرهای جاوا اسکریپت که برای محاسبه بکار می روند به ترتیب زیر هستند.
یک عملیات محاسباتی متعارف روی دو عدد عملیات لازمه را انجام می دهد .
حال این دو عدد ممکن است لیترال (literal) باشند.
اعداد (در عملیات حسابی) عملوند operand / خوانده می شوند . عملیات که بین دو عملوند صورت می گیرد توسط operator / عملگر تعریف می شود .
عملگر جمع addition operator / اعداد را جمع می بندد.
عملگر تفریق subtraction / اعداد را منها (از هم کسر) می کند.
تفریق
عملگر ضرب multiplication / (*) اعداد را در هم ضرب می کند.
ضرب
عملگر تقسیم (/)(division) اعداد را بر هم تقسیم می کند.
تقسیم
عملگر modular (%) باقی مانده ی تقسیم را برمی گرداند.
باقی مانده ی تقسیم
عملگر افزاینده / (++) اعداد را یک واحد افزایش می دهد.
کاهش
بیانگر اولویت یا ترتیبی است که عملیات در عبارت حسابی باید یکی پس از دیگری اجرا شوند .
آیا نتیجه ی مثال بالا برابر است با 150 * 3 یا 100 + 150؟
آیا عملیات جمع اول انجام می شود یا ضرب؟
عملیات ضرب درست مشابه ریاضیاتی که در مدرسه آموختیم بر دیگر عملیات از جمله جمع تقدم دارد .
عملگر ضرب (*) و تقسیم (/) بر جمع (+) و تفریق (-) تقدم دارند .
همان طور هم که در مدرسه آموختیم که با استفاده از پرانتز می توان ترتیب اولویت را تغییر داد.
عملیاتی که در پرانتز قرار می گیرند، اول محاسبه می شوند .
هنگامی که عملیات زیادی وجود دارد که دارای اولویت یکسان می باشند(مانند جمع و تفریق که از نظر اولویت با هم برابر هستند)، عملیاتی از این دست از چپ به راست محاسبه می شوند.
جدول زیر کلیه ی عملگرهای محاسباتی جاوا اسکریپت را به ترتیب اولویت فهرست می کند.
عبارات داخل پرانتز کاملاً پیش از اینکه مقدار در بقیه ی عبارت بکار گرفته شود محاسبه می گردد.
دوره آموزش طراحی سایت ادامه دارد
سلام دوستان ... در قسمت قبل آموزش جاوا اسکریپت مفاهیم زیر را یاد دادیم .
حال با ادامه دوره آموزش طراحی سایت همراه باشید
دستور Syntax جاوا اسکریپت : Syntax یا دستور گرامری در حقیقت یک سری قوانین است که به وسیله ی آن می توان فهمید برنامه های جاوا اسکریپت چگونه ساخته می شوند.
یک برنامه ی کامپیوتری / Computer program در واقع فهرستی از "دستورات / instructions" می باشد که باید توسط رایانه "اجرا / execute" شود.
در یک زبان برنامه نویسی به instruction های برنامه، Statement (دستور) گفته می شود.
جاوا اسکریپت نیز یک زبان برنامه نویسی محسوب می شود.
دستورات زبان جاوا اسکریپت توسط کاراکتر نقطه ویرگول (;) از هم جدا می شوند.
دستورات جاوا اسکریپت متشکل است از : values (مقادیر)، Operators (عملگرها)، Expressions (عبارات)، Keywords (کلیدواژه ها) و Comments (توضیحات).
لفظ ها یا لیترال های جاوا اسکریپت JavaScript literals :
مهمترین قوانین برای نوشتن مقادیر ثابت عبارتند از
مفهوم Numbers – اعدادی که با اعشار (decimal) یا بدون اعشار نوشته می شوند، به ترتیب زیر
10.50
1001
مفهوم Strings – رشته ها متن یا نوشته هایی هستند که درون علامت های " " یا ' ' نوشته می شوند.
"John Doe"
'John Doe
مفهوم Expressions – عبارات نیز می توانند نمایان گر مقادیر ثابت باشند.
5 + 6
5 * 10
در یک زبان برنامه نویسی، متغیرها (variables) به منظور ذخیره سازی (store) مقادیر داده ها بکار می روند.
جاوا اسکریپت با استفاده از کلید واژه ی var متغیر تعریف (define) می کند.
علامت مساوی (=) را به منظور تخصیص مقادیر به متغیرها مورد استفاده قرار می دهیم.
در این مثال، x به عنوان متغیر تعریف شده، سپس به مقدار 6 به آن اختصاص داده شده است.
var x;
x = 6;
جاوا اسکریپت با استفاده از عملگر جایگزین / assignment operator(=) مقادیر را به متغیر ها نسبت (تخصیص / assign) می دهد.
var x = 5;
var y = 6;
جاوا اسکریپت با استفاده از عملگرهای محاسباتی (arithmetic operator) از جمله :+ - * / مقادیر را محاسبه (compute) می کند.
(5 + 6) * 10
واژه های کلیدی (Keyword) جاوا اسکریپت به منظور شناسایی عملیاتی که باید (انجام) پیاده شود مورد استفاده قرار می گیرد.
در واقع کلید واژه ی var به مرورگر دستور / اطلاع می دهد یک متغیر جدید ایجاد کند.
var x = 5 + 6;
var y = x * 10;
واژه های کلیدی (Keyword) جاوا اسکریپت به منظور شناسایی عملیاتی که باید (انجام) پیاده شود مورد استفاده قرار می گیرد.
در واقع کلید واژه ی var به مرورگر دستور / اطلاع می دهد یک متغیر جدید ایجاد کند.
var x = 5 + 6;
var y = x * 10;
تمامی دستورات جاوا اسکریپت لزوماً "اجرا" نمی شوند.
کدهایی که پس از کاراکتر // یا بین */ و /* قرار داده می شوند در حقیقت توضیح (comment) محسوب می شوند و از این رو در اجرا نادیده گرفته می شوند.
تمامی شناسه های (identifier) جاوا اسکریپت به کوچک و بزرگی حروف حساس هستند.
به عنوان مثال، lastName و lastname گرچه هر دو متغیر هستند ولی به دلیل تفاوت در کوچک و بزرگی حروف کاملاً از هم متمایز تلقی می گردند.
در گذشته، برنامه نویسان از سه روش برای گنجاندن چندین کلمه در یک اسم متغیر واحد استفاده می کردند.
در جاوا اسکریپت اجازه ی استفاده از خط تیره (hyphen) به برنامه نویس داده نمی شود مگر برای تفریق.
جاوا اسکریپت از مجموعه کاراکترهای Unicode استفاده می کند.
از Comment ها در جاوا اسکریپت برای توضیح کد و بهبود خوانایی آن ها استفاده می شود.
همچنین از توضیحات / comments می توانیم زمانی که می خواهیم کد جایگزینی را به جای کد اصلی امتحان کنیم، کمک بگیریم.
توضیحات تک خطی با کاراکتر // آغاز می گردند.
جاوا اسکریپت هر متنی را که بین کاراکتر // و انتهای خط قرار بگیرد کاملاً نادیده می گیرد(اجرا نمی کند).
در این مثال از comment تک خطی پیش از هر خط به منظور تشریح کد مربوط استفاده شده.
مثال:
کامنت Comment های چند خطی با */ آغاز شده و با کاراکتر /* خاتمه می یابند.
هر نوشته ی که بین دو کاراکتر گفته شده قرار گیرد کاملاً توسط جاوا اسکریپت نادیده گرفته می شود.
این مثال یک توضیح چند خطی (comment block یا مجموعه ی از توضیحات) را برای تشریح کد مورد نظر بکار می گیرد.
نکته:
در بیشتر مواقع برنامه نویسان از توضیح تک خطی استفاده می کنند.
با بهره گیری از توضیحات (comments) می توان از اجرای کد جلوگیری کرد که برای اجرای تست و امتحان کردن کد جایگزین بسیار کارامد تلقی می گردد.
افزودن کاراکتر // در ابتدای خط کد باعث می شود خط کد از حالت قابل اجرا به حالت comment تبدیل شود، بدین معنا که دیگر خط کد مورد نظر اجراشدنی نبوده و به یک توضیح ساده تبدیل گردد.
این مثال با استفاده از //، اجرای یکی از خط کدها را مانع می شود.
دوره آموزش طراحی سایت ادامه دارد
جاوا اسکریپت (JavaScript) زبان برنامه نویسی HTML و وب است.
با استفاده از برنامه نویسی می توان کامپیوتر را قادر به انجام کارها یا وظایف مورد نظر کرد.
یادگیری این زبان اسکریپتی بسیار آسان و در عین حال لذت بخش است.
جاوا اسکریپت از آموزش طراحی سایت در حال حاضر یکی از محبوب ترین و پرکاربردترین زبان های برنامه نویسی است.
جاوا اسکریپت JavaScript قادر است محتوای HTML را تغییر دهد
یکی از متدهای زبان طراحی وب HTML، تابع getElementById() است.
این مثال با استفاده از متد بالا، یک المان HTML را با شناسه ی"demo" یافته و محتوای المان (innerHTML) را به "Hello JavaScript" تغییر می دهد.
مثال:
document.getElementById("demo") = "Hello JavaScript"
اصلاح استایل (style) یک المان HTML، در واقع همان تغییر خصیصه ی یک HTML است.
مثال:
document.getElementById("demo").style.fontSize = "25px"
یکی از کاربرد های زبان جاوا اسکریپت اعتبار سنجی ورودی (input) است.
توجه:
لازم به ذکر است که زبان JavaScript یک زبان اسکریپتی ساده برای وب و HTML است مبتنی بر اشیا که توسط NetScape تولید و عرضه شده است. این زبان، یک زبان شیگرا است که بر اساس استاندارد ECMA-262 Edition 3 نوشته شده است در حالی که زبان برنامه نویسی Java یک زبان برنامه نویسی شی گرای قدرتمند و کارامد برای برنامه سازی ویژه ی محیط ها و پلت فرم های گوناگون می باشد.
جاوا اسکریپت JavaScript زندگی خود را با نام Live Script آغاز نمود، اما شرکت Netscape نام آن را، احتمالا به دلیل هیجانی که می توانست از سوی زبان Java به خود بگیرد، به JavaScript تغییر داد. جاوا اسکریپت برای اولین بار در مرورگر Netscape 2.0 با عنوان Live Script به کار گرفته شد.
جاوا اسکریپت یک زبان سبک و مفسر، همراه با قابلیت های شی گرایی (Object Oriented) است که به شما این امکان را داده تا به صفحات ایستاتیک و ساده HTML ، حالت واکنش گرا و تعاملی بدهید.
به طور کلی می توان جاوا اسکریپت را در موارد زیر خلاصه کرد.
جاوا اسکریپت یک زبان سبک و مفسر می باشد (معنای مفسر این است که برنامه دستورات را به صورت خط به خط خوانده و در پایان هر خط آن را اجرا می کند. بر خلاف کامپایلر که ابتدا کل دستورات را خوانده و اشکال یابی کرده، سپس آنها را یکباره اجرا می کند).
این زبان برای ساخت نرم افزارهای میانی شبکه ( واسط ) استفاده می شود.
جاوا اسکریپت یک زبان مکمل برای HTML می باشد.
این زبان یک پلتفرم باز می باشد.
جاوا اسکریپت یک زبان طرف کاربر (Client Side) است .
زبان جاوا اسکریپت یک زبان طرف مشتری (Client Side) می باشد، به این معنی که دستورات آن در کامپیوتر کاربر و در مرورگر وی اجرا می شود. دستورات جاوا اسکریپت را مستقیما می توان درون اسناد HTML وارد کرده و یا آنها را در یک فایل مجزا قرار داد و سپس آن فایل را به صفحه HTML پیوند زد.
وجود زبان جاوا اسکریپت باعث می شود تا صفحات HTML از حالت Static و ساده درآمده و بتوانند با کاربر ارتباط برقرار کرده، مرورگر را کنترل نموده و به صورت پویا محتویات HTML تولید و به صفحه اضافه کنند.
کدهای سمت کلاینت جاوا اسکریپت، قابلیت انجام بسیاری از کارهایی که توسط کد های سمت سرور انجام می شوند را دارا هستند. برای مثال، می توانید کد جاوا اسکریپتی نوشته تا مقدار ورودی کاربر در یک کادر متن را کنترل نموده و در صورتی که وی یک آدرس ایمیل با فرمت صحیح را وارد کرده باشد، اجازه ارسال فرم و اطلاعات درون آن را بدهد.
کد های جاوا اسکریپت در صورتی که کاربر تمامی مقادیر مورد نیاز را به درستی در فرم وارد نموده باشد، پس از Submit فرم در صفحه، اجرا می شوند.
جاوا اسکریپت می تواند اعمال کاربر، مثل فشردن یک دکمه فرمان، کلیک بر روی یک لینک و... را تشخیص داده و دستورات مورد نظر را پس از انجام این رخدادها، اجرا کند.
استفاده از زبان جاوا اسکریپت، مزایای خاصی دارد که از آن جمله می توان به موارد زیر اشاره کرد.
با کنترل مقادیر وارد شده توسط کاربر در فیلدهای فرم دریافت اطلاعات، می توانید از ارسال اطلاعات نا صحیح به سرور و پردازش آنها جلوگیری کنید. این کار بار ترافیکی بر روی سرور و همچنین میزان اطلاعات ارسال و دریافت شده را کاهش می دهد.
به دلیل اجرای سریع کدهای جاوا اسکریپت که در مرورگر کاربر اجرا می شوند، کاربر دیگر مجبور نخواهد بود تا پایان زمان ارسال اطلاعات به سرور و پردازش و سپس لود صفحه جهت دربافت نتیجه خود صبر کند.
به وسیله جاوا اسکریپت می توانید کدهایی طراحی نموده تا به سرعت به انجام اعمالی مثل کلیک کاربر، عبور موس از روی یک منطقه و یا زدن دکمه های کیبورد، واکنش نشان دهید.
به وسیله جاوا اسکریپت می توانید اجزایی مثل منو های بازشو، اسلایدشوها و... را طراحی نموده و به سایت خود، رابط کاربری قوی تری بدهید.
شما نمی توانید از جاوا اسکریپت، به عنوان یک زبان کامل که تمامی نیازهای برنامه نویسی تان را برآورده می کند، استفاده کنید. این زبان، فاقد امکانات مهم زیر می باشد.
زبان کلاینت ساید جاوا اسکریپت، امکان خواندن و نوشتن بر روی فایل ها را به دلیل مسایل امنیتی نمی دهد.
جاوا اسکریپت نمی تواند برای ساخت نرم افزارهای جامع و پیشرفته شبکه، به دلیل عدم پشتیبانی مناسب، به کار رود.
جاوا اسکریپت فاقد قابلیت اجرای چندین پروسه یا کار به صورت همزمان است.
یک قطعه کد جاوا اسکریپت، شامل دستوراتی است که درون یک تگ باز و بسته
... ، در صفحات وب HTML تعریف می شوند.
می توانید کدهای جاوا اسکریپت خود را که در تگ تعریف نموده اید، در هر جای صفحه وب مورد نظرتان قرار دهید، اما بهترین روش این است که آنها را در تگ ابتدای صفحه (تگ <head>) بگنجانی
تگ به مرورگر اعلام می کند که کلیه دستورات درون این تگ را به صورت مفسر خوانده و اجرا کند. بنابراین ساده ترین کد جاوا اسکریپت می تواند به صورت زیر در صفحه تعریف شود.
تگ JavaScript دو خاصیت مهم زیر را می تواند داشته باشد.
مفهوم Language :
این خاصیت تعیین می کند که شما از چه زبان اسکریپتی برای نوشتن کدهای خود استفاده نموده اید که قاعدتا بایستی javascript باشد. به همین دلیل مرورگرهای جدید، از این خاصیت صرف نظر می کنند.
مفهوم Type :
این خاصیت نیز نوع دستورات تعیین شده در اسکریپت را تعیین می کرده که رایج ترین مقدار برای آن “ text/javascript “ می باشد. به معنای اینکه به زبان جاوا اسکریپت و به صورت متنی هستند.
بنابراین تگ JavaScript شما در حالت کاملتر بایستی به صورت زیر باشد.
جاوا اسکریپت به طور کلی، فواصل خالی بین کاراکترها، Tab ها و رفتن به خط بعدی را در دستورات نادیده گرفته و تاثیری بر روی خروجی کد ندارند.
به همین دلیل می توانید با مرتب کردن و دادن فواصل لازم به خطوط کدهای خود، آنها را بسیار خوانا و قابل فهم نمایید.
معمولا هر خط کد یا دستور در جاوا اسکریپت، همانند آنچه در C++ یا Java دیده اید، با یک کاراکتر ; به پایان می رسد. اما در جاوا اسکریپت، چنانچه هر کد دستوری شما در یک خط جدا Line باشد، می توانید از به کار بردن کاراکتر; خودداری کنید. برای مثال در قطعه کد زیر، می توانید از به کار بردن ; در پایان هر دستور اجتناب نمایید.
بهتر است عادت کرده از ; در کدهای خود استفاده نمایید.
جاوا اسکریپت یک زبان حساس به بزرگ یا کوچک بودن حروف می باشد. این بدان معناست که که کلمات کلیدی زبان، نام متغیرها یا توابع و هر واژه دیگری بایستی با رعایت بزرگ یا کوچک بودن حروف نوشته شوند.
بنابراین کلمات Time، TIME و یا TiMe در این زبان با هم متفاوت می باشند.
از توضیحات یا کامنت ها، برای تشریح کدهای خود و یا غیر فعال کرد موقت آنها استفاده می کنیم. این دستورها و متون توسط موتور جاوا اسکریپت اجرا نشده و خروجی بر روی صفحه ندارند.
زبان جاوا اسکریپت از روشی همانند زبان C++ برای قرار دادن توضیحات در کدهای خود استفاده کرده و قانون های کلی زیر را داراست.
هر متنی که بین یک // و پایان یک خط دستور قرار بگیرد، یک توضیح حساب می شود.
هر متنی که بین یک /* و */ قرار بگیرد، توضیح حساب شده و می تواند حتی شامل چندین خط دستور باشد.
جاوا اسکریپت، از کاراکتر ویژه زبان HTML جهت توضیحات پشتیبانی می کند. این کاراکتر به صورت
دستورات JavaScript را می توان در بخش های < body >
و همچنین
< head >
یک سند HTML جای گذاری کرد.
در HTML، کدهای جاوا اسکریپت را باید بین تگ های < script > و < /script > درج کرد (وارد کرد).
مثال:
< script >
document.getElementById("demo") = "My First JavaScript"
< /script >
نکته:
در مثال های پیشین خصیصه ی typeبرای تگ< script >بکار برده شده مانند این نمونه
< script type="text/javascript" >
در 5 ،HTMLکلیه ی مرورگر های موجود زبان پیش فرض اسکریپت نویسی JavaScript می باشد و از این رو نیازی به خصیصه ی (attribute) type نیست.
یک تابع / function در جاوا اسکریپت در واقع یک ساختمان یا مجموعه (block) ای از کدها است، که درست زمانی که لازم است اجرا می شوند.
برای مثال، یک تابع ممکن است زمانی اجرا شود که رخدادی / event معین روی دهد درست مثل زمانی که کاربر موس را کلیک می کند.
می توان هر تعداد اسکریپت که لازم است در سند HTML قرار داد.
اسکریپت ها را می توان در بدنه ی HTML یا قسمت < body >قرار داد و یا آن ها را در بخش< head >صفحه HTML گنجاند.
نکته:
توصیه می کنیم تمامی کدهای خود را در یک مکان واحد نگه دارید.
در این مثال، یک تابع جاوا اسکریپت در بخش (بین تگ باز و بسته ی) < head > صفحه ی HTML قرار داده می شود.
زمانی که روی دکمه کلیک می کنید تابع فراخوانده (invoke) می شود.
مثال:
< !DOCTYPE html >
< html >
< head >
< script >
function myFunction() {
document.getElementById("demo") = "Paragraph changed."
}
< /script >
< /head >
< body >
< h1 >My Web Page< /h1 >
< p id="demo" >A Paragraph< /p >
< button type="button" ="myFunction()" >Try it< /button >
< /body >
< /html >
در این مثال، یک تابع جاوا اسکریپت بین تگ های باز و بسته ی < body > صفحه ی HTML قرار داده می شود.
تابع مربوطه با کلیک روی تنها یک دکمه فراخوانده می شود.
مثال:
< !DOCTYPE html >
< html >
< body >
< h1 >My Web Page< /h1 >
< p id="demo" >A Paragraph< /p >
< button type="button" ="myFunction()" >Try it< /button >
< script >
function myFunction() {
document.getElementById("demo") = "Paragraph changed."
}
< /script >
< /body >
< /html >
توصیه می شود اسکریپت ها (Script) را در پایین (انتهای) المان < body > قرار دهید. این کار در حقیقت به بارگذاری هر چه بهتر صفحه کمک می کند، زیرا که نمایش HTML با بارگذاری اسکریپت ها مسدود نمی گردد.
همچنین می توان اسکریپت ها را در فایل های خارجی جای گذاری کرد.
اسکریپت های خارجی (external scripts) زمانی بیشترین کارایی را دارند که یک کد یکسان در بسیاری از صفحات وب بکار گرفته شده است.
فایل های جاوا اسکریپت همگی دارای پسوند .jsهستند.
جهت استفاده از یک اسکریپت که در فایل خارجی قرار داده شده باشد، کافی است اسم فایل اسکریپت را داخل خصیصه ی src (source) در تگ < script > قرار دهید.
مثال:
< !DOCTYPE html >
< html >
< body >
< script src="myScript.js" >< /script >
< /body >
< /html >
می توانید ارجاع (reference) به اسکریپت خارجی را مطابق میل خود در تگ های < head > یا < body > قرار دهید.
اسکریپت مربوطه درست همانگونه عمل خواهد کرد که گویی دقیقاً همان جایی که تگ < script > قرار گرفته، جای گذاری شده.
توجه:
اسکریپت های خارجی نمی توانند دربردارنده ی تگ های < script > باشند.
.جای گذاری دستورات جاوا اسکریپت در فایل های خارجی مزایایی دارد که به ترتیب زیر می باشد
کد و HTML را از هم جدا می سازد
مدیریت و خواندن کدهای HTML و JavaScript را به مراتب آسان تر می سازد.
فایل های جاوا اسکریپت که در حافظه ی پنهان ذخیره شده باشند.(به طور موقت ذخیره شده باشند) می توانند در افزایش سرعت بارگذاری صفحه کمک شایانی بکنند.
آموزش جاوا اسکریپت از دوره آموزش طراحی سایت ادامه دارد.
سلام با آموزش جاوا JAVA در خدمت شما عزیزان هستم
در قسمت قبل از آموزش تصویری برنامه نویسی جاوا با آرایه ها Array Lists در جاوا آشنا شدیم
حال با ادامه آموزش جاوا همراه باشید:
در مورد رشته های جاوا موارد بیشتری از آنچه با چشم دیده می شود وجود دارد. بر خلاف متغیرهای int یا متغیرهای double، رشته ها آبجکت می باشند. و این در عمل به این معناست که با رشته های متن کارهایی می توانید انجام دهید که با متغیرهای double یا int نمی توانید انجام دهید. ( همین مورد برای انواع داده ی boolean، byte، single، char، float، long و short نیز به کار می رود: آنها مانند رشته ها آبجکت نیستند)
قبل از اجرای رشته های متن، در اینجا اطلاعات اصلی مربوط به رشته ها را مشاهده خواهید کرد.
چگونگی ذخیره ی رشته ها در جاوا
یک رشته مجموعه ای از کاراکترهای Unicode می باشد که تحت عنوان نام یک متغیر حفظ می شوند. رشته ی زیر را در نظر بگیرید.
1String someText = "Bill"
این خط به جاوا می گوید که یک رشته آبجکت با چهار کاراکتر "B"، "i"، "l"و یک "l" دیگر برقرار کند. در مجموعه کاراکتر Unicode، این مقادیر عبارتند از: \u0042، \u0069، \u006c،\u006c . مقادیر Unicode به عنوان اعداد هگزادسیمال ذخیره می شوند. حروف بزرگ ( A تا Z) با استفاده از مقادیر \u0041 تا \u005a ذخیره می شوند، در حالیکه حروف کوچک ( a تا z ) با استفاده از مقادیر هگزادسیمال \u0061 تا \u007a ذخیره می شوند.
در بخش قبل یک array وجود داشت که رشته های متن را حفظ می کرد. سپس array را مرتب سازی کردیم.
وقتی که برنامه اجرا می شود، خروجی مانند تصویر زیر می باشد.
قبلا ذکر کردیم که لغت "This" در ابتدا قرار می گیرد. اگر قرار است array به ترتیب حروف الفبا مرتب شود، انتظار می رود که لغت "a" در ابتدا قرار بگیرد. این به این خاطر است که لغت "a" با حرف کوچک دارای مقدار هگزادسیمال u\0061 می باشد، که عدد دهدهی 97 می باشد. اما حرف بزرگ "T" دارای یک مقدار هگزادسیمال u\0054 می باشد که عدد دهدهی 84 است. 84 کمتر از 97 می باشد، بنابراین "T" در ابتدا قرار می گیرد.
بسیار خود، اجازه بدهید در موزد اجرای رشته های متن کارهایی انجام دهیم. رشته متدهایی که مورد بررسی قرار خواهیم داد، عبارتند از
toUpperCasse toLowerCase compareTo IndexOf endWith, startsWith Substring Equals charAt trim valueOf
متدهای اول در بالا متدهای آسانی می باشند، که به حروف بزرگ و کوچک تبدیل می شوند. در بخش بعد در مورد آنها فرا خواهید گرفت.
تبدیل رشته های خود به حروف بزرگ و کوچک کار آسانی می باشد: تنها از متودهای داخلی toUpperCase و toLowerCase استفاده کنید.
برای این کار یک پروژه ی جدید را شروع کرده و کد زیر را به آن اضافه کنید:
دو خط اول از کد یک متغیر String برای حفظ متن "text to change" تنظیم می کنند و سپس آن را چاپ می کنیم. خط سوم یک متغیر دوم String به نام نتیجه را تنظیم می کند. و خط چهارم می باشد که در آن تبدیل را انجام می دهیم:
1result = changeCase.toUpperCase( );
برای استفاده از یک متود string ابتدا رشته ی مورد نظر را تایپ کنید. برای ما این رشته در متغیر changeCase نامیده می شود. پس از نام متغیر یک نقطه تایپ کنید، سپس لیستی از متودهای موجود را مشاهده می کنید که می توانید در رشته ی خود از آنها استفاده کنید. toUpperCase را انتخاب کنید. ( متود پس از آن نیاز به پرانتز دارد.)
پس از اینکه جاوا لغت را به حروف بزرگ تغییر داده است، ما رشته ی جدید را به متغیر نتیجه ی خود مرتب می کنیم.
وقتی برنامه اجرا می شود، پنجره ی Output نتیجه ی زیر را نمایش خواهد داد:
اما شما مجبور نیستید که لغت تغییر یافته را در یک متغیر جدید ذخیره کنید. این کار نیز انجام می شود:
1System.out.println( changeCase.toUpperCase( ) );
در اینجا جاوا تنها با تغییر رشته و بدون نیاز به اختصاص دادن نتیجه به یک متغیر جدید، به کار خود ادامه خواهد داد.
در عوض اگر می خواهید فقط به حروف کوچک تغییر دهید، از متود toLowerCase استفاده کنید. این متود درست به روش متود toUpperCase استفاده می شود.
در بخش بعدی چگونگی مقایسه ی رشته ها را در جاوا مشاهده خواهید کرد.
شما می توانید یک متود را با متود دیگر مقایسه کنید. ( در هنگام مقایسه جاوا از مقادیر هگزادسیمال به جای خود حروف استفاده خواهد کرد.). به عنوان مثال اگر بخواهید لغت "Ape" را با لغت "App" مقایسه کنید تا ببینید کدامیک نخست قرار می گیرد، می توانید از یک رشته متود داخلی به نام compareTo استفاده کنید. اجازه بدهید چگونگی کار آن را بررسی کنیم.
برای این کار نیازی به شروع یک پروژه ی جدید ندارید: به راحتی روی کدی که دارید کامنت بگذارید یا آن را حذف کنید. اکنون کد زیر را به آن اضافه کنید:
ما دو رشته متغیر تنظیم کرده ایم که حاوی لغا ت "Ape" و "App" می باشند. متود compareTo در کد بالا خط زیر می باشد:
1result = Word1.compareTo( Word2 );
متود compareTo یک مقدار را گزارش می دهد. مقدار گزارش شده یا کمتر از 0 یا بیشتر از 0 و یا مساوی 0 می باشد. اگر Word1 قبل از Word2 قرار بگیرد، مقدار گزارش شده کمتر از 0 خواهد بود. اگر Word1 بعد از Word2 قرار بگیرد، مقدار گزارش شده بزگتر از 0 خواهد بود. اگر هر دو لغت یکشان باشند، مقدار 0 گزارش خواهد شد.
بنابراین لازم است کقداری را اختصاص دهید که compareTo به یک متغیر بازمی گرداند. ما مقدار را در یک متغیر صحیح به نام نتیجه قرار می دهیم. عبارات IF در کد به سادگی تست می کنند تا مورد را در متغیر نتیجه مشاهده کنند.
به هرحال وقتی یک رشته از متن را با رشته ای دیگر مقایسه می کنید، جاوا به جای حروف واقعی، مقادیر هگزادسیمال تاکید شده را مقایسه می کند. از آنجایی که حروف بزرگ دارای مقدار هگزادسیمال کمتری نسبت به حروف کوچک هستند، حرف بزرگ A در App قبل از حرف کوچ a در ape قرار خواهد گرفت. می توانید این مورد را امتحان کنید. در کد خود "Ape" را به "ape" تغییر دهید. خروجی "Word1 is more than Word2" خواهد بود، به این معنا که از لحاظ الفبایی جاوا لغت ape را بعد از app قرار خواهد داد.
برای حل مشکل یک متود مرتبط به نام compareToIgnoreCase وجود دارد. همانطور که از نام آن پیداست حروف بزرگ و کوچک نادیده گرفته می شوند. با استفاده از این متود از لحاظ الفبایی لغت ape قبل از App قرار خواهد گرفت.
متد indexOf برای قرار دادن یک کاراکتر یا یک رشته در داخل یک رشته ی دیگر استفاده می شود. به عنوان مثال می توانید از آن برای بررسی وجود کاراکتر @ در یک آدرس ایمیل استفاده کنید. اجازه بدهید از این مثال در کد استفاده کنیم.
مجددا می توانید روی کد خود کامنت بگذارید یا آن را حذف کنید. اما کد جدیدی برای امتحان کردن وجود دارد:
میخواهیم وجود نماد @ را در آدرس ایمیل بررسی کنیم، بنابراین ابتدا یک متغیر char تنظیم کرده و به آن مقدار '@' اختصاص می دهیم. ( به نماد علامت نقل قول متغیر char دقت داشته باشید.). پس از تنظیم یک آدرس ایمیل، یک متغیر نتیجه داریم، این یک متغیر int می باشد. دلیل این که نتیجه یک عدد صحیح می باشد این است که متود indexOf یک مقدار گزارش خواهد داد. این مقدار عدد مربوط به موقعیت کاراکتر علامت را در رشته ی آدرس ایمیل باز خواهد گرداند. در اینجا خط مربوطه را مشاهده می کنید:
1result = email_address.indexOf( ampersand );
رشته ای که در حال جستجوی آن هستید در ابتدا قرار می گیرد. پس از یک نقطه، indexOf را تایپ کنید. بین پرانتزهای indexOf گزینه های زیادی دارید: یکی از این گزینه ها تایپ کردن یک کاراکتر مجزا ( یا نام متغیر char) می باشد. ما متغیر علامت خود را (ampersand) بین پرانتزهای indexOf قرار داده ایم. جاوا موقعیت کاراکتر @ را در آدرس ایمیل به ما خواهد گفت. این مقدار را در متغیر نتیجه ذخیره خواهد کرد.
وقتی کد را اجرا می کنید خروجی 4 خواهد بود. ممکن است تصور کنید که علامت @ پنجمین کاراکتر در آدرس ایمیل می باشد، اما indexOf شمارش را از 0 شروع می کند.
به هرحال اگر کاراکتر در لغتی که آن را جستجو می کنید وجود نداشته باشد، indexOf مقدار 1- را گزارش می دهد. برای امتحان این مورد نماد @ را از آدرس ایمیل خود حذف کنید. سپس مجددا کد خود را اجرا کنید که 1- را به عنوان خروجی مشاهده خواهید کرد.
می توانید از مقدار گزارش شده ی 1- به نفع خود استفاده کنید. در اینجا مجددا کدی را مشاهده می کنید با یک عبارت IF که مقدار متغیر نتیجه را امتحان می کند:
بنابراین اگر نتیجه ی indexOf عدد 1- باشد، می توانیم به یوزر اجازه ی ادامه ی کار بدهیم.
می توانید از indexOf برای تست کردن بیشتر از یک کاراکتر استفاده کنید. کد زیر آدرس ایمیل را چک می کند اگر با ".com" تمام می شود:
کد تقریبا یکسان می باشد، به جز اینکه اکنون در حال استفاده از متغیر String برای حفظ متنی هستیم که می خواهیم برای وجود (.com) و نه متغیر char آن را بررسی کنیم.
اگر متنی که در جستجوی آن هستیم در string که قبل از نقطه ی مربوط به indexOf یافت نشد، مجددا نتیجه ی 1- گزارش داده خواهد شد. در غیر این صورت indexOf موقعیت اولین کاراکتر هماهنگ سازی را گزارش خواهد داد. در کد فوق وقتی شمارش را از 0 شروع می کنید، نقطه هفتمین کاراکتر در آدرس ایمیل می باشد.
می توانید یک موقعیت شروع نیز برای جستجوهای خود تعیین کنید. در مثال آدرس ایمیل می توانیم جستجو برای ".com" را پس از نماد @ آغاز کنیم. در اینجا کدی را می بینید که موقعیت نماد @ را تعیین می کند و سپس از آن به عنوان موقعیت آغازین برای جستجوی ".com" استفاده می کند.
خط زیر در واقع خط جدید کد می باشد:
1result = email_address.indexOf( dotCom, atPos );
تنها تفاوت افزودن یک متغیر اضاقه بین پرانتزهای indexOf می باشد. ما هنوز رشته ای داریم که در جستجوی آن هستیم ( که متنی است که در متغیر dotcom قرار می گیرد)، اما اکنون یک موقعیت ابتدایی برای جستجو داریم. این موقعیت مقدار متغیری به نام atPos می باشد. مقدار atPos با استفاده از indexOf برای تعیین موقعیت نماد @ در آدرس ایمیل به دست می آید. بنابراین جاوا به جای شروع از 0، جستجو را از این موقعیت آغاز خواهد کرد که پیش فرض می باشد.
Ends With … Starts With
برای برنامه ی فوق می توانید از متود داخلی endsWith استفاده کنید:
1Boolean ending = email_address.endsWith( dotcom );
لازم است یک متغیر Boolean برای endsWith تنظیم کنید، زیرا متود پاسخ true یا false را گزارش خواهد داد. رشته ای که سعی در تست کردن آن دارید، بین پرانتزهای endsWith قرار می گیرد و متنی که در جستجوی آن هستید قبل از آن می آید. اگر متن در جستجوی رشته باشد، یک مقدار true گزارش داده می شود، در غیر اینصورت false خواهد بود. برای بررسی مقدار می توانید یک عبارت if … else اضافه کنید:
1System.out.println( "Invalid Email Address" );
1}
1else {
1System.out.println( "Email Address OK " );
1}
1if (ending == false ) {
متود startsWith به روشی مشابه استفاده می شود.
1Boolean startVal = email_address.startsWith( dotcom );
مجددا مقدار گزارش شده یک مقدار true یا false از Boolean می باشد.
در بخش بعدی چگونگی استفاده از متودی به نام substring را فرا خواهید گرفت.
سلام با آموزش جاوا JAVA در خدمت شما عزیزان هستم
در قسمت قبل از آموزش تصویری برنامه نویسی جاوا با آرایه ها در جاوا آشنا شدیم
حال با ادامه آموزش جاوا همراه باشید:
آرایه Array هایی که تاکنون استفاده کرده اید تناه یک ستون داده دارند. اما می توانید یک array برای نگهداری بیشتر از یک ستون تنظیم کنید. این array ها چند بعدی نامیده می شوند. به عنوان مثال یک صفحه ی گسترده را با ردیف ها و ستون ها در نظر بگیرید. اگر 6 ردیف و 5 ستون داشته باشید، صفحه ی گسترده ی شما می تواند 30 عدد را در خود داشته باشد، که ممکن است مانند تصویر زیر به نظر برسد:
یک array چند بعدی موردی است که می تواند همه ی مقادیر بالا را در خود داشته باشد، که آنها را مانند زیر تنظیم کرده اید:
1int[ ][ ] aryNumbers = new int[6][5];
این array به روش تنظیم یک array عادی تنظیم می شود، به جز اینکه در این مورد دو مجموعه کروشه دارید. اولین مجموعه از کروشه ها برای ردیف ها می باشد و دومین مجموعه نیز برای ستون ها می باشد. در خط بالا به جاوا اعلام کرده ایم که یک array با 6 ردیف و 5 ستون تنظیم کند. برای حفظ مقادیر در یک array چند بعدی، باید مراقب دنبال کردن ردیف ها و ستون ها باشید. در اینجا کدهایی را برای پر کردن اولین ردیف های اعداد از تصویر صفحه ی گسترده ی ما مشاهده می کنید:
1aryNumbers[0][0] = 10;
1aryNumbers[0][1] = 12;
1aryNumbers[0][2] = 43;
1aryNumbers[0][3] = 11;
1aryNumbers[0][4] = 22;
بنابراین اولین ردیف، ردیف 0 می باشد. سپس ستون ها از 0 تا 4 می باشند که 5 آیتم هستند. برای پر کردن دومین ردیف کد زیر لازم می باشد:
1aryNumbers[1][0] = 20;
1aryNumbers[1][1] = 45;
1aryNumbers[1][2] = 56;
1aryNumbers[1][3] = 1;
1aryNumbers[1][4] = 33;
اعداد ستون همان است، اما اعداد مربوط به ردیف همه 1 نی باشند.
تکنیک مورد نیاز برای دسترسی به همه ی آیتم ها در یک array چند بعدی، استفاده از یک loop داخل یکی دیگر می باشد. در اینجا کدی را مشاهده می کنید برای دسترسی به همه ی اعداد در بالا. این برنامه از یک double برای loop استفاده می کند:
اولین for loop برای ردیف ها استفاده می شود و دومین for loop برای ستون ها. در اولین چرخش از اولین loop، مقدار متغیر i عدد 0 خوهد شد. کد داخل for loop یک loop دیگر می باشد. تمام این loop دوم هنگامی که مقدار متغیر i عدد 0 باشد، اجرا خواهد شد. for loop دوم از یک متغیر به نام j استفاده خواهد کرد. متغیرهای i و j برای دسترسی به array قابل استفاده می باشند.
1aryNumbers[ i ][ j ]
بنابراین سیستم دو loop برای وارد کردن همه ی مقادیر به یک array چند بعدی استفاده می شود، ردیف به ردیف.
تمرین: برنامه ی فوق در جایی به پایان می رسد که در آن در حال نوشتن برنامه ای برای چاپ تمام مقادیر از صفحه ی گسترده هستیم. وقتی که این کار انجام می شود، پنجره ی Output چیزی شبیه به تصویر زیر خواهد بود:
آرایه Array های چندبعدی می توانند گول زننده نیز باشند، اساسا به این دلیل که حفظ مسیر ستون ها و ردیف های شما سخت می باشد! در بخش بعدی در مورد لیست های array فرا خواهید گرفت.
اگر از تعداد آیتم هایی که قرار است در array قرار بگیرند، اطلاعی ندارید، ممکن ست بهتر باشد از چیزی به نام ArrayList استفاده کنید. یک ArrayList در واقع یک ساختار دینامیک داده می باشد، به این معنا که آیتم ها قابل حذف و اضافه از لیست می باشند. یک array معمولی در جاوا یک ساختار استاتیک داده می باشد، زیرا شما اندازه ی اولیه ی array خود را دارید.
برای تنظیم یک ArrayList، ابتدا باید پوشه ای از java.util library وارد کنید:
1import java.util.ArrayList;
سپس می توانید یک آبجکت ArrayList جدید ایجاد کنید:
1ArrayList listTest = new ArrayList( );
توجه کنید که این بار نیازی به کروشه ندارید.
زمانی که آبجکت ArrayList جدید داشته باشید، می توانید با متود add، عناصری به آن اضافه کنید:
1listTest.add( "first item" );
1listTest.add( "second item" );
1listTest.add( "third item" );
1listTest.add( 7 );
بین پرانتزهای add آنچه را که می خواهید به ArrayList اضافه کنید، قرار دهید. به هرحال فقط می توانید آبجکت ها را اضافه کنید. سه آیتم اولی که به لیست بالا اضافه کرده ایم، آبجکت های String می باشند. چهارمین آیتم یک عدد می باشد. اما این عدد یک آبجکت از نوع صحیح خواهد بود.
آیتم ها در لیست می توانند توسط یک عدد Index و با استفاده از یک متود get مورد اشاره قرار بگیرند:
1listTest.get( 3 )
این خط آیتم را روی لیست در Index position 3 خواهد گرفت. اعداد ایندکس شمارش را از 0 شروع می کنند، بنابراین این آیتم چهارمین آیتم خواهد بود.
شما می توانید آیتم ها را از یک ArrayList حذف هم بکنید:
1listTest.remove(2);
یا می توانید از مقدار روی لیست استفاده کنید:
1listTest.remove( "second item" );
حذف یک آیتم باعث تغییر اندازه ی ArrayList خواهد شد، بنابراین وفتی از عدد شاخص استفاده می کنید، وقتی سعی در به دست آوردن یک آیتم روی لیست دارید، باید مراقب باشید. اگر آیتم شماره ی 2 را حذف کرده ایم، بنابراین لیست فوق فقط حاوی 3 آیتم خواهد بود. سعی در به دست آوردن با عدد شاخص 3، منجر به بروز خطا خواهد شد.
برای وارد شدن به هر آیتم در ArrayList، می توانید چیزی به نام یک Iterator را تنظیم کنید. ایک گروه در کتابخانه ی java.util نیز یافت می شود:
1import java.util.Iterator;
می توانید ArrayList را به یک آبجکت Iterator جدید ضمیمه کنید:
1Iterator it = listTest.iterator( );
این خط یک آبجکت Iterator جدید تنظیم می کند که می تواند برای وارد شدن به آیتم ها در ArrayList به نام listTest استفاده شود. دلیل استفاده از یک آبجکت Iterator این است که این آبجکت دارای متودهایی به نام next و hasNext می باشد. می توانید از اینها در یک loop استفاده کنید:
1while ( it.hasNext( ) ) {
1System.out.println( it.next( ) );
1}
متود hasNext یک مقدار Boolean را گزارش می دهد. اگر آیتمی در ArrayList وجود نداشته باشد، مقدار false خواهد بود. متود بعدی می تواند برای وارد شدن همه ی آیتم ها در لیست استفاده شود.
برای تست کردن همه ی این تئوری کد زیر را امتحان کنید:
به خطی که همه ی لیست را چاپ می کند، دقت داشته باشید:
1System.out.println( "Whole list=" + listTest );
این خط به شما یک روش سریع برای مشاهده ی آیتم های روی لیستتان ارائه می دهد. وقتی کد اجرا می شود، پنجره ی Output موارد زیر را نمایش خواهد داد:
1first item second item third item 7 Whole list=[first item, third item, 7] Position 1=third item
به طور خلاصه، وفتی از تعداد عناصری که قرار است در لیستی از آیتم ها قرار بگیرند، مطمئن نیستید، از ArrayList استفاده کنید. اکنون بررسی array ها را رها می کنیم. در بخش بعدی به بررسی رشته ها خواهیم پرداخت.
این آموزش ادامه دارد
اگر نیازی به دریافت و دیدن رایگان فیلم و مقالات آموزشی و حتی کلاس آموزشی دارید کافی است کلیک کنید آموزشگاه تحلیل داده
در این آموزش در مورد چگونگی کاربرد مولفه های تویتر بوت استرپ فرا خواهید گرفت.
کاربرد مولفه های تویتر بوت استرپ:
تویتر بوت استرپ مولفه هایی را برای کاربردهای معمول ارائه می دهد.
Jumbotron:
مولفه ی jumbotron
یک روش عالی برای نمایش محتوا یا اطلاعات مهم روی صفحه ی وب می باشد. فقط
محتوای خاص خود را مانند تیتر، توصیفات و غیره را در یک عنصر <div> قرار داده و گروه
.jumbotron را روی آن به کار برید.
مثال:
<div class="jumbotron">
<h1>Learn to Create Websites</h1>
<p>In today's world internet is the most popular way…</p>
<p><a href="#" class="btn btn-primary btn-lg">Learn more</a></p>
</div>
خروجی مثال بالا مانند تصویر زیر خواهد بود:
برای ایجاد یک jumborton بدون گوشه های گرد و همچنین نوعی که تمام عرض ویو پرت را می پوشاند، آن را خارج همه ی کانتینرها قرار داده و .container
را داخل آن قرار دهید.
مثال:
<div class="jumbotron">
<div class="container">
<h1>Learn to Create Websites</h1>
<p>In today's world internet is the most popular way…</p>
<p><a href="#" class="btn btn-primary btn-lg">Learn more</a></p>
</div>
</div>
مولفه ی ولز:
شما می توانید با استفاده از گروه بوت استرپ .well
یک افکت داخلی ساده به عنصر بدهید.
مثال:
<div class="well">
Look, I'm in a well!
</div>
خروجی مثال بالا مانند تصویر زیر می باشد:
نکته: شما می توانید گوشه های گرد ولز را با استفاده از دو گروه اصلاح کننده ی .well-lg و .well-smکنترل کرد.
برای دیدن مقالات آموزش طراحی وب کلیک کنید.