자바-이클립스 4일차 word, return,switch,윤달, charAt,substring

최성현·2023년 6월 20일
0

Java

목록 보기
5/46

word.equals/word.equalsIgnoreCase

문자열 비교는 관계연산자를 이용하면 안되고
equals라는 메소드를 사용해서 비교한다

equals 동등연산자 대소문자구분
word.equals("문자")

equalsIgnoreCase 동등연산자 대소문자 구분 안해줘도 괜찮다(영어만)
word.equalsIgnoreCase("문자")

package sist0620;

import java.util.Scanner;

public class StringEqual_07 {

	public static void main(String[] args) {
		// 문자열 비교는 관계연산자를 이용하면 안되고
		// equals라는 메소드를 사용해서 비교한다
		
		Scanner sc=new Scanner(System.in);
		
		String word;
		
		System.out.println("영어단어를 입력하세요");
		System.out.println("입력예)happy,angel,rose,cat,food");
		word=sc.nextLine();
		
		System.out.println("입력한 문자열: "+word);
		
		if(word.equals("angel")) //equals 동등연산자 대소문자구분
			System.out.println("***천사***");
		else if(word.equalsIgnoreCase("happy")) //equalsIgnoreCase 동등연산자 대소문자 구분 안해줘도 괜찮
			System.out.println("***행복하다***");
		else if(word.equals("rose"))
			System.out.println("***장미***");
		else if(word.equals("cat"))
			System.out.println("***고양이***");
		else
			System.out.println("***한글단어가 등록되지 않았습니다***");

	}

}

return

if(조건)
{
출력문장
return;
}
else
출력문장

현재 메인함수 종료 / 메서드 종료
if문에서 return 사용하면 종료
void라 return 값 따로 없음
if에 안걸리면 return 작동 안하고 else로 내려가서 출력

package sist0620;

import java.util.Scanner;

public class Return_09 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		int score;
		
		System.out.println("점수입력(1~100)");
		score=sc.nextInt();
		
		//잘못입력했을때 종료
		if(score<1 || score>100) {
			System.out.println("잘못입력했습니다");
			return; //현재 메인함수 종료 / 메서드 종료 //if문에서 return 사용하면 종료 //void라 return 값 따로 없음
            //if에 안걸리면 return 작동 안하고 else로 내려가서 출력
		}else
			System.out.println("점수: "+score);

	}

}

switch

각 케이스마다 break안해주면 계속 돌아감/끝까지 돌아감

switch(n) //n은 수식이 들어가도 되고 결과값이 case 번호 => 번호에 대입됨
{
	case 1:
			System.out.println("n is 1"); //n이 1일때 case1
			break;
            
		case 2:
			System.out.println("n is 2"); //n이 2일때 case2
			break;
            
		case 3:
			System.out.println("n is 3"); //n이 3일때 case3
			break;
            
		case 4:
			System.out.println("n is 4"); //n이 4일때 case4
			break;
            
		default:
			System.out.println("n > 4"); //n이 그외 일
			break;
}
package sist0620;

public class SwitchTest_10 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		int n=5; //n은 System.out.print("~~"); n=sc.nextInt();로 입력해서 변경 가능
        //n=5는 임의로 설정한 것임
		
		switch(n) //각 케이스마다 break안해주면 계속 돌아감/끝까지 돌아
		{
		case 1:
			System.out.println("n is 1"); //n이 1일때 case1
			break;
		case 2:
			System.out.println("n is 2"); //n이 2일때 case2
			break;
		case 3:
			System.out.println("n is 3"); //n이 3일때 case3
			break;
		case 4:
			System.out.println("n is 4"); //n이 4일때 case4
			break;
		default:
			System.out.println("n > 4"); //n이 그외 일
			break;
			
		}
		
		String msg="happy";
		//문자열은 jdk8부터 가능
		
		switch(msg)
		{
		case "hello":
			System.out.println("안녕");
			break;
		case "happy":
			System.out.println("행복하다");
			break;
		case "nice":
			System.out.println("좋구만");
			break;
		}
		
		
		//점수이용하여 학점 구하기
		int score=89;
		char grade;
		
		switch(score/10) //10으로 나누면 케이스를 덜 나눌 수 있는 조건 100/10=10 98/10=9 78/10=7 ....
		{
			case 10:
			case 9:
				grade='A';
				break;
			case 8:
				grade='B';
				break;
			case 7:
				grade='C';
				break;
			case 6:
				grade='D';
				break;
			default:
				grade='F';
		}
		
		System.out.println(score+"==>"+grade);
	}

}

switch 문제

package sist0620;

import java.util.Scanner;

public class SwitchTest_11 {

	public static void main(String[] args) {
		// 숫자를 입력받아 그 숫자를 출력해보기
		Scanner sc=new Scanner(System.in);
		int num;
		
		System.out.println("숫자입력");
		num=sc.nextInt();
		
		switch(num)
		{
		case 1:
			System.out.println("숫자 1입니다");
			break;
		case 2:
			System.out.println("숫자 2입니다");
			break;
		case 3:
			System.out.println("숫자 3입니다");
			break;
		default:
			System.out.println("숫자 1 2 3 이 아닙니다");
			break;
		}
		
		//switch이용해서
		//22는 짝수입니다  or 5는 홀수입니다
		switch(num%2)
		{
		case 0: //인자(num%2)값이 0이면
			System.out.println("숫자 "+num+"은 짝수입니다");
			break;
		default: //그 외 값이면
			System.out.println("숫자 "+num+"은 홀수입니다");
			break;
		}
		
		//if
		if(num%2==0) //위 switch에서 case0
			System.out.println(num+"은 짝수!!!");
		else
			System.out.println(num+"홀수!!");

	}

}

