A loop over character slices can count simple text features while keeping every step explicit.

Program

Play the program to choose which character to count in the sample text.

character_scan.f90
program character_scan_demo
    implicit none
    integer :: target_index
    integer :: i, hits
    character(len=12) :: text
    character(len=1) :: target

    text = 'banana band'
    target_index = 
    select case (target_index)
        case (1)
            target = 'a'
        case (2)
            target = 'n'
        case default
            target = 'b'
    end select
    hits = 0
    do i = 1, len_trim(text)
        if (text(i:i) == target) hits = hits + 1
    end do
    print '(A, 1X, I0)', target, hits
end program character_scan_demo
program character_scan_demo
    implicit none
    integer :: target_index
    integer :: i, hits
    character(len=12) :: text
    character(len=1) :: target

    text = 'banana band'
    target_index = 
    select case (target_index)
        case (1)
            target = 'a'
        case (2)
            target = 'n'
        case default
            target = 'b'
    end select
    hits = 0
    do i = 1, len_trim(text)
        if (text(i:i) == target) hits = hits + 1
    end do
    print '(A, 1X, I0)', target, hits
end program character_scan_demo
program character_scan_demo
    implicit none
    integer :: target_index
    integer :: i, hits
    character(len=12) :: text
    character(len=1) :: target

    text = 'banana band'
    target_index = 
    select case (target_index)
        case (1)
            target = 'a'
        case (2)
            target = 'n'
        case default
            target = 'b'
    end select
    hits = 0
    do i = 1, len_trim(text)
        if (text(i:i) == target) hits = hits + 1
    end do
    print '(A, 1X, I0)', target, hits
end program character_scan_demo
character slice `text(i:i)` reads one character at position `i`.
counter loop The loop increments `hits` only when the selected character matches.
len_trim `len_trim(text)` keeps the scan inside the visible text.