일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 참조타입
- autoset
- 네트워크
- jsp연결
- Java
- cisco packet
- Oracle
- w3school
- 버추얼머신
- html
- 원형그래프
- 네트워크관리사
- sql
- NCS
- ospf
- 오라클
- 라우터
- jsp
- 데이터베이스
- javaee
- 자바
- php
- rinux
- VLAN
- 이것이 자바다
- 정처기필기
- 정보처리기사
- ciscopacket
- Cisco
- 리눅스
- Today
- Total
기록해! 정리해!
자바 - 참조타입 (배열) 본문
07/08
º 참조타입
: 객체의 번지를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스 가 있다
(힙메모리에 있는 값들을 참조)
: 참조타입으로 선언된 변수의 메모리의 번지를 값으로 갖는다
( <---> 기본타입으로 선언된 변수는 실제 값을 변수 안에 저장한다)
public static void main(String[] args) {
//기본타입
int age = 25;
double price = 100.5;
//참조타입
String name1 = "크라피카";
String name2 = "크라피카";
String name3 = new String("크라피카");
String name4 = new String("크라피카");
Integer k=100;
1.주소 비교 //같다
자바에서 메모리를 절약하기 위해서 같은 값이 면 같은 주소를 참조한다
문자열 리터럴(대입)이 같으면 같은 주소를 사용한다
(new 해서 객체를 생성하는 건 다른 주소다.)
if(name1 == name2) {
System.out.println("같다");
}else {
System.out.println("다르다");
}
2.값 비교 //같다
if(name1.equals(name2)) {
System.out.println("같다");
}else {
System.out.println("다르다");
}
3. 주소 비교 // 다르다 (new를 사용하면 새로운 힙영역을 생성한다)
값 비교 //같다
String name3 = new String("크라피카");
String name4 = new String("크라피카");
if(name3==name4) {
System.out.println("같다");
}else {
System.out.println("다르다");
if(name3.equals(name4)) {
System.out.println("같다");
}else {
System.out.println("다르다");
}
4. 참조변수와 객체생성 비교
다르다 / 같다
if(name1==name3) {
System.out.println("같다");
}else {
System.out.println("다르다");
}
if(name1.equals(name3)) {
System.out.println("같다");
}else {
System.out.println("다르다");
}
1) 배열
: 타입이 무조건 같아야한다
: 변수는 한 개의 데이터만 저장할 수 있기때문에 30개 저장하려면 변수30개 만들어야함
-> 같은 타입의 데이터를 연속적으로 나열시키는 것
int[]score = {83,84,73,90,100};
0 1 2 3 4
값이 삭제되면 공간을 비워두는 것이 아니고 땡겨서 채워진다
-- 73을 93으로 변경하기
int[]scoreA = {83,84,73,90,100};
scoreA[2]=93;
-- 첫번째 배열값을 출력하기 ( = 배열 0번 주소의 값을 출력하시오)
int[]scoreA = {83,84,73,90,100};
System.out.println("scoreA[0] :" + scoreA[0]);
-- 배열의 갯수와 순서대로 출력하기 length
System.out.println("배열의 갯수: " +scoreA.length + "\n");
for (int i = 0; i < scoreA.length ; i++) {
System.out.print(scoreA[i] + " ");
}
-- 순서 반대로 출력하기 length
for (int i = scoreA.length -1; i >= 0 ; i-- ) {
System.out.print(scoreA[i] + " ");
}
-- 문자열로 나타내기
String[]scoreA = {"83","84","90","크라피카","클로로"};
scoreA[1]="히소카";
-- 실수로 나타내기
double [] scoreC = {100, 200.5};
float [] scoreD = {100, 200.5f};
float은 F나 f 붙혀준다
* int는 무조건 숫자 !!
Int : null 에러발생
Integer : 숫자형이라 공백문자나 문자는 받을 수 없다.
-- 숫자(기본타입)의 기본값: 0
int scores [] = new int[5];
System.out.println("scores[3]:"+scores[3]);
int scores [] = new int[5];
scores [1] = 50;
System.out.println("scores[3]:"+scores[3]);
System.out.println();
for(int i = 0; i < scores.length ; i++) {
System.out.println("scores["+i+"] ="+scores[i]);
}
-- 문자(참조타입)의 기본값: null
package chapter05;
public class Test149 {
public static void main(String[] args) {
String scores [] = new String[5];
scores [1] = "크라피카";
System.out.println("scores[3]:"+scores[3]);
System.out.println();
for(int i = 0; i < scores.length ; i++) {
System.out.println("scores["+i+"] ="+scores[i]);
}
}
}
-- 문자에 공백넣기
scores [1] = "";
--boolean의 기본값 :false
-- 값 호출하기
--문자열 더하기
package chapter05;
public class Test149 {
public static void main(String[] args) {
System.out.println("args[0]:"+args[0]);
System.out.println("args[1]:"+args[1]);
System.out.println("args[2]:"+args[2]);
System.out.println("arg[0]+args[1]:" +args[0]+args[1] );
}
}
--문자를 숫자로 바꿔서 더하기 Integer.parseInt
public static void main(String[] args) {
int i0 = Integer.parseInt(args[0]);
int i1 = Integer.parseInt(args[1]);
int ii = i0 + i1;
System.out.println("arg[0]+args[1]:" +ii);
-- 다차원 배열
package chapter05;
public class Test149 {
public static void main(String[] args) {
int [][] scores = new int [2][3]; //2행 3열
System.out.println("scores의 길이:" + scores.length);
System.out.println("scores[0]의 길이:" + scores[0].length);
scores[0][0] = 100;
scores[1][1] = 200;
for(int i=0; i<scores.length; i++) {
System.out.println();
for(int j=0; j<scores[i].length; j++) {
System.out.print(scores[i][j]+" ");
}
}
}
}
- 2행2열
-2행3열
-
- 다,라,마 만 출력해보기
-- 향상된 for문
package chapter05;
public class Test149 {
public static void main(String[] args) {
int [] K = {1,11,22,33};
for(int k:K) {
System.out.print(k + " ");
}
}
}
String [] KK = {"가","나","다","라"};
for(String kk:KK) {
System.out.print(kk + " ");
}
'JAVA' 카테고리의 다른 글
자바 - 객체 (0) | 2022.07.12 |
---|---|
자바 -열거 (0) | 2022.07.11 |
자바 - board 인터페이스 (0) | 2022.07.07 |
자바 - TV 인터페이스 (0) | 2022.07.07 |
자바 - 난수 , switch, break, for문, while문, 확인문제 (3장,4장) (0) | 2022.07.06 |