자바 에서 switch 의 세 가지 용법
switch 에 세 가지 방법 이 있다 니?자바 와 접촉 한 지 얼마 되 지 않 은 사람 으로서 이것 은 확실히 나 를 놀 라 게 했다!
버 전에 따 르 면 자바 14 부터 switch 문 구 는 크게 조정 되 었 습 니 다.이 로 인해 swicth 문 구 는 더 많은 조작 과 선택 을 하 게 되 었 습 니 다.코드 에 있어 서 더욱 간편 하고 유연 합 니 다.이 신기 한 switch 를 시도 해 보 겠 습 니 다!
switch 라 는 키 워드 를 사용 하면 if...else 에서 다 중 선택 한 어색 한 장면 을 잘 해결 할 수 있 습 니 다!
자바 에서 switch 의 세 가지 용법 에 대한 상세 한 설명:
switch 표준 방식
switch->용법:switch yield 용법:switch 표준 방식
flag 는 계산 결 과 를 표시 합 니 다.정성,문자열 형식 또는 매 거 진 형식 이 어야 합 니 다.
switch (flag){
case 0 : ; break;
case 1: ; break;
default: n; break;
}
예 를 들다.
int flag = 3;
switch (flag){
case 0: System.out.println("The number is 0" ); break;
case 1: System.out.println("The number is 1" ); break;
case 2: System.out.println("The number is 2" ); break;
default: System.out.println("you are right" ); break;
}
이것 은 매우 표준적 인 switch 의 용법 입 니 다.break,그리고 default 이 있 습 니 다.어떤 상황 에서 튀 어 나 오고 어떤 상황 에서 운행 을 끝 내 는 지 잘 설명 되 어 있 습 니 다.하지만 여러분 들 은 이 코드 를 쓸 때 break 가입 을 잊 거나 default 가입 을 잊 어 버 릴 수도 있 습 니 다.해결 방법:
IDEA 컴 파 일 러 를 사용한다 면 문법 힌트 를 추가 할 수 있 습 니 다.기본 값 은 모두 열 려 있 습 니 다.열 리 지 않 으 면 다음 과 같은 절 차 를 밟 습 니 다.
클릭:setting-Editor-Inspections-Java-Control flow4.567917.모든 걸 뽑 으 면 끝 이 야eclipse 컴 파일 러 를 사용한다 면 절 차 는 다음 과 같 습 니 다.
사용->방법 이 더 간단 합 니 다.break 명령 을 사용 하지 않 아 도 됩 니 다.한 가지 경로 만 실 행 될 수 있 습 니 다!
용법 은 다음 과 같다.
int flag = 3;
switch (flag){
case 0 -> System.out.println("The number is 0" );
case 1 -> System.out.println("The number is 1" );
case 2 -> System.out.println("The number is 2" );
default -> System.out.println("you are right" );
}
break 와 콜론 대신 사용 화살 표를 제거 하 였 습 니 다->중독 되 지 않다또 하나의 방법 이 있다.인 자 를 받 아들 이 는 데 사용 합 니 다.
switch yield 사용법:
yield 를 보 았 을 때,나 는 이것 이 반드시 값 을 전달 해 야 하 는 함수 라 고 생각 했다.사용법 도 간단 하고,
그러나 주의해 야 할 것 은 전송 값 이 돌아 가 고 외부 에서 이 값 을 받 아들 일 수 있 는 매개 변 수 를 정의 해 야 한 다 는 것 이다.
int flag = 2;
String ss;
ss = switch (flag){
case 0 -> "The number is 0" ;
case 1 -> "The number is 1" ;
case 2 -> {
String c = "The number is 2";
yield c;
}
default -> "you are right" ;
};
System.out.println(ss);
여기 서 switch 는 하나의 문장 으로 되 어 있 기 때문에 끝 에 짝 퉁 을 넣 어야 합 니 다.다른 용법 은 같 습 니 다.다음 에 조건 이 많 으 면 if else 를 사용 하지 않 아 도 됩 니 다.switch 의 yield 를 사용 하여 매개 변 수 를 되 돌려 주 는 방식 을 고려 할 수 있 습 니 다!가위바위보 테스트 코드:
switch 의 이런 용법 을 배 웠 습 니 다.프로그램 을 써 서 해 봐 야 할 것 같 아서 가위 바위 보 게임 을 썼 습 니 다.
결 과 는 정말 비참 하 다.
코드 는 다음 과 같 습 니 다.참고 할 수 있 습 니 다.
import java.util.HashMap;
import java.util.Random;
import java.util.Scanner;
public class test {
private HashMap<Integer, String> game = new HashMap<Integer, String>();
public test() {
game.put(1, " ");
game.put(2, " ");
game.put(3, " ");
}
public void randomGame() {
Scanner in = new Scanner(System.in);
System.out.println("
" +
" switch !
" +
"Let me start!");
int num = 3;
boolean flag = true;
int win = 0;
while (flag) {
System.out.print(" :
:
:");
String myHand = in.next();
String robot = getRobot();
String s = " " + myHand + " "
+ robot;
//
if (robot.equals(myHand)) {
System.out.println(s+ " !"); }
//
else if ( myHand.equals(" "))
{
switch (robot){
case " " -> System.out.println(s + " you lose");
case " " -> {
System.out.println(s + " you win");
win += 1;
}
}
}else if (myHand.equals(" ")){
switch (robot) {
case " " -> System.out.println(s + " you lose");
case " " -> {
System.out.println(s + " you win");
win += 1;
}
}
}else if (myHand.equals(" ")){
switch (robot) {
case " " -> System.out.println(s + " you lose");
case " " -> {
System.out.println(s + " you win");
win += 1;
}
}
}else {
System.out.println(" " + myHand + " ");
}
num-=1;
if (num == 0){flag = false;}
System.out.println(" " + num + " .");
}
System.out.println(" , " + win);
}
public String getRobot() {
//
int count = (int) (Math.random() * 10 / 3);
if (count > 0){
return game.get(count);
}else {
return game.get(count + 1);
}
}
public static void main(String[] args) {
test me = new test();
me.randomGame();
}
}
return game.get(count);
}else {
return game.get(count + 1);
}
}
public static void main(String[] args) {
test me = new test();
me.randomGame();
}
}
자바 에서 switch 의 세 가지 용법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 switch 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.