Disyorkan, 2021

Pilihan Editor

Perbezaan Antara rehat dan teruskan

Kedua-dua "pecah" dan "terus" adalah kenyataan 'melompat', yang memindahkan kawalan program ke bahagian lain program. C ++ menyokong empat kenyataan melompat iaitu 'kembali', 'goto', 'break' dan 'lanjutkan'. Java menyokong tiga kenyataan lompat 'istirahat' 'terus' dan 'kembali'. Perbezaan utama antara pemecahan dan meneruskan adalah pemecahan itu digunakan untuk penamatan gelung serta-merta, tetapi terus menamatkan lelaran semasa dan menyambung semula kawalan ke lelaran seterusnya gelung. Mari kita perhatikan perbezaan antara rehat dan teruskan dalam konteks C ++ dan Java.

Carta Perbandingan:

Asas untuk Perbandinganpecahteruskan
Tugas
Ia menamatkan pelaksanaan sisa lelaran sisa.Ia hanya menamatkan lelaran semasa gelung.
Kawalan selepas rehat / teruskan'rehat' meneruskan kawalan program ke hujung gelung yang melingkari 'istirahat'.'terus' menyambung semula program ke dalam lelaran seterusnya gelung yang melampirkan 'terus'.
PuncaIa menyebabkan penamatan gelung awal.Ia menyebabkan pelaksanaan awal lelaran seterusnya.
Penerusan'rehat' menghentikan kesinambungan gelung.'terus' tidak menghentikan kelanjutan gelung, ia hanya menghentikan lelaran semasa.
Kegunaan lain'break' boleh digunakan dengan 'switch', 'label'.'terus' tidak dapat dilaksanakan dengan 'switch' dan 'label'.

Definisi Break

Dalam pemecahan C ++ hanya mempunyai dua kegunaan iaitu terlebih dahulu digunakan untuk "menamatkan pelaksanaan kes dalam peralihan suis". Kedua, untuk "menamatkan gelung dan menyambung semula kawalan ke pernyataan berikutnya berikutan gelung". Tetapi dalam pemecahan Java mempunyai tiga kegunaan yang pertama, ia menamatkan kes dalam suis, kedua untuk menamatkan gelung yang melingkari pemecah dan ketiga, seperti yang disebutkan sebelumnya bahwa Java tidak memberikan pernyataan 'goto' tetapi, bentuk istirahat yang diperpanjang dapat digunakan dalam tempat 'goto'.

Marilah kita lihat, setiap penggunaan 'istirahat' secara terperinci.

Penggunaan pertama untuk menamatkan pelaksanaan kes dalam suis. Pecah suis hanya memberi kesan kepada suis yang melekatkannya, ia tidak menjejaskan gelung yang melampirkan suis.

 // Dalam konteks kepada C ++. // menggunakan rehat dalam suis dalam konteks C ++. suis (ungkapan integer) {kes 1: ..... ..... pecah; kes 2: ..... ..... pecah; kes 3: ..... ..... pecah; lalai: ....... .......} 

Penggunaan kedua, dengan paksa menamatkan gelung dan menyambung semula pada pernyataan seterusnya gelung. Sebaik sahaja, pernyataan rehat ditemui di dalam gelung, gelung itu ditamatkan dengan serta-merta tanpa melaksanakan kod yang selebihnya dalam badan gelung itu dan kawalan program sampai kepada kenyataan seterusnya yang ditulis selepas gelung itu.

 // menggunakan break untuk keluar dari lingkaran dalam konteks ke Java class main_class {public static void main (string args []) {for (int i = 0; i <100; i ++) {system.out.println ("i:" + i); jika (i == 10) pecah; / // sebagai keadaan di dalam 'if' kawalan satistfies keluar dari 'untuk' gelung. } system.out.println ("Gelung pecah di sini"); }} 

putus hanya biarkan program keluar dari gelung yang melampirkannya. Jika rehat digunakan dengan gelung bersarang, ia hanya keluar gelung paling dalam dan tidak menjejaskan gelung luar.

Penggunaan ketiga, menggunakan rehat sebagai bentuk goto. Java menggunakan pemecahan sebagai bentuk goto tanpa masalahnya. Oleh kerana goto menyediakan cawangan tidak berstruktur yang sukar difahami dan juga goto melarang pengoptimuman pengkompil, Java menggunakan bentuk capaian yang diperluas yang sama seperti goto dan membantu untuk keluar lebih daripada satu blok pada satu masa dan meneruskan kawalan program ke akhir blok berlabel, yang disebut dengan kenyataan rehat.

Perisytiharan:

 memecahkan label; 

