menusearch
javapro.ir

متد () indexOf در کلاس String جاوا

جستجو
جمعه ۲۴ مرداد ۱۴۰۴ | ۱۳:۵۰:۲۶
۱۳۹۶/۸/۷ يكشنبه
(5)
(0)
متد () indexOf در کلاس String جاوا
متد  () indexOf در کلاس String جاوا
به نام خدا

        
تقدیم به هموطنان عزیزم



جاوا را با لذت یاد بگیر!

آموزش زبان برنامه نویسی جاوا

نمونه مثال از کلاس String

متد ()indexOf

نویسنده : رحمان زارعی

جاوا را ساده،آسان و شیرین بنوشید!!!

سلام. روزت به خیر. دوست عزیز متد () indexOf برای پیدا کردن ایندکس(index) یک کاراکتر خاص یا زیر رشته ای (substring) از یک رشته(String) مشخص در جاوا کاربرد دارد.

ایندکس(index) چیست؟ به شماره خانه های کاراکترهای موجود در یک String ایندکس(index) می‌گویند.

مثال: ایندکس های رشته "String str = "javalike به صورت زیر است:

ایندکس های String

•    مثلا ایندکس کاراکتر 'j' برابر 0 و ایندکس کاراکتر'e' برابر 7 است.

متد ()indexOf با چهار پارامتر مختلف در  کلاس String  وجود دارد:

 
int indexOf(int ch)

ایندکس(index) اولین کاراکتر ch موجود در یک String را برمی گرداند.
 
 
package javalike;

public class Test4 {

    public static void main(String[] args) {
        String str = "javalike";
        System.out.println(str.indexOf('a'));
}
    }
 
خروجی(output):
 
1

•    در برنامه بالا قصد داریم که شماره ایندکس کاراکتر 'a' را در رشته "str = "javalike پیدا کنیم.برای این کار از متد indexOf(int ch) استفاده کرده ایم.با وجود این که کاراکتر 'a' در دو ایندکس متفاوت از رشته "javalike" قرار گرفته است، یعنی هم در ایندکس شماره 0 و هم در ایندکس شماره 3 در رشته "javalike"  کاراکتر 'a' موجود است، اما متد indexOf(int ch)، ایندکس شماره 1 را به ما داد.چرا؟ زیرا متد indexOf(int ch) ایندکس(index) اولین کاراکتر ch موجود در یک String را برمی گرداند.

نکته:در متد indexOf(int ch) اگر کاراکتر ch در یک String پیدا نشد، این متد مقدار -1 را برای ما برمی گرداند.
Example:
 
package javalike;

public class Test4 {

    public static void main(String[] args) {
        String str = "javalike";
        System.out.println(str.indexOf('D'));

    }

}
 
خروجی(output):
 
-1

•    به دلیل این که کاراکتر 'D' در رشته "javalike" وجود نداشت، متد indexOf مقدار -1 را به عنوان خروجی به ما پس داد.
 
int indexOf(intch, intfromindex)

این متد چکار می‌کنید؟! این متد ایندکس اولین کاراکتر ch موجود در یک String را برمی گرداند. پارامتر fromindex چه نقشی برعهده دارد؟ نقطه شروع بررسی کاراکترهای String برای پیدا کردن ایندکس کاراکتر ch از خانه(ایندکس) fromindex رشته(String) است. براتون مثال میزنم که این توضیح رو متوجه بشید.

 
 
package javalike;

public class Test4 {

    public static void main(String[] args) {
        String str = "javalike";
        System.out.println(str.indexOf('a'));

    }

}

خروجی(output):
 
1

•    در مثال بالا متد indexOf شماره ایندکس اولین کاراکتر  'a' موجود در رشته "javalike" را برای ما به دست آورد.یعنی متد indexOf شماره ایندکس کاراکتر  'a'  موجود در رشته "javalike" که بعد از حرف 'j' و قبل از حرف 'v' قرار داشت را برای ما برگرداند.

