Java 프로그램은 일반적으로 세 가지 프로세스 제어 구조로 나뉩니다: 순차 구조, 분기 구조, 루프 구조
순차 구조
프로그램은 위에서부터 순서대로 배열됩니다. 사이에 점프나 판단문 없이 라인 실행.
샘플 코드는 다음과 같습니다.
1 public class TestSortStruc { 2 public static void main(String[] args) { 3 //流程控制:顺序结构 4 int i = 15; 5 int j = i + 1; 6 System.out.println(j); 7 8 /*错误示例,因为n的赋值语句使用到了m,所以不能将m在n后面定义 9 * int n = m + 1;10 int m = 10;11 System.out.println(n);*/12 }13 }
분기 구조
조건에 따라 특정 코드 블록을 선택적으로 실행합니다.
분기문은 if...else와 switch..case 두 가지 유형으로 나뉩니다.
1. if 문의 세 가지 구조:
1. if(true){
실행 코드 블록;}
샘플 코드는 다음과 같습니다.
1 public class TestIf1 {2 public static void main(String[] args) {3 if(true){4 System.out.println("Hello World!!");5 }6 }7 }
2.if(조건부 판단문){
코드 블록 실행;}
else{
실행 code block;}
샘플 코드는 다음과 같습니다.
1 public class TestIf2 { 2 public static void main(String[] args) { 3 int age = 21; 4 if(age>18){ 5 System.out.println("你已经成年了!!"); 6 }else{ 7 System.out.println("你还没有成年!!"); 8 } 9 }10 }
3. if(조건부 판단문) {
실행 코드 블록;}
else if(조건부 판단문) ) {
코드 블록 실행 }
......
else{코드 블록 실행;}
1 public class TestIf3{ 2 public static void main(String[] args) { 3 int age = 26; 4 5 if(age > 130 || age < 0){ 6 System.out.println("估计不是人吧!!"); 7 }else if(age <30){ 8 System.out.println("你还挺年轻!!只有"+ age +"岁"); 9 }else{10 System.out.println("我都是孩子他爹了,你另找心上人吧!!");11 }12 }13 }
키보드를 통해 값을 얻은 다음 학생의 점수를 판단하는 if 판단 문은 Scanner 개체를 사용하여 사용자가 콘솔에 값을 입력할 수 있도록 합니다
샘플 코드는 다음과 같습니다.
1 /*题目: 2 * 从键盘输入自己的考试成绩 3 * 当成绩为100分时,奖励一台外星人电脑 4 * 当成绩在80~99时,奖励一部iPhone7 plus 5 * 当成绩在60~80时,奖励一本考试科目的习题册 6 * 成绩低于60时,没有奖励,需要连续三个月不许玩游戏看电视。*/ 7 //1.导入Scanner包,记住一定要是java.util下的Scanner包 8 import java.util.Scanner; 9 10 public class TestScanner {11 public static void main(String[] args) {12 //2.new 一个Scanner对象sc13 Scanner sc = new Scanner(System.in);14 /*3.从键盘获取用户输入的值,因为要判断成绩,15 所以规定输入的值是int类型的数字,使用nextInt()方法*/16 System.out.println("请输入你的成绩:");17 int grade = sc.nextInt();18 //使用if判断语句进行成绩奖励判断19 if(grade == 100){20 System.out.println("恭喜你,获得一台外星人电脑!!");21 }else if(grade < 100 && grade >= 80){22 System.out.println("恭喜你,获得一部iPhone7 plus!!");23 }else if(grade < 80 && grade >=60 ){24 System.out.println("恭喜你,你需要完成一本本学科的习题册!!");25 }else{26 System.out.println("很遗憾,你在未来的三个月不能玩游戏,看电视!!");27 }28 }29 }
참고: 1. If 조건 판단은 중첩될 수 있습니다.
2. 1) 여러 조건 사이에 "상호 배타적" 관계가 있으면 조건문의 순서는 자유입니다.
2) "포함" 관계가 있으면; 여러 조건 사이에 있는 경우 위의 더 큰 범위 조건에 더 작은 범위의 조건을 작성해야 합니다.
2. switch...case 문:
switch(expression){
진술 1 ;
break;
대소문자 상수 2:
문 2;
break;
…
대소문자 상수 n:
Statement n;
Statement;
break;
}
가치를 기준으로 표현식에서 해당 사건을 선택하여 판단하면, 사건 조건이 만족되면 해당 사건의 진술이 실행됩니다.
전환 뒤 괄호 안의 표현식 값의 데이터 유형은 char, byte, short, int, enumeration, String입니다(String 유형은 JDK1.7 이상에서만 사용할 수 있습니다). 대소문자가 뒤따르는 상수는 정확한 값만 될 수 있으며 값의 범위는 될 수 없습니다.
샘플 코드는 다음과 같습니다.
1 public class TestSwitch { 2 public static void main(String[] args) { 3 int i=1; 4 switch(i){ 5 case 0: 6 System.out.println("zero"); 7 break; 8 case 1: 9 System.out.println("one");10 break;11 case 2:12 System.out.println("one");13 break;14 case 3:15 System.out.println("one");16 break;17 case 4:18 System.out.println("one");19 break;20 default:21 System.out.println("ending");22 break;23 }24 }25 }
참고: break가 없거나 end에 도달한 경우 다른 case 문이 계속 실행됩니다. 특정 값만 얻으려면 기본값이 end 문이지만 break 키워드를 추가해야 합니다. 어떤 경우든 스위치에 쓸 수 있으며 케이스 안에 쓸 수는 없지만 습관적으로 맨 뒤에 배치됩니다. 기본값은 쓸 필요가 없습니다.
루프 구조
루프 조건을 통해 특정 코드 블록이 조건을 만족하지 않을 때까지 반복적으로 실행됩니다.
루프문은 while, do..while, for 루프의 세 가지 유형으로 나뉩니다.
참고: foreach 루프는 JDK1.5에서 제공되며 이는 편의 컬렉션 및 배열 요소에 더 편리합니다.
루프 구조는 가장 일반적으로 사용되며 가장 중요하므로 (2부) 글에서 별도로 정리하겠습니다.
위 내용은 Java--프로그램 흐름 제어의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!