<print()메소드와 println()메소드의 차이>
1. print()메소드
- ()소괄호 안의 데이터 출력
===> 출력하고자 하는 데이터가 없다면 에러발생!!
2. println()메소드
- ()소괄호 안의 데이터 출력
- 라인변경
===> 출력하고자 하는 데이터가 없다면 줄만바꿈!!
System.out.print(1);
System.out.print(2);
System.out.print(3);
//System.out.print(); 출력할 데이터가 없으므로 에러발생
System.out.println(); //출력할 데이터가 없으므로 줄바꿈 기능만 실행.
System.out.println(1);
System.out.println(2);
System.out.println(3);
<자바프로그램 구성>
class 클래스명
{
//변수 선언 ===> 멤버변수, 필드!! (현 클래스의 모든 메소드내에서 사용가능)
===> 변수선언과 변수초기화를 동시에 하는 것은 가능하나
변수초기화만 따로 작성하면 에러발생!!
자료형 변수명;
//메소드 정의
리턴형 메소드명(변수 선언)===> 지역변수
{
//변수 선언 ===> 지역변수 (현재 메소드내에서만 사용가능)
//변수 초기화(값 할당)
//메소드 호출
//조건문
//반복문
}
}
<조건문>
- 조건에 따라 실행할 문장들을 제어하는 역할.
- 반드시 메소드내에 기술.
1. if문(나홀로 if문)
형식)
if(조건식) //조건식: boolean데이터!!
{
조건식의 결과가 참일때 실행할 문장;
}
2. if~else문
형식)
if(조건식){
조건식의 결과가 참일때 실행할 문장;
}else{
조건식의 결과가 거짓일때 실행할 문장;
}
3. switch~case문
형식)
switch(기준데이터)
{
case 비교데이터1: 실행할 문장1;
case 비교데이터2: 실행할 문장2;
case 비교데이터3: 실행할 문장3;
}
예)
int su=5;
switch(su){
case 1: System.out.println("안녕");
break;
case 2: System.out.println("신짜오");
break;
case 3: System.out.println("Hello");
break;
default: System.out.printiln("감사합니다~!!");
}
switch(수식) //수식의 데이터 값: 정수(byte,short,int), 문자(char)
//JDK7버전이후부터 String데이터가 포함
{
case 비교값1: 실행할 문장1; break;
case 비교값2: 실행할 문장2; break;
case 비교값3: 실행할 문장3; break;
case 비교값4: 실행할 문장4; break;
default: 일치하는 case값이 없을 때 실행할 기본문장;
}
문제) 다음 점수에 해당하는 학점을 화면에 출력하시오. (switch~case사용)
int jumsu=85;
----> 출력값: B학점입니다!!
jumsu (가정:0~100의 정수값)
--------------------------
90~100 A학점
80~89 B학점
70~79 C학점
60~69 D학점
0~59 F학점
--------------------------
class명: JumsuTest
4. if~else if~else문 (서로 연결된 조건식을 표현할 때 사용, 필터링, 수의 범위표현)
형식)
if(조건식1){
//조건식1이 참일때 실행할 문장
}else if(조건식2){
//조건식1이 거짓이고 조건식2가 참일때 실행할 문장
}else if(조건식3){
//조건식1,2가 거짓이고 조건식3이 참일때 실행할 문장
}else{
//조건식1,2,3이 거짓일때 실행할 문장(나머지 처리)
}
int age=10;//가정: 1~100
===> 10대 20대 30대입니다를 출력하시오.
20 <= age <= 29 <=== 20대 체크
if(20 <= age <= 29){ ===>에러발생!!
===>이유: 한개의 변수를 두개이상의 수와 동시에 비교하는
것은 불가능!!
}
if( (age >= 20) && (age <= 29)){ //20이상 29이하
}
if( (age < 20) || (age > 29)){ //20미만 29초과
}
<반복문> Loop
1. for문
- 일정횟수 반복할 때 사용.
- 규칙적인 수를 표현할 때 사용.
- 배열의 인덱스를 표현할 때 사용.
[형식]
for(초기화1; 조건식2; 증감연산자3)
{
반복적으로 실행할 문장4;
}
for(int i=1; i<5; i++){//i=1,2,3,4,5
System.out.println("안녕~!!");
}
실행순서)
1 - 2(true) - 4 - 3
- 2(true) - 4 - 3
- 2(true) - 4 - 3
- 2(true) - 4 - 3
- 2(false) : for문 탈출!!
2.while문
- 조건이 참인동안 반복실행.
- 조건이 만족되지않는다면 한번도 실행되지 않을 수 있고
조건이 만족한다면 무한히 실행할 수도 있음.
===> 실행횟수: 0~무한대
※if문의 실행횟수: 0 또는 1
[형식]
while(조건식)
{
//반복실행할 문장
}
3.do~while문
- while문과 동일
차이점: 실행횟수(1~무한대) ==> 조건식 결과와 상관없이 무조건 한번실행!!
[형식]
do{
반복실행할 문장;
}while(조건식);
class AgeTest
{
public static void main(String[] args)
{
//10대, 20대, 30대 출력!!
int age=40;//10~39까지만 입력
if(age<10 || age>39){
System.out.println("범위밖의 나이입니다^^: "+ age);
}else //10~39
if(age<=19){//(age>=10 && age<=19){//10이상 19이하
System.out.println("10대입니다!!");
}else if(age<=29){//29~39
System.out.println("20대입니다!!");
}else {//30~39 if(age<=39){
System.out.println("30대입니다!!");
}
}//main
}
class Exam
{
public static void main(String[] args)
{
System.out.print("[");
for(int i=5; i<21; i+=5){//i=i+5){//수를 표현(5 10 15 20)
System.out.print( i );
if(i<20)//i=5,10,15
{System.out.print(", ");}
}
System.out.print("]");
}//main
}
class GugudanTest
{
public static void main(String[] args)
{
int dan=9;
for(int i=1; i<10; i++)
{//곱하여지는 수 : 1~9
System.out.println(dan+"*"+i+"="+ (dan*i) );
}
}//main
}
class JumsuTest
{
public static void main(String args[])
{
int jumsu=85;//0~100
/*
90/10 : 9
93/10 : 9
95/10 : 9
99/10 : 9
*/
switch(jumsu/10)
{
case 10:
case 9: System.out.println("A학점입니다!!");break;
case 8: System.out.println("B학점입니다!!");break;
case 7: System.out.println("C학점입니다!!");break;
case 6: System.out.println("D학점입니다!!");break;
default: System.out.println("F학점입니다!!");
/*
case 100: System.out.println("A학점입니다!!");
case 99: System.out.println("A학점입니다!!");
case 98: System.out.println("A학점입니다!!");
......
case 90: System.out.println("A학점입니다!!");
......
case 60: System.out.println("D학점입니다!!");
default: System.out.println("F학점입니다!!");
*/
}//switch
jumsu=59;
//if~else if~else를 사용해서 학점을 출력하시오.
if(jumsu <0 || jumsu>100){
System.out.println("잘못된 점수입력입니다T.T");
}else if(jumsu>=90){//90~100
System.out.println("A학점!!");
}else if(jumsu>=80){//else: 0~89 if: 80~89
System.out.println("B학점!!");
}else if(jumsu>=70){//else: 0~79 if: 70~79
System.out.println("C학점!!");
}else if(jumsu>=60){//else: 0~69 if: 60~69
System.out.println("D학점!!");
}else{//else: 0~59
System.out.println("F학점!!");
}
}//main
}//class JumsuTest
class LeapYearTest
{
public static void main(String[] args)
{
int year=2016;
boolean b1 = (year%4) == 0;
boolean b2 = (year%100) != 0;
boolean b3 = (year%400) == 0;
System.out.println( b1 && b2 || b3 );
System.out.println("true출력: "+ true);
System.out.println("!true출력: "+ !true);
boolean result = b1 && b2 || b3;
//if(조건식){} ==> 조건식:boolean ===> true,false,boolean변수,비교연산자,관계연산자
if(result){//(result==true){
System.out.println(year+"년은 윤년입니다!!");
}
else{//if(!result){//(result==false){
System.out.println(year+"년은 평년입니다!!");
}
}//main
}//class end
'JAVA' 카테고리의 다른 글
#4 제어문 추가, 객체지향 특징, 접근지정자, 생성자, this (0) | 2018.11.23 |
---|---|
#3 자바 제어문, 클래스&메소드 복습, Escape Character, byte 단위 입력, 라인단위 입력 (0) | 2018.11.22 |
자바 환경설정 (0) | 2018.11.19 |
#1 자바? (0) | 2018.11.19 |
"오버라이딩 정의와 오버라이딩 규칙을 말할 수 있나요? (0) | 2018.09.03 |