Maison >Java >javaDidacticiel >Introduction détaillée à l'utilisation des instructions conditionnelles et des structures de boucles en Java
Comme tout langage de programmation, Java utilise des instructions conditionnelles et des structures de boucles pour déterminer le flux de contrôle. Cet article expliquera brièvement les conditions, les boucles et les commutateurs.
1. Portée du bloc
Bloquer (bloc), c'est-à-dire une instruction composée. Il fait référence à plusieurs instructions Java simples entourées d'une paire d'accolades. Les blocs déterminent la portée des variables.
Par exemple :
1 public class Code { 2 static 3 { 4 System.out.println("1"); 5 } 6 { 7 System.out.println("2"); 8 } 9 public Code()10 {11 System.err.println("3");12 }13 public static void main(String[]args)14 {15 new Code();16 }17 }
Remarque : Les variables portant le même nom ne peuvent pas être déclarées dans deux blocs imbriqués.
2. Instruction conditionnelle
Format 1 :
if(condition)
{
instruction1
instruction2
.....
}
Par exemple :
1 if(youSales>=target)2 {3 performance="Satisfactory";4 bonus=1000;5 }
Format 2 :
if (condition) instruction1 else instruction2
Par exemple :
1 if(youSales>=target) 2 { 3 performance=“Satisfactory”; 4 bonus=100+10*(youSales-target“); 5 } 6 else 7 { 8 performance=”Unstatisfactory“; 9 bonus=0;10 }
3. Boucle
Lorsque la condition est vraie, la boucle while s'exécute.
Format 1 :
while(condition)statemnet
Par exemple :
1 while (balance<goal)2 {3 balance+=payment;4 double interest=balance*interestRate/100;5 balance+=interest;6 years++;7 }
Format 2 :
do déclaration while(condition);
1 do 2 { 3 balance+=payment; 4 double interest=balance*interestRate/100; 5 balance+=interest; 6 7 year++; 8 9 System.out.printf("After year %d,your balance is %,.2f%,year,balance");10 11 System.out.print("Ready to retire?(Y/N)");12 input=in.next();13 }14 while(input.equals("N"));15 16 }
4 Déterminer la boucle
L'instruction de boucle for est une méthode générale. qui prend en charge les itérations. Structure qui utilise un compteur ou une variable similaire mise à jour après chaque itération pour contrôler le nombre d'itérations.
Le format est similaire au suivant :
for (int i=0; i System.out.println(i); 4 exemples : 5. Sélection multiple : Le format de l'instruction switch est similaire au suivant : switch (choix) { cas 1 : ... ..... pause; cas 2 : ... pause; ....... //Vous pouvez avoir quelques cas supplémentaires (terminez-les par une pause) par défaut : ..... break; * Une expression constante de type char, byte, short ou int. * Constantes d'énumération * À partir de Java SE 7, les balises de cas peuvent également être des chaînes littérales. Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois! 1 public class ShuZu1 { 2 public static void main(String[]args){ 3 int [][] x={{1,2,2,2,2},{3,3,3,3,3},{4,5,-1,17,55}}; 4 int result=qiuHe(x); 5 System.out.println("和是"+result); 6 } 7 public static int qiuHe(int[][]x){ 8 int s=0; 9 for(int i=0;i<x.length;i++)10 {11 for(int j=0;j<x[i].length;j++)12 {13 s+=x[i][j];14 }15 }16 return s;17 }18 }
1 public class ShuZu2 { 2 public static void main(String[]args){ 3 int [][] x=new int[7][7]; 4 //生成随机数组,注意没有返回值,另外打印一行字 5 suiJi(x); 6 System.out.println("生成的数组是:"); 7 8 //显示数组内容,注意没有返回值 9 showArray(x);10 11 //取值12 float result=getAvg(x);13 System.out.println("平均数是"+result);14 15 }16 static float getAvg(int [][] x){17 float s=0;18 for(int i=0;i<x.length;i++){19 for(int j=0;j<x[i].length;j++){20 s+=x[i][j];21 }22 }23 return s/(x.length*x[0].length);24 }25 static void suiJi (int[][]x){ //这里我出错了。返回值写了int型,不应该的。思考一下。26 for(int i=0;i<x.length;i++){27 for(int j=0;j<x[i].length;j++){28 x[i][j]=(int)(Math.random()*10);29 }30 }31 }32 static void showArray(int[][]x){ //这里我出错了。返回值写了int型,不应该的。思考一下。33 for(int i=0;i<x.length;i++){34 for(int j=0;j<x[i].length;j++){35 System.out.print(x[i][j]+"\t");// 给数据空格36 }37 System.out.println();//打印换行38 }39 }40 }
1 import java.util.Arrays; 2 public class SuZu3{ 3 public static void main(String[] args) { 4 int [] x={2,-1,7,777,6,764,85896,65554,0,874785,417825,74};
5 sort(x,'n'); 6 for(int i=0;i<x.length;i++){ 7 System.out.print(x[i]+"\t"); 8 } 9 }10 //给数组进行选择性排序11 //调用API进行升序12 static void sort(int[]x,char Flag){13 if('A'==Flag){14 Arrays.sort(x);15 }16 else {17 for(int i=0;i<x.length-1;i++){18 for(int j=0;j<x.length-1-i;j++){19 int temp=0;20 if(x[j]<x[j+1]){21 temp=x[j];22 x[j]=x[j+1];23 x[j+1]=temp;24 }25 }26 }27 }28 }29 }
1 import java.util.Scanner; 2 3 public class Suzu4 { 4 public static void main(String[] args) { 5 System.out.println("请输入");//这个命令只能紧贴在Scanner scan = new Scanner(System.in);的上面或下面才有效。 6 Scanner scan = new Scanner(System.in); 7 //System.out.println("请输入");或者放在Scanner scan = new Scanner(System.in);的下面 8 String str = scan.nextLine();// nextLine才是接收一行 9 10 char[] s = str.toCharArray();// 把字符串转换称一个字符数组11 scan.close();12 int letterCount = 0;13 int numberCount = 0;14 int spaceCount = 0;15 int otherCount = 0;16 for (int i = 0; i < s.length; i++) {17 if (s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z') {18 letterCount++;19 } else if (s[i] >= '1' && s[i] <= '9') {20 numberCount++;21 } else if (s[i] == ' ') {22 spaceCount++;23 } else {24 otherCount++;25 }26 }27 System.out.println("字母有" + letterCount + "个");28 System.out.println("数字有" + numberCount + "个");29 System.out.println("空格有" + spaceCount + "个");30 System.out.println("其他有" + otherCount + "个");31 }32 }//ctrl+shift+f 是代码格式化33 //ctrl+shift+o 是导包