〜しか〜ない means 'only' or 'nothing but'. It is always used with a negative predicate, and it usually shows that the speaker feels the amount is small or not enough. For example, 100円しかありません means 'I have only 100 yen (and that is too little)'. (Dictionary-form verb + しかない, 'have no choice but to', is a different use that is usually studied at N3.)
§1Structure
Noun / number + counter + しか + negative predicate (100円しかありません, コーヒーしか飲みません). しか replaces が and を (水を飲む → 水しか飲まない). Other particles stay and しか comes after them: にしか, でしか, としか, からしか (この店でしか買えない). The predicate is always negative in form, but the meaning is affirmative: 'only'.
§2Examples
さいふに100円しかありません。
さいふにひゃくえんしかありません。
I have only 100 yen in my wallet.
きのうは3時間しか寝ませんでした。
きのうはさんじかんしかねませんでした。
I slept only three hours yesterday.
朝はコーヒーしか飲みません。
あさはコーヒーしかのみません。
In the morning I have nothing but coffee.
この料理はこの店でしか食べられません。
このりょうりはこのみせでしかたべられません。
You can eat this dish only at this restaurant.
会議には田中さんしか来ませんでした。
かいぎにはたなかさんしかきませんでした。
Only Mr. Tanaka came to the meeting.
弟はまだひらがなしか読めない。
おとうとはまだひらがなしかよめない。
My little brother can still read only hiragana.
休みは1日しかないんですか。
やすみはいちにちしかないんですか。
Do you have only one day off?
そのことはリンさんにしか話していません。
そのことはリンさんにしかはなしていません。
I have told only Ms. Linh about that.
§3Common mistakes
- Using an affirmative predicate: ✗ 100円しかあります. しか must be followed by a negative form: ○ 100円しかありません. With an affirmative predicate, use だけ: ○ 100円だけあります.
- Keeping が or を with しか: ✗ 水をしか飲みません, ✗ 田中さんがしか来ませんでした. しか takes the place of が and を: ○ 水しか飲みません, ○ 田中さんしか来ませんでした. Particles such as に and で stay: ○ 日曜日にしか会えません.
- Reading the sentence as negative. 田中さんしか来ませんでした means 'Only Mr. Tanaka came', not 'Only Mr. Tanaka didn't come'. 'Only Mr. Tanaka didn't come' is 田中さんだけ来ませんでした.
§4How it's different from similar grammar
- 〜だけ (only)
- だけ simply limits and is neutral; it can be used with both affirmative and negative predicates: 1000円だけ持っています (I have just 1,000 yen). しか〜ない always takes a negative predicate and adds the feeling 'so little, not enough': 1000円しか持っていません (I have only 1,000 yen, so I can't buy it). With a negative predicate the two mean different things: 野菜だけ食べません means 'vegetables are the only thing I don't eat', but 野菜しか食べません means 'I eat nothing but vegetables'.
- Number + も (as many / as much as)
- These show opposite feelings about the same number. 3時間しか寝ませんでした: the speaker feels three hours is too little. 3時間も昼寝をしました: the speaker feels three hours is a lot (I took a nap for as long as three hours). Note that しか needs a negative predicate, but number + も with this meaning is usually used with an affirmative one.
§5How this shows up on the JLPT
In N4 grammar-form questions, check the end of the sentence first: if the predicate is negative and the meaning is 'only', the answer is しか; if it is affirmative, it is だけ. The reverse also appears: しか is given and you choose the negative ending. In sentence-ordering questions, remember the order 'noun (+ に/で) + しか + negative'. In reading and listening, do not take a しか〜ない sentence as a negative: 一人しか来なかった means one person did come.
§6Quick check (3 questions)
1. 「パーティーにはリンさんしか来ませんでした。」 Who came to the party?
「パーティーにはリンさんしかきませんでした。」
2. Choose the ending that fits the blank: 冷蔵庫に卵が一つしか__。
れいぞうこにたまごがひとつしか__。
3. Which sentence is correct?