4-1. 条件文と重複文
繰り返し文を作成するときは、実行を続行するように注意してください.
open perspective -> debug -> disconnect all
後でsqlと一緒に使用すると、リソースが不足して実行できない可能性があります.
条件文if->連続データ(>,<...)の比較は、比較的簡単(1、2個比較100~90 A級)
if(条件)処理文;
if(条件)処理文;else処理文;<--1つの問題を扱うときに{}がなくても大丈夫~
(条件)?文の処理:文の処理;さんこうえんざんし
if(条件)処理文;else if(条件)else処理文;
switch:非連続データ、数値比較、boolean、char、String(==比較可能なjava 1.6以上)
swich(num){
Case 1:~//num==1//非連続データ(同==比較)
case 2: ~
default://ifの場合else
}
//:<-ラベル-移動先を指定-構造化プログラムから距離があるため、あまり好きではありません
//break; switch文が飛び出していない場合、起動したcaseは次の順序で実行されます.
//breakプログラムを停止して終了するために使用->switch,repeat(for,while)
//if無効
break=switch,for,while(whileのみ)/ifが存在する場合、while文は終了します.
文字列は「」でなければなりません.
case "list":{ }
*ALT+方向キー:選択した行コードを移動
4つの文字列のうち1つしか受け入れられません
list
view
write
update
delete
その他-無効なコマンド-
公告事項掲示板
質問への回答の最後の部分
以外のエラーメニューを選択しました.
スキャナ作成
メニュー出力
入力メニュー
入力されたメニューの処理
スキャナを閉じる
エラーなしで強制実行すると、数値実行の問題が発生します.
文字入力時に0回で出力
実際には必要ありませんが...好奇心を持ってやる
1.標準
int i = 0;
for(i;2.繰返し条件;4.増減){3.処理文;}
変形(1) int i = 0;
for(i;2.繰り返し条件;){
しょり文
増減外注可能
}
->while文
int i = 0; -1番
while(2.繰り返し条件){
しょり文
増減外注可能
}
for(;;) あまり使わない様子がおかしい.
int i = 0; 1.条件(ない場合もある)
for( ; ; ) <- 無限反復処理{
2 .繰り返し条件とは逆(終了条件を与えて中断する;終了を使用する)
しょり文
増減外注可能
}
->while無限ループ
int i = 0; 1.条件(ない場合もある)
while(true)<-無限繰返し処理{
2 .繰り返し条件とは逆(終了条件を与えて中断する;終了を使用する)
しょり文
増減外注可能
}
列を数える
1 + 2 + .... + 10
スコアデータは不連続です(複数のデータが不連続の場合は配列で処理します)
100, 95, 70
初期値を知っている人は、すぐに書くことができます.
int score[] = {100, 95, 70}
{100,95,70}保存して保存したアドレスをscoreに入れる
文字長-1でインデックスを検索
i = [0]
二重小数点で切り捨てたものではありません
2回int iと宣言しても、領域変数forとしてアクティブになり、エラーなく削除されます.
アルゴリズム数列問題
方法で条件文を書くと、このような問題も起こります.
アレイ内のすべてのデータを処理する必要があります.
=>foreach:配列データを順番に繰り返すたびに1つ取り出し、宣言された変数に入れて処理します
scoreを作成し、score配列を順番に挿入
上部[0]からタイルをポップアップ
しゅつりょく
whileは繰り返し文を終了させ、自然に終了させる. 1-1 break->loop whileを使用します.
外に出ながら、メインエンドのところへ.
//switch、for、whileに属するコード
//switchは終了するしかありません->外でwhileはもう一度終了します
//while文が始まる前にloop while:->case 0のbreakloop whileを指定します.完了後、ラベルを貼るとbreakで終了
2.メインに戻る()
sc.close();
return; 氷刀を折り返し車に閉じ込めなければならないが、メイン駅を越えることはできない.
強制終了JRE
sc.close();
System.exit(0); 番組を終わらせる.0は正常終了、残りは非正常
continue;
--データ通信でよく使われています(リポジトリがいっぱいになったら、一度上がってみる~という感じ)
バッファでは、書き込みデータが解放されず、アップシフトが要求される場合
open perspective -> debug -> disconnect all
後でsqlと一緒に使用すると、リソースが不足して実行できない可能性があります.
条件文if->連続データ(>,<...)の比較は、比較的簡単(1、2個比較100~90 A級)
if(条件)処理文;
if(条件)処理文;else処理文;<--1つの問題を扱うときに{}がなくても大丈夫~
(条件)?文の処理:文の処理;さんこうえんざんし
if(条件)処理文;else if(条件)else処理文;
public class IfElseIfElseExample {
public static void main(String[] args) {
int score = -100;
// 100 넘는값, -값 이 들어오면 -> 잘못된값이 들어왔습니다.
// 실제로는 100 넘을때 예외처리 해줘야함
// score 100 ~ 90 : A
// if (score > 100 || score < 0) {
// System.out.println("점수오류 (점수는" + ((score > 100)? "100점 이상이":"0점 미만이") + "될 수 없습니다");
// System.out.println("점수 : " + score);
// }
// else {
// if (score > 100) { if(score >= 90) ~~ } 연속되 if문 가능
//-> if (score > 100 && score >= 90) { ~~ } 따로 비교할것이 더 없다면 동시에 가능
if (score > 100) {
System.out.println("점수오류(점수는 100점 이상이 될 수 없습니다.)");
System.out.println("점수 : " + score);
}
else if (score >= 90) {
System.out.println("점수가 100~90 입니다.");
System.out.println("점수 : " + score + ", A ");
}
else if (score >= 80) { // else if : 위에 if가 아니면 = 90보다 작다
// else if 문은 90 > score >= 80 이다
System.out.println("점수가 90~80 입니다.");
System.out.println("점수 : " + score + ", B ");
}
else if (score >= 70) { // else if : 위에 if가 아니면 = 80보다 작다
// else if 문은 80 > score >= 70 이다
System.out.println("점수가 80~70 입니다.");
System.out.println("점수 : " + score + ", C ");
}
else if(score >= 0){
System.out.println("점수가 70 미만 입니다.");
System.out.println("점수 : " + score + ", D ");
}
else {
System.out.println("점수오류(점수는 0점 미만이 될 수 없습니다.");
System.out.println("점수 : " + score);
}
}
}
switch:非連続データ、数値比較、boolean、char、String(==比較可能なjava 1.6以上)
swich(num){
Case 1:~//num==1//非連続データ(同==比較)
case 2: ~
default://ifの場合else
}
//:<-ラベル-移動先を指定-構造化プログラムから距離があるため、あまり好きではありません
//break; switch文が飛び出していない場合、起動したcaseは次の順序で実行されます.
//breakプログラムを停止して終了するために使用->switch,repeat(for,while)
//if無効
break=switch,for,while(whileのみ)/ifが存在する場合、while文は終了します.
public class SwitchExample {
public static void main(String[] args) {
// TODO Auto-generated method stub
//주사위놀이
//1~6까지의 숫자중 하나를 랜덤으로 나오게 만들어서 나타난 숫자를 출력해 보자.
// == 비교(비연속 데이터) : if ~ else if~ 처리 가능, switch case1: case2: ~ default 로도 가능
//여러개 일때는 switch가 효과적
//랜덤 숫자 만들기 Math.random() <-- java.lang 안에 기본으로 있어서 import 없어도 가능
//0~ 1보다 적은 값(실수포함)을 선언 / 0 <= n < 1 / 0.xx
//얻고 싶은 수까지 곱하기 해라 / 1~10까지면 곱하기10 + 1
//double 인 Math.random()값을 정수로 캐스팅
//1~6까지 숫자 + 1 // 로또 *45 +1
int num = (int)(Math.random()*6) + 1;
System.out.println(num);
// : <- 라벨 - 특정 위치로 이동하고 싶을 때 위치 지정 -구조화된 프로그램과는 거리가 있어서 잘 안씀
// break; switch 문 밖으로 나감 없으면 시작된 case 다음 순차대로 계속 실행됨
//break 는 프로그램 진행을 멈추고 빠져나간다 -> switch, 반복(for, while) 에서 사용됨
// if는 사용 안됨
switch(num) {
//nun == 1 때 이동 위치 case 1
case 1:
System.out.println("1번이 나왔습니다.");
break;
case 2:
System.out.println("2번이 나왔습니다.");
break;
case 3:
System.out.println("3번이 나왔습니다.");
break;
case 4:
System.out.println("4번이 나왔습니다.");
break;
case 5:
System.out.println("5번이 나왔습니다.");
break;
case 6:
System.out.println("6번이 나왔습니다.");
break;
default :
//위 조건에 다 맞지 않거나 break가 없는 경우 실행
System.out.println("주사위 번호가 아닙니다.");
break;
}
}
}
文字列は「」でなければなりません.
case "list":{ }
*ALT+方向キー:選択した行コードを移動
4つの文字列のうち1つしか受け入れられません
list
view
write
update
delete
その他-無効なコマンド-
import java.util.Scanner;
public class StringSwitchExample {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 1. Scanner 생성
Scanner sc = new Scanner(System.in);
// 2. 명령어 입력 안내 출력
System.out.println("명령어를 입력해주세요 (list, view, write, update, delete)");
// 3.명령어 입력 받기 nextLine -> string변수에 저장
String command = sc.nextLine();
// 4. switch -> 게시판 리스트(보기,쓰기,업데이트,삭제) 처리
// 4-1. 잘못된 명령을 입력하였습니다
switch(command) {
case "list":
System.out.println("게시판 리스트 처리");
break;
case "view":
System.out.println("게시판 보기 처리");
break;
case "write":
System.out.println("게시판 쓰기 처리");
break;
case "update":
System.out.println("게시판 수정 처리");
break;
case "delete":
System.out.println("게시판 삭제 처리");
break;
default:
System.out.println("잘못된 명령어 입니다");
break;
}
sc.close();
// 5. scanner 를 닫기 - 자원 회수 / 데이터베이스 사용시에도 같이 닫아라
}
}
メインメニュー-文字列としてMainExample数字を入力(Stringと入力)/出力/数値を1回入力すると入力できます公告事項掲示板
質問への回答の最後の部分
スキャナ作成
メニュー出力
入力メニュー
入力されたメニューの処理
スキャナを閉じる
import java.util.Scanner;
public class MainExample {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc =new Scanner(System.in);
System.out.println("메뉴를 선택해 주세요 "+ "\n" +"1. 공지사항 2. 게시판" + "\n" + "3. 질문답변 0. 종료");
String str = sc.nextLine();
switch (str) {
case "1":
System.out.println("1. 공지사항");
break;
case "2":
System.out.println("2. 게시판");
break;
case "3":
System.out.println("3. 질문답변");
break;
case "0":
System.out.println("0. 종료");
break;
default :
System.out.println("잘못된 메뉴를 선택하셨습니다.");
}
sc.close();
}
}
try,catchは文字列にスナップ->数値に変換されませんが、エラー->continueがあります.rocatchが発生した場合、for文を返して出力しますエラーなしで強制実行すると、数値実行の問題が発生します.
文字入力時に0回で出力
実際には必要ありませんが...好奇心を持ってやる
import java.util.Scanner;
public class MainExample3TryCatchFor {
public static void main(String[] args) {
// TODO Auto-generated method stub
int num1 = 0;
Scanner sc = new Scanner(System.in);
loop_while: while (true) {
System.out.println("메뉴를 선택해 주세요 " + "\n" + "1. 공지사항 2. 게시판" + "\n" + "3. 질문답변 0. 종료");
// if 로 문자입력시 line , 숫자입력시 int 로 구분이 먼저
// 의미가 있는가? 결국 받는것은 String으로 들어옴 / int 로 들어오면 에러 나서
String str = sc.nextLine();
try {
num1 = Integer.parseInt(str);
} catch (NumberFormatException e) {
System.out.println("문자를 입력");
continue;
// 다시 위로 올라가서 입력해라 라는 명령문이 필요함 -> default로 안감
// 처음으로 가면 0.이 안뜸 continue 로 사용
// return 안넣으면 0. 종료 가 같이 뜸 메소드 끝내버리는 return 넣으면 종료시킬수 있음
// 그럼 다시 반복이 안됨
}
switch (num1) {
case 1:
System.out.println("1. 공지사항");
break;
case 2:
System.out.println("2. 게시판");
break;
case 3:
System.out.println("3. 질문답변");
break;
case 0:
System.out.println("0. 종료");
break loop_while;
default:
System.out.println("잘못된 메뉴를 선택하셨습니다.");
break;
}
}
sc.close();
}
}
反復文for(1.初期値;2.反復条件;4.増減){3.処理文;}1.標準
int i = 0;
for(i;2.繰返し条件;4.増減){3.処理文;}
for(i;2.繰り返し条件;){
しょり文
増減外注可能
->while文
int i = 0; -1番
while(2.繰り返し条件){
しょり文
増減外注可能
for(;;) あまり使わない様子がおかしい.
int i = 0; 1.条件(ない場合もある)
for( ; ; ) <- 無限反復処理{
2 .繰り返し条件とは逆(終了条件を与えて中断する;終了を使用する)
しょり文
増減外注可能
->while無限ループ
int i = 0; 1.条件(ない場合もある)
while(true)<-無限繰返し処理{
2 .繰り返し条件とは逆(終了条件を与えて中断する;終了を使用する)
しょり文
増減外注可能
列を数える
1 + 2 + .... + 10
スコアデータは不連続です(複数のデータが不連続の場合は配列で処理します)
100, 95, 70
初期値を知っている人は、すぐに書くことができます.
int score[] = {100, 95, 70}
{100,95,70}保存して保存したアドレスをscoreに入れる
文字長-1でインデックスを検索
i = [0]
二重小数点で切り捨てたものではありません
2回int iと宣言しても、領域変数forとしてアクティブになり、エラーなく削除されます.
アルゴリズム数列問題
方法で条件文を書くと、このような問題も起こります.
public class ForArrayExample {
public static void main(String[] args) {
// TODO Auto-generated method stub
//100, 95, 70 점 총합
int score[] = {100, 95, 70};
for(int i = 0 ; i <= score.length-1; i++) {
System.out.println(score[i]);
}
// int 로 i 두번 선언해도 지역변수로 for 안에서만 활동 가능하고 삭제되어 에러 안난다
int sum = 0;
for(int i = 0 ; i < score.length; i++) {
sum += score[i];
}
System.out.println(sum);
System.out.println("sum / length = " + ((double)sum/score.length));
//평균 구하기 앞에 문자열 있어서 () 무끙ㅁ
// double 끝자리 에 반올림으로 올린것이 아니다
}
}
foreach(foreach,alt+spaceと書く)アレイ内のすべてのデータを処理する必要があります.
=>foreach:配列データを順番に繰り返すたびに1つ取り出し、宣言された変数に入れて処理します
scoreを作成し、score配列を順番に挿入
上部[0]からタイルをポップアップ
for (int score : scores) {
System.out.println(score);
}
// foreach 를 이용해서 sum 을 구해라
sum = 0;
for (int score : scores) {
sum += score;
}
System.out.println("foreach 를 활용한 합계 : " + sum);
無限反復文しゅつりょく
外に出ながら、メインエンドのところへ.
//switch、for、whileに属するコード
//switchは終了するしかありません->外でwhileはもう一度終了します
//while文が始まる前にloop while:->case 0のbreakloop whileを指定します.完了後、ラベルを貼るとbreakで終了
2.メインに戻る()
sc.close();
return; 氷刀を折り返し車に閉じ込めなければならないが、メイン駅を越えることはできない.
強制終了JRE
sc.close();
System.exit(0); 番組を終わらせる.0は正常終了、残りは非正常
import java.io.IOException;
import java.util.Scanner;
public class WhileExample {
public static void main(String[] args) throws IOException {
// int i = 1;
//
//
// while(i <= 10) {
// System.out.println(i);
// i++;
// //증가 시켜줘야 무한루프 안돈다ㅋㅋㅋㅋ
// }
// for(int j = 1; j<= 10; j++) {
// System.out.println(j);
// }
//메뉴 만들기 반복문을 이용하여
//사이트의 시작입니다. <- 출력
System.out.println("사이트의 시작입니다.");
Scanner sc = new Scanner(System.in);
System.out.println("========== [ 사이트에 방문하신 것을 환영합니다. ] =============");
//메뉴 처리한다.
//메뉴 출력~ 입력 처리 까지 무한반복
//while 문 안에 이름표 붙여높음
loop_while: //-1번 방법
while(true) {
//메뉴 출력
System.out.println("<< Main menu >>");
System.out.println("-----------------------------------------------------");
System.out.println("메뉴를 선택해 주세요" + "\n" +"1. 공지사항 2. 게시판 3. 이미지" + "\n" + "4. 질문답변 5. 회원관리 0. 종료");
System.out.println("-----------------------------------------------------");
//메뉴 입력 받는다.
System.out.println("메뉴 입력 ->");
String menu = sc.nextLine();
//if 문은 equals 로 비교한다
switch (menu) {
case "1":
System.out.println("1. 공지사항 처리함.");
break;
case "2":
System.out.println("2. 게시판 처리함");
break;
case "3":
System.out.println("3. 이미지 처리함.");
break;
case "4" :
System.out.println("4. 질문답변 처리함");
break;
case "5" :
System.out.println("5. 회원관리 처리함");
break;
case "0" :
System.out.println("0. 프로그램 종료");
break loop_while; //-- 1번 방법
//switch, for ,while 중 소속되어 있는곳 빠져나가는 코드
//switch 만 빠져나감 -> 밖에서 while 한번더 빠져나가야함
//while문 시작 전에 loop_while: 지정 -> case 0 번 에 break loop_while; 해주면 라벨 붙이면 break 로 종료됨
//while 무한 반복문
//나오는법
//1. while 반복문을 빠져 나가게 해서 자연 종료 되게 한다.
//1-1 break 사용 -> loop_while:
//while 빠져나가서 메인 끝나는 곳으로 빠져나감
//2.main()을 빠져 나가게 return 시킨다
//sc.close();
//return; 2번 리턴 쓰는방법 스케너 close 를 리턴 위에 해줘야함 메인까지 안넘어가서
//3. 프로그램 종료하는 처리를 시킨다 JRE 강제 종료
// sc.close();
// System.exit(0);// 프로그램 종료 시킨다. 0은 정상종료 나머지는 비정상
default :
System.out.println("***************************************");
System.out.println("메뉴를 잘못 입력하였습니다.1~5, 0 중에서 하나를 입력해 주세요.");
System.out.println("***************************************");
break;
}//end of switch case
//1번 방법
//빈줄 한개 넣기
System.out.println();
}// end of while(true)
sc.close();
}// end of main()
}
繰り返し文の最初のコード(while,for)switch,ifを返します.continue;
--データ通信でよく使われています(リポジトリがいっぱいになったら、一度上がってみる~という感じ)
バッファでは、書き込みデータが解放されず、アップシフトが要求される場合
public class ContinueExample {
public static void main(String[] args) {
// TODO Auto-generated method stub
//1~10 숫자 중에서 짝수를 출력하는 프로그램 작성
// 수열 은 for 가 쓰기 좋음
for (int i = 1; i <= 10; i++) {
// 홀수이면 아래를 실행하지 말고 반복문의 맨처음 으로 이동하자 -continue
if (i % 2 != 0)
continue;
System.out.println(i);
}
//2의 배수를 출력
for (int i = 2; i <= 10; i += 2) System.out.println(i);
// 1~10까지 출력한다 - 3개씩 한줄에
for (int i = 1; i <= 10; i += 1) {
System.out.print(i + " ");
//i 가 3까지는 찍혀야함
// if(i % 3 == 0){
// System.out.println();
// }
if(i % 3 != 0)continue; {
System.out.println();
}
}
}
}
Reference
この問題について(4-1. 条件文と重複文), 我々は、より多くの情報をここで見つけました https://velog.io/@hoan0418/4-1.-조건문과-반복문テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol