Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions hanghae-java-study-12.iml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
15 changes: 15 additions & 0 deletions src/choiwonbin/report1/Report1_1
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
2-4번 문제

//2-4. 다음 중 변수를 잘못 초기화 한 것은?

byte b = 256;
char c = '';
char answer = 'no';
float f = 3.14
double d = 1.4e3f;


정답 :
byte b = 256; byte 값은 -128~127 까지
char c = ''; char 은 하나의 문자만 저장 가능
char answer = 'no'; char 은 하나의 문자만 저장 가능
float f = 3.14 float는 float의 리미럴 f가 입력되지 않아 오류 발생


21 changes: 20 additions & 1 deletion src/choiwonbin/report1/Report1_2
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
2-7번 번 문제

정답 :
//2-7. 다음 문장들의 출력 결과를 적으세요. 오류가 있는 문장의 경우, '오류' 라고 적으세요.

System.out.println("1" + "2");
System.out.println(true+"");
System.out.println('A' + 'B');
System.out.println('1' + 2);
System.out.println('1' + '2');
System.out.println('J' +"ava");
System.out.println(true + null);

정답 :


System.out.println("1" + "2"); 12
System.out.println(true+""); true
System.out.println('A' + 'B'); 131
System.out.println('1' + 2); 51
System.out.println('1' + '2'); 99
System.out.println('J' +"ava"); jave
System.out.println(true + null); 오륲
23 changes: 19 additions & 4 deletions src/choiwonbin/report1/Report1_3.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,26 @@
package choiwonbin.report1;
// 2-8 번 문제 <- 이렇게 문제 번호 작성 필수
// 아래는 변수 x, y, z의 값을 서로 바꾸는 예제이다. 결과와 같이 출력되도록 코드를 넣으세요.

//예상 결과 : x=2, y=3, z=1

public class Report1_3 {
public static void main(String[] args) {
// 정답 작성
// Ex)
AddClass addClass = new AddClass();
addClass.test();

int x = 1;
int y = 2;
int z = 3;

int tmp = y;
y = z;
z = x;
x = tmp;



System.out.println("x="+x);
System.out.println("y="+y);
System.out.println("z="+z);
}
}

Expand Down
19 changes: 19 additions & 0 deletions src/choiwonbin/report2/Report2_1
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@

byte b = 10;
char ch = 'A';
int i = 100;
long l = 1000L;
//3-1. 다음 중 형변환을 생략할 수 있는 것은? (모두 고르시오)
b = (byte)i;
ch = (char)b;
short s = (short)ch;
float f = (float)l;
i = (int)ch;




* 정답

float f = (float)l;
i = (int)ch;
100 changes: 100 additions & 0 deletions src/choiwonbin/report2/Report2_2.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,107 @@
package choiwonbin.report2;
// 3-2번 문제
// 다음 연산의 결과와 그 이유를 적으세요.
public class Report2_2 {
public static void main(String[] args) {

int x = 2;
int y = 5;
char c = 'A'; // 'A'의 문자코드는 65

System.out.println(y >= 5 || x < 0 && x > 2);
System.out.println(y += 10 - x++);
System.out.println(x += 2);
System.out.println(!('A' <= c && c <= 'Z'));
System.out.println('C' - c);
System.out.println('5' - '0');
System.out.println(c + 1);
System.out.println(++c);
System.out.println(c++);
System.out.println(c);


}
}


/* 정답

1. y >= 5 || x < 0 && x > 2


x < 0 && x > 2
x는 0보다 작거나 2보다 크면 true 값을 반환함
=> 조건이 일치하지 않으므로 false 값을 반환함

y >= 5 or false
y >= 5 : y는 5보다 크거나 같으면 true
=> y가 5보다 크거나 같으면 or false 중 하나만 일치하면 true를 반환함.

true || false && false

논리 연산자에서 &&은 ||보다 우선 순위가 높으므로

true || false => true 값이 출력된다

2. y += 10 - x++

x++는 후위형이기 때문에 x값이 증가되지 않은 생태에서
계산되어 10-2 된 후 x에 값이 1 증가한다
5 + 8 이기때문에
13 이 출력된다

3. 앞에서 의 값이 1증가하여 3이 되었고,
x +=2 의 경우 x에 2를 더하고 x값에 다시 대입하기 대문에
3 + 2 가 되어 5가 x에 값에 대입되면서

5가 출력된다

4. c의 내용 문자 'A'가 조건에 부합하는지 아닌지를 확인 하는 조건식이다.
'A' <= c && c <= 'Z' => 'A' <= 'A' && 'A' <= 'Z' 가 되고
true && true 지만 놀리부정연산(!)을 수행하셔
true => false 로 바뀌게 되어

false 가 출력된다.


5. 문자 'C'와 char c 는 int 보다 작으므로
int 로 변환하여 연산을 수행한다.

C는 67, char c = 'A' 이므로 A는 65
67-65 = 2

2가 출력된다

6. 5번 문제와 마찬가지로 문자로 변환된 '5'와 '0'을 int로 변환하여
연산을 수행하는데

5 = 53, 0 = 48
53-48 = 5

5가 출력된다.

6. 5번 문제와 마찬가지로 문자 'A'에 int값 1을 추가한다.
'A' = 65 + 1

1이 출력된다.


7. char 'A'에 char 1 을 증가연산자를 구현 형식이며,
char c를 출력하기 전에
char C = 'A' + '1' 을 더하게 되므로 B로 변 한뒤 c에 값을 입력하여 char c = 'B' 를 대입한다.

변한 c를 pirnt 하므로

B를 출력한다.

8. 변수 char c를 호출하여 출력한 뒤, 증가 하기 때문에
호출 당시의 값은 B이므로

B를 출력한다.

9. 8번에서 후위 증가연산자의 영항으로 B 에서 C 로 증가하여

C를 출력한다.


*/
17 changes: 17 additions & 0 deletions src/choiwonbin/report2/Report2_3.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package choiwonbin.report2;