•    حالا ما قصد داریم که شماره کاراکتر 'a' که بعد از حرف 'v' و قبل از حرف 'l'  در رشته "javalike"  قرار دارد را به دست آوریم. برای این کار ما باید به خانم!!! indexOf بگیم از یک نقطه مشخصی که ما برات تعیین می‌کنیم شروع به پیدا کردن ایندکس کاراکتر مورد نظر ما که در اینجا کاراکتر 'a' که بعد از حرف 'v' و قبل از حرف 'l' قرار دارد، کن.

•    ابتدا باید از متد  indexOf(int ch, int fromindex) استفاده کنیم. به جای پارامتر ch کاراکتر مورد نظر که در اینجا کاراکتر ما 'a' است و به جای پارامتر fromindex نقطه(ایندکس) شروع بررسی کاراکتر به کاراکتر رشته مورد نظر که در اینجا "javalike" است را قرا می‌دهیم.
Example:

 
package javalike;

public class Test4 {

    public static void main(String[] args) {
        String str = "javalike";
        System.out.println(str.indexOf('a', 2));

    }

}
 
خروجی(output):
 
3

•    در مثال بالا ما ایندکس کاراکتر 'a' را از خانه شماره 2 یعنی از کاراکتر 'v' رشته "javalike" شروع به بررسی و پیدا کردن، کردیم.چرا؟ چون هدف ما به دست آورن ایندکس کاراکتر 'a' بعد از کاراکتر 'v' و قبل از کاراکتر 'l' که در رشته "javalike" قرار داشت، بود.


•    دستور str.indexOf('a', 2) کاراکتر 'a' را از ایندکس شماره 2 رشته "javalike" بررسی کرده، و در صورت وجود داشتن، ایندکس آن را به ما برمی گرداند.به عبارتی دیگر هنگام بررسی کاراکترهای 'j ' ,'a' که ابتدای رشته "javalike" قرار داشتند را نادیده گرفته است.


•    به زبان ساده براتون بگم؟! معنی دستور str.indexOf('a', 2) اینه که، میگه ایندکس کاراکتر 'a' رو از کاراکتر 2 به بعد رشته str بررسی و پیدا کن.



نتیجه کلی:در کل اگر قصد داریم از نقطه خاصی(fromindex) از یک String شروع به پیدا کردن ایندکس کاراکتر مورد نظر(ch) خود کنیم از متد زیر استفاده می‌کنیم.
 
int indexOf(int ch, int fromindex)
 
متد بعدی.........

 
int indexOf(String str):
 
•    ایندکس رشته str را در یک String مشخص برمی گرداند.
نکته: برخی مباحث هستند که توضیح دادنشون بیشتر آدمو رو برای یادگیری گیج میکنه، به همین خاطر بهتره با مثال های متعدد مفهوم اون مبحث رو یاد بگیریم.
Example:
 
package javalike;

public class Test4 {

    public static void main(String[] args) {
        String a = "javalike";
           String str="like";
        System.out.println(a.indexOf(str));

    }

}
 
خروجی(output):
 
4

•    در مثال بالا رشته "like" در ایندکس شماره 4 رشته "javalike" قرار داشت. به همین خاطر دستور a.indexOf(str) مقدار 4 را برای ما برگرداند.

 
Example:
 
package javalike;

public class Test4 {

    public static void main(String[] args) {
        String  a = "java like free";
        String  str1 = "java";
        String  str2 = "like";
        String  str3 = "free";
        String  str4 = "like free";
        String  str5 = "java like";
        String  str6 = "ke";
        System.out.println(a.indexOf(str1));
        System.out.println(a.indexOf(str2));
        System.out.println(a.indexOf(str3));
        System.out.println(a.indexOf(str4));
        System.out.println(a.indexOf(str5));
        System.out.println(a.indexOf(str6));
    }

}

 
خروجی(output):
 
0
5
10
5
0
7


•    در مثال بالا رشته "java" در خانه (ایندکس) شماره 0 رشته a قرار دارد.

•    در مثال بالا رشته "like" در خانه (ایندکس) شماره 5 رشته a قرار دارد.

•    در مثال بالا رشته  "free" در خانه (ایندکس) شماره 10 رشته a قرار دارد.

•    در مثال بالا رشته "like free" در خانه (ایندکس) شماره 5 رشته a قرار دارد.

•    در مثال بالا رشته "java like" در خانه (ایندکس) شماره 0 رشته a قرار دارد.