Di sini, "label" adalah nama blok kod tertentu atau pengenal di Jawa, dan blok berlabel ini mesti melampirkan pernyataan pecah. Kenyataan putus berlabel digunakan untuk keluar dari set gelung bersarang. Oleh kerana pernyataan pelanggaran berlabel dihadapi, kawalan keluar dari blok berlabel yang disebut dengan pernyataan pecah.
Mari kita lihat secara praktikal.

 // menggunakan pemecahan sebagai bentuk goto dalam konteks ke kelas Java main_class {public static void main (strings args []) {boolean t = true; pertama {second {third {system.out.println ("blok ketiga ini"); jika (t) putus dahulu; } system.out.println ("blok kedua ini"); } system.out.println ("blok pertama ini"); } system.out.println ("blok utama ini"); }} // output: ini adalah blok ketiga ini adalah blok utama 

Dalam kod ini, apabila kawalan mencapai blok ketiga, pernyataan cetakan akan dilaksanakan dan selepas itu kawalan akan disambung semula ke pernyataan 'if', dan kerana ia berpuas hati, pernyataan pelanggaran dengan label dilaksanakan. Label yang dilampirkan dengan rehat adalah yang pertama, maka kawalan semula diteruskan kepada pernyataan yang ditulis selepas akhir blok pertama iaitu dalam blok utama yang merupakan pernyataan cetakan dan yang akan dilaksanakan.

Definisi Teruskan

Sebagai rehat menamatkan sisa lelaran gelung dan membolehkan kawalan keluar gelung, di sini, terus berfungsi agak berfungsi seperti rehat. Kenyataan yang berterusan menghentikan pelaksanaan kod yang tinggal di gelung untuk lelaran semasa dan menyambung semula kawalan ke lelaran seterusnya gelung itu. Pernyataan yang berterusan melangkau kod untuk lelaran semasa dan melewati kawalan ke lelaran seterusnya gelung.

Mari kita fahami dengan contohnya.

 // menggunakan terus dalam konteks ke C ++. // ia mencetak nombor sehingga 100. class main_class {public static void main (string args []) {for (int i = 0; i <100; i ++) {if (i% 2! = 0) continue; // terus meneruskan kawalan ke lelaran seterusnya untuk sistem loop.out.println ("i:" + i); }}} 

Dalam program di atas, Jika pernyataan 'jika' berpuas hati maka, teruskan penyataan yang dilaksanakan, yang tidak membenarkan pernyataan cetakan berikut untuk melaksanakan dan menyambung semula kawalan ke lelaran seterusnya 'untuk'. Jika i = 1 maka keadaan 'if' berpuas hati dan terus dilaksanakan, tanpa melaksanakan pernyataan cetakan untuk nilai ganjil 'i' dan, kawalan itu akan disambung semula ke lelaran seterusnya 'untuk i = 2'. Sekiranya i = 2 maka 'if' statement tidak puas maka; terus tidak melaksanakan dan mencetak pernyataan mencetak nilai 'i' yang mana pun.

Perbezaan Utama antara Break and Continue

  1. Pada asasnya, kata kunci memecahkan menamatkan sisa lelaran gelung. Sebaliknya, kata kunci terus menamatkan hanya lelaran semasa gelung.
  2. Sebaik sahaja kata kunci pecah dijalankan, kawalan program keluar dari gelung dan resume ke pernyataan seterusnya selepas gelung. Sekiranya terus kata kunci, kawalan program diteruskan ke lelaran seterusnya gelung.
  3. Seperti langkah di atas menyimpulkan, bahawa selepas pelaksanaan kawalan rehat program keluar dari gelung ia difahami dengan jelas bahawa pemecah menyebabkan penamatan awal sebarang gelung. Sebaliknya, teruskan sahaja menamatkan lelaran semasa dan meneruskan ke lelaran seterusnya gelung maka kita boleh mengatakan bahawa terus menyebabkan pelaksanaan awal lelaran seterusnya gelung.
  4. Kata kunci istirahat menamatkan semua lelaran yang tersisa selepas pelaksanaannya sehingga kita dapat mengatakan bahawa ia menghentikan kelanjutan gelang padahal, kata kunci terus masih meneruskan pelaksanaan gelung.
  5. Kata kunci pemecahan boleh digunakan bersama dengan pernyataan "switch" serta "label" sedangkan, kata kunci terus tidak dapat digunakan dengan "switch" dan "label".

Kesimpulan:

Istirahat dan terus kenyataan kedua-duanya adalah kenyataan lompat yang memindahkan kawalan ke bahagian lain program. Di mana pernyataan putaran biarkan kawalan keluar dari gelung, pernyataan terus biarkan kawalan ke lelaran seterusnya gelung itu.

Top