Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

Javaالدالة indexOf() في جافا

تعريفها

تبحث في الـ String الذي قام بإستدعائها عن أول index يوجد إبتداءاً من عنده نفس النص أو الحرف الذي نمرره لها و ترجعه.
بمعنى آخر, نعطيها أي نص أو حرف, فترجع لنا رقم أول خانة وجد عندها.

إفتراضياً هذه الدالة تبدأ عملية البحث من الـ index رقم 0 إلى آخر index موجود في الـ String.
و في حال لم يتم العثور على النص المراد البحث عنه ترجع 1-.



بناؤها

هناك أربع أشكال من هذه الدالة. أي يمكن إستدعاءها بأربع طرق مختلفة.

// الشكل الأول
public int indexOf(char ch)

// الشكل الثاني
public int indexOf(char ch, int fromIndex)

// الشكل الثالث
public int indexOf(String str)

// الشكل الرابع
public int indexOf(String str, int fromIndex)


باراميترات

  • مكان الباراميتر ch نمرر الحرف الذي ستبحث عنه الدالة.
  • مكان الباراميتر str نمرر الـ String الذي ستبحث عنه الدالة.
  • الباراميتر fromIndex هو باراميتر إختياري, نضع مكانه رقم في حال أردنا جعل الدالة تبدأ عملية البحث من رقم index محدد و ليس من الـ index رقم 0.


قيمة الإرجاع

ترجع رقم يمثل أول index وجد عنده النص أو الحرف الذي مررناه لها, و ترجع 1- في حال لم يتم إيجاد تطابق.



مثال

Main.java
public class Main {
 
    public static void main(String[] args) {
 
        String Str = "welcome to harmash.com, harmash is one of the best site for learning";
        String subStr = "harmash";
 
        System.out.println( Str.indexOf('a') );         // a وجد فيه الحرف index ستطبع أول
        System.out.println( Str.indexOf('a', 14) );     // رقم 14 index و ستبدأ في البحث من الـ a وجد فيه الحرف index ستطبع أول
 
        System.out.println( Str.indexOf(subStr) );      // subStr وجد فيه النص index ستطبع أول
        System.out.println( Str.indexOf(subStr, 16) );  // رقم 16 index و ستبدأ في البحث من الـ subStr وجد فيه النص index ستطبع أول
 
        System.out.println( Str.indexOf('x') );         // ستطبع 1- لأنها لن تجد هذا الحرف في كل النص
        System.out.println( Str.indexOf('@') );         // ستطبع 1- لأنها لن تجد هذا الحرف في كل النص
        System.out.println( Str.indexOf("hello") );     // ستطبع 1- لأنها لن تجد هذا النص في كل النص
 
    }
 
}

سنحصل على النتيجة التالية عند التشغيل.

12
15
11
24
-1
-1
-1