•    در مثال بالا رشته "ke" در خانه (ایندکس) شماره 7 رشته a قرار دارد.



نکته: شماره ایندکس اولین کاراکتر رشته str در یک String مشخص، تعیین کننده ایندکس رشته str است. مثلا: در مثال بالا رشته str3 = "free"; در رشته "a = "java like free موجود است. شماره ایندکس کاراکتر 'f' رشته "free" در رشته "java like free" برابر 10 است، پس شماره ایندکس رشته "free" در رشته "java like free" نیز برابر 10 است.

متد بعدی.........
 
int indexOf(String str, intfromindex)

•    این متد برای پیدا کردن ایندکس رشته str از ایندکس fromindex شروع به بررسی String مورد نظر می‌کند. به عبارتی دیگر اولین رشته str بعد از ایندکس fromindex رشته مورد نظر را پیدا می‌کند.

Example:

 
package  javalike;

public  class  Test4 {

    public  static  void  main(String[] args) {

        String  a = "java like free java";

        String  str1 = "java";

        System.out.println(a.indexOf(str1, 3));
    }

}

 
خروجی(output):
 
15

توضیحات:
 
System.out.println(a.indexOf(str1, 3));
 
•    در دستور بالا گفته شده است ایندکس رشته str1 را از ایندکس سوم به بعد رشته a بررسی کن و در صورت موجود بودن برای ما برگردان.

•    با وجود این که رشته "java"  را در ابتدای رشته a داریم یعنی در ایندکس شماره 0 اما به دلیل این که به متد  indexOf(str1, 3) گفتیم ایندکس های سوم به بعد رشته a رو بررسی کن، ایندکس های 0 تا 2 رشته a نادیده گرفته می‌شوند و متد indexOf از ایندکس سوم به بعد میگرده و ایندکس رشته str1 را در رشته a پیدا می‌کند.


نکته: همه چهار متد مختلف indexOf در صورت پیدا نکردن کاراکتر یا String مورد نظر در یک String مشخص مقدار
-1 را برای ما برمیگردانند.

 
Example:
 
package javalike;
public class indexOfExample {
    public static void main(String args[]) {
        String str1 = new String("This is a javalike tutorial");
        String str2 = new String("java");
        String str3 = new String("like");
        String str4 = new String("likes");
        System.out.println("index of j in str1: " + str1.indexOf('j'));
        System.out.println("index of j in str1 after 10th char:"
                + str1.indexOf('i', 10));
        System.out.println("index of j in str1 after 30th char:"
                + str1.indexOf('j', 30));
        System.out
            . print ln("index of string str2 in str1:" + str1.indexOf(str2));
        System.out.println("index of str2 after 15th char:"
                + str1.indexOf(str2, 15));
        System.out.println("index of string str3:" + str1.indexOf(str3));
        System.out.println("index of string str4:" + str1.indexOf(str4));
        System.out.println("index of harcoded string:" + str1.indexOf("is"));
        System.out.println("index of hardcoded string after 4th char:"
                + str1.indexOf("is", 4));
    }
}
 
خروجی(output):
 
index of j in str1: 10
index of j in str1 after 10th char:15
index of j in str1 after 30th char:-1
index of string str2 in str1:10
index of str2 after 15th char:-1
index of string str3:14
index of string str4:-1
index of harcoded string:2
index of hardcoded string after 4th char:5

پیروز و موفق باشید

کانال تلگرام جاوا

این جلسه آموزشی را می‌توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.
این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)



کتاب آموزش جاوا
لینک دانلود


باز نشر این مطلب تنها بصورت PDF و با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.
هدر سایت
لیست دوره های مبتدی تا حرفه ای جاوا، از Spring Boot تا معماری میکروسرویس
دوره جامع نخبگان معماری میکروسرویس ها با Java و Spring Boot
دوره برنامه نویسی Spring Core
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
ثبت نام در دوره آموزش Spring security
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
طراحی توسط سایت ساز خبری
گفتگو را شروع کنید
مشاوره ،کلاس خصوصی آنلاین،پشتیبانی دوره های آکادمی جاواپرو و سفارش پروژه