switch 월

package sist0620;

import java.util.Scanner;

public class SwitchMonth_12 {

	public static void main(String[] args) {
		//동일한 case가 많을땐 그나마 switch가 효과적이다
		//월을 입력받아서 2일 경우에는 "28 or 29까지 있습니다"
		//1,3,5,7,8,10,12월은 "31일까지 있습니다"
		//4,6,9,11월은 "30일까지 있습니다"
		Scanner sc=new Scanner(System.in);
		int month;
		
		System.out.println("월을 입력해 주세요");
		month=sc.nextInt();
		
		switch(month)
		{
		case 2:
			System.out.println("28일 또는 29일까지 있습니다");
			break;
		case 4: case 6: case 9: case 11:
			System.out.println("30일까지 있습니다");
			break;
		case 1: case 3: case 5: case 7: case 8: case 10: case 12:
			System.out.println("31일까지 있습니다");
			break;
		default:
			System.out.println("존재하지 않는 달입니다");
			break;
		}
		
	}

}

switch 윤달

package sist0620;

import java.util.Scanner;

public class LeapYear_13 {

	public static void main(String[] args) {
		/* 년도를 입력후 윤년인지 평년인지 출력하기
		 * 공식
		 * 년도를 4로 나누어서 나머지가 0이고
		 * 년도를 100으로 나누어서 나머지가 0이 아니거나
		 * 년도를 400으로 나누어서 나머지가 0이면 윤년*/
		
		Scanner sc=new Scanner(System.in);
		int year;
		
		System.out.println("년도입력");
		year=sc.nextInt();
		
		if(year%4==0 && year%100!=0||year%400==0)
			System.out.println(year+"년도는 윤년!!!");
		else
			System.out.println(year+"년도는 평년!!!");

	}

}

charAt

String juminNum="960321-3324555";
=>index 순서는 01234567....

char seventh=juminNum.charAt(7);
=>순서 8번째(index 순서 7번째) 추출

package sist0620;

public class CharAt_14 {

	public static void main(String[] args) {
		
		String juminNum="960321-3324555";
		//index	순서는 01234567....
		char seventh=juminNum.charAt(7); //순서 8번째(index 순서 7번째) 추출
		
		//System.out.println(seventh);
		//남자입니다 or 여자입니다 or 2000년 이후 남자입니다 or 2000년 이후 여자입니다
		if(seventh=='1')
			System.out.println("남자입니다");
		else if(seventh=='2')
			System.out.println("여자입니다");
		else if(seventh=='3')
			System.out.println("2000년 이후 남자입니다");
		else if(seventh=='4')
			System.out.println("2000년 이후 여자입니다");
		else
			System.out.println("오류입니다");
		
		switch(seventh)
		{
		case '1':
			System.out.println("남자입니다");
			break;
		case '2':
			System.out.println("여자입니다");
			break;
		case '3':
			System.out.println("2000년 이후 남자입니다");
			break;
		case '4':
			System.out.println("2000년 이후 여자입니다");
			break;
		default:
			System.out.println("오류입니다");
			break;
		}

	}

}

substring 두 가지경우

String str="나는 쌍용에서 자바를 공부중입니다";

String word1=str.substring(8);
=>index 8번이후(index 9번)부터 끝까지 출력
=> 결과값 : 자바를 공부중입니다

String word2=str.substring(8, 11);
=>index 8번이후(index 9번)부터 11번까지 출력
=> 결과값 : 자바를

package sist0620;

public class SubString_15 {

	public static void main(String[] args) {
		
		String str="나는 쌍용에서 자바를 공부중입니다";
		
		char ch=str.charAt(3);
		String word1=str.substring(8); //index 8번이후(index 9번)부터 끝까지 출력
		//자바를 공부중입니다
		String word2=str.substring(8, 11); //index 8번이후(index 9번)부터 11번까지 출력
		//자바를
		//substring 종류가 위 두가지있음 구분 필수
		int i=str.length(); //총 길이,갯수(공백포함)0~17 18
		
		System.out.println(ch);
		System.out.println(word1);
		System.out.println(word2);
		System.out.println(i);

	}

}

for문

i는 지역변수
1개의 for문을 벗어나면 다시 선언

for(초기식;조건식;증감식)
for(int i=1;i<=5;i++)

package sist0620;

public class ForTest_16 {

	public static void main(String[] args) {
		// 1. 1~5까지 출력하시오
		
		
		   //i는 지역변수
		   //1개의 for문을 벗어나면 다시 선언
		//for(초기식;조건식;증감식)
		for(int i=1;i<=5;i++)
		{
			System.out.print(i+" "); //가로로 출력 //한 줄일 때는 {}안해도 
		}
		
		System.out.println(); //첫번째 for문 후 줄 내리는 기능
		
		for(int i=5;i>=1;i--)
		{
			System.out.print(i+" ");
		}
		
		System.out.println();
		
		//0,2,4,6,8,10
		for(int i=0;i<=10;i+=2)
		{
			System.out.print(i+" ");
		}
		
		System.out.println();
		
		//3,6,9,12,15
		for(int i=3;i<=15;i+=3)
		{
			System.out.print(i+" ");
		}
		
		System.out.println();
		
		/* I love Java_0
		 * I love Java_1
		 * I love Java_2
		 * I love Java_3
		 */
		for(int i=0;i<=3;i++)
		{
			System.out.println("I love Java_"+i);
		}

	}

}
profile
백엔드 개발자로서 성장해 나가는 성현이의 블로그~

0개의 댓글