//3-3. 아래는 변수의 num 값 중에서 백의 자리 이하를 버리는 코드이다.
//만일 변수 num의 값이 '456'이라면 '400'이 되고, '111'이라면 '100'이 된다.
//알맞은 코드를 넣으시오.

public class Report2_3 {

public static void main(String[] args) {


int num = 423;

System.out.print(num/100*100);
}
}

24 changes: 24 additions & 0 deletions src/choiwonbin/report2/Report2_4.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package choiwonbin.report2;

//3-4. 아래의 코드는 사과를 담는데 필요한 바구니(버켓)의 수를 구하는 코드이다.
//만일 사과의 수가 123개이고 하나의 바구니에는 10개의 사과를 담을 수 있다면, 13개의 바구니가 필요할 것이다.
//알맞은 코드를 넣으시오.

public class Report2_4 {

public static void main(String[] args) {

int numOfApples = 222; // 사과의 개수
int sizeOfBucket = 10; // 바구니의 크기(바구니에 담을 수 있는 사과의 개수)
int numOfBucket = (numOfApples/sizeOfBucket); // 모든 사과를 담는데 필요한 바구니의 수

if(numOfApples%sizeOfBucket <= 0 ){
System.out.println("필요한 바구니의 수 :"+numOfBucket);
}
else {
++numOfBucket;
System.out.println("필요한 바구니의 수 :" + numOfBucket);
}
}
}
//예상 결과 -> 필요한 바구니의 수 :13
10 changes: 10 additions & 0 deletions src/choiwonbin/report2/Report2_5.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package choiwonbin.report2;

public class Report2_5 {

public static void main(String[] args) {

int num = -10;
System.out.println(num > 0 ? "양수":(num < 0 ? "음수" : "0"));
}
}
17 changes: 17 additions & 0 deletions src/choiwonbin/report2/Report2_6.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package choiwonbin.report2;

public class Report2_6 {

public static void main(String[] args) {
int fahrenheit = 100;
float celcius = (int)((5/9f * (fahrenheit - 32))*100 + 0.5) / 100f;

System.out.println("Fahrenheit:"+fahrenheit);
System.out.println("Celcius:"+celcius);


}


}

50 changes: 50 additions & 0 deletions src/choiwonbin/report3/Report3_1
Original file line number Diff line number Diff line change
@@ -1,3 +1,53 @@
// 4-1번 문제
//4-1. 다음의 문장들을 조건식으로 표현해보세요.

//int형 변수 x가 10보다 크고 20보다 작을 때 true인 조건식

//char형 변수 ch가 공백이나 탭이 아닐 때 true인 조건식

//char형 변수 ch가 'x' 또는 'X'일 때 true인 조건식

//char형 변수 ch가 숫자('0'~'9')일 때 true인 조건식

//char형 변수 ch가 영문자(대문자 또는 소문자)일 때 true인 조건식

//int형 변수 year가 400으로 나눠떨어지거나 또는 4로 나눠떨어지고 100으로 나눠떨어지지 않을때 true인 조건식

//boolean형 변수 powerOn이 false일 때 true인 조건식

//문자열 참조변수 str이 "yes"일 때 true인 조건식


정답 :

1. int x = 0
if( 10 < x && x < 20 ){
}

2. char ch = 'c'
if(!(ch == ' ' || ch == '\t')){
}

3. char ch = 'x'
if(ch == 'x' || ch == 'X')

4. char ch = '2';
if ( 48 <= ch && ch <= 59 ){
}

5 char ch = 'x';
if (('a' <= ch && ch <= 'z') || ('A' <= ch && ch <= 'Z' ){
}

6. int year = 400;
if( year%400==0 || year%4==0 && year%100!=0){

}

7. if(!powerOn 또는 powerOn==false){

}

8. if(str.equals("yes") 또는 "yes".equals(str){

}
Loading