SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
参照型の変数
java 入門
2013/09/16
再配布、再利用はご自由に
13年9月16日月曜日
改版履歴
•2013/09/16
配列に関する説明を追加
13年9月16日月曜日
復習:変数とは
•データ(値)を一定期間、保存し必要
なときに利用できる記憶エリアで値は
一つしか保存できない。変数には型と
名前がある。変数の値は変更すること
ができる。
13年9月16日月曜日
Javaの変数
•2つの型がある
1. プリミティブ型 (今回は説明なし)
2. 参照型
13年9月16日月曜日
参照型の種類
•クラス型
•インタフェース型
•配列型
13年9月16日月曜日
クラス型
(文字列)
13年9月16日月曜日
参照って?
参照値
String s = new String( hello world );
変数 s
hello world
文字列オブジェクト
変数「s」には、 hello world
オブジェクトを特定する値(参照値)が
格納されている
13年9月16日月曜日
なんでこんな
めんどうなことを?
13年9月16日月曜日
変数に保存出来る値は
一つだけ!
char c = h h
変数には文字一個は保存できる
変数 c
String s = hello world
hello world
変数に2個以上の文字は入らない!!!
変数 s
13年9月16日月曜日
代わりに文字列を
指す値(参照値)を
変数に格納
13年9月16日月曜日
参照値の取得
• Javaでは参照値を操作することはない
ため、プログラマが参照値そのものの値
を知ることはできなくなっていますが、
Systemクラスの identityHashCode()
メソッドを使えば、オブジェクトの内部
アドレス(参照値)を整数値に変換した
値を取得できます。
13年9月16日月曜日
参照値を使って操作
参照値
String s = hello world ;
System.out.println( s is + s);
変数 s
hello world
文字列オブジェクト
13年9月16日月曜日
public class TypeSample {
	 public static void main(String[] args) {
	 	
	 	 	 String s1 = new String("hello java");
	 	 	 String s2 = s1;
	 	 	 String s3 = new String("hello java");	
	 	 	
	 	 	 System.out.println("s1 == s2 is " + ( s1 == s2 ));
	 	 	 System.out.println("s1 == s3 is " + ( s1 == s3 ));
	 	 	 System.out.println("s1.equals(s3) is " + s1.equals(s3));
	 }
}
実行結果 s1 == s2 is true
s1 == s3 is false
s1.equals(s3) is true
なぜ false?
13年9月16日月曜日
デバッガーで確認
14
idの値に注目!
13年9月16日月曜日
参照値
変数  s1
hello java
文字列オブジェクト(id:17)
参照値
変数  s2
hello java
文字列オブジェクト(id:23)
参照値
変数  s3
s1 == s3 参照値 参照値==
変数  s1 変数  s3
参照値を比較している
文字列は同じでも
違うオブジェクト
注:idは実際の参照値とは異なるが、説明を簡単にするために用いている
13年9月16日月曜日
文字列の比較は
== じゃない
13年9月16日月曜日
equalsメソッドを使う
String s1 = new String( foo );
String s3 = new String( bar );
boolean val = s1.equals(s3)
s1がs3と同じ文字列かを判定
13年9月16日月曜日
配列型
13年9月16日月曜日
配列の宣言
値1
値2
値3
値4
値5
配列の実体
参照先
変数 a
// 1)配列の変数a を宣言
int[] a;
// 2) 配列の実体を作って
// 参照値をaに代入
a = new int[5]
a[0]
a[1]
a[2]
a[3]
a[4]
13年9月16日月曜日
参考資料
• http://www.okapiproject.com/java/
java_ref/foundation/manual_06.htm#a2_1
• http://www.y-adagio.com/public/
standards/tr_javalang/4.doc.htm#9317
• http://www.nomachetejuggling.com/
2008/06/04/getting-a-java-objects-
reference-id/
13年9月16日月曜日

Mais conteúdo relacionado

Destaque

Augusta Barros (FT1)
Augusta Barros (FT1)Augusta Barros (FT1)
Augusta Barros (FT1)efaesan
 
Mapeamento dos Pontos Vulneráveis à Exploração Sexual de Crianças e Adolescen...
Mapeamento dos Pontos Vulneráveis à Exploração Sexual de Crianças e Adolescen...Mapeamento dos Pontos Vulneráveis à Exploração Sexual de Crianças e Adolescen...
Mapeamento dos Pontos Vulneráveis à Exploração Sexual de Crianças e Adolescen...Palácio do Planalto
 
Pianonazionalelogistica20112020
Pianonazionalelogistica20112020Pianonazionalelogistica20112020
Pianonazionalelogistica20112020tramerper
 
O Tipo De Igreja Que Ajudarei A Estabelecer
O Tipo De Igreja Que Ajudarei A EstabelecerO Tipo De Igreja Que Ajudarei A Estabelecer
O Tipo De Igreja Que Ajudarei A EstabelecerPr. Eli Rocha Silva
 
Espontaneidad[1]
Espontaneidad[1]Espontaneidad[1]
Espontaneidad[1]guest36e8be
 
Web 2.0 Museu Picasso Barcelona
Web 2.0 Museu Picasso BarcelonaWeb 2.0 Museu Picasso Barcelona
Web 2.0 Museu Picasso BarcelonaMuseu Picasso
 
Apimec 1T10
Apimec 1T10Apimec 1T10
Apimec 1T10Profarma
 
Presentacio Logros
Presentacio LogrosPresentacio Logros
Presentacio Logrosguest2a6dd6
 
Discurso de posse do ministro da Fazenda Joaquim Levy
Discurso de posse do ministro da Fazenda Joaquim LevyDiscurso de posse do ministro da Fazenda Joaquim Levy
Discurso de posse do ministro da Fazenda Joaquim LevyPalácio do Planalto
 
Profarma apimec 1 t11
Profarma apimec 1 t11Profarma apimec 1 t11
Profarma apimec 1 t11Profarma
 
Work sample
Work sampleWork sample
Work sampleSSINFOBD
 
29 kamaroninfo octubre 1998
29 kamaroninfo octubre 199829 kamaroninfo octubre 1998
29 kamaroninfo octubre 1998Nombre Apellidos
 

Destaque (20)

Augusta Barros (FT1)
Augusta Barros (FT1)Augusta Barros (FT1)
Augusta Barros (FT1)
 
Mapeamento dos Pontos Vulneráveis à Exploração Sexual de Crianças e Adolescen...
Mapeamento dos Pontos Vulneráveis à Exploração Sexual de Crianças e Adolescen...Mapeamento dos Pontos Vulneráveis à Exploração Sexual de Crianças e Adolescen...
Mapeamento dos Pontos Vulneráveis à Exploração Sexual de Crianças e Adolescen...
 
Śniadanie Daje Moc
Śniadanie Daje MocŚniadanie Daje Moc
Śniadanie Daje Moc
 
Pianonazionalelogistica20112020
Pianonazionalelogistica20112020Pianonazionalelogistica20112020
Pianonazionalelogistica20112020
 
O Tipo De Igreja Que Ajudarei A Estabelecer
O Tipo De Igreja Que Ajudarei A EstabelecerO Tipo De Igreja Que Ajudarei A Estabelecer
O Tipo De Igreja Que Ajudarei A Estabelecer
 
11º Balanço do PAC 2 - 4 anos
11º Balanço do PAC 2 - 4 anos11º Balanço do PAC 2 - 4 anos
11º Balanço do PAC 2 - 4 anos
 
Espontaneidad[1]
Espontaneidad[1]Espontaneidad[1]
Espontaneidad[1]
 
"Brown owl"
"Brown owl""Brown owl"
"Brown owl"
 
Web 2.0 Museu Picasso Barcelona
Web 2.0 Museu Picasso BarcelonaWeb 2.0 Museu Picasso Barcelona
Web 2.0 Museu Picasso Barcelona
 
Soal uas gasal
Soal uas gasalSoal uas gasal
Soal uas gasal
 
Apimec 1T10
Apimec 1T10Apimec 1T10
Apimec 1T10
 
Presentacio Logros
Presentacio LogrosPresentacio Logros
Presentacio Logros
 
Discurso de posse do ministro da Fazenda Joaquim Levy
Discurso de posse do ministro da Fazenda Joaquim LevyDiscurso de posse do ministro da Fazenda Joaquim Levy
Discurso de posse do ministro da Fazenda Joaquim Levy
 
Inmultire1
Inmultire1Inmultire1
Inmultire1
 
Śniadanie Daje Moc
Śniadanie Daje MocŚniadanie Daje Moc
Śniadanie Daje Moc
 
Sancho ii
Sancho iiSancho ii
Sancho ii
 
Benvindo
BenvindoBenvindo
Benvindo
 
Profarma apimec 1 t11
Profarma apimec 1 t11Profarma apimec 1 t11
Profarma apimec 1 t11
 
Work sample
Work sampleWork sample
Work sample
 
29 kamaroninfo octubre 1998
29 kamaroninfo octubre 199829 kamaroninfo octubre 1998
29 kamaroninfo octubre 1998
 

Mais de 金沢工業高等専門学校

H27・11月28日 金沢高専・グローバル情報学科 入試説明会
H27・11月28日 金沢高専・グローバル情報学科 入試説明会H27・11月28日 金沢高専・グローバル情報学科 入試説明会
H27・11月28日 金沢高専・グローバル情報学科 入試説明会金沢工業高等専門学校
 
金沢高専・新入生へのメッセージ「これからの5年間をどう過ごしますか」
金沢高専・新入生へのメッセージ「これからの5年間をどう過ごしますか」金沢高専・新入生へのメッセージ「これからの5年間をどう過ごしますか」
金沢高専・新入生へのメッセージ「これからの5年間をどう過ごしますか」金沢工業高等専門学校
 
本格的なプログラミングが学べる学校・金沢高専
本格的なプログラミングが学べる学校・金沢高専本格的なプログラミングが学べる学校・金沢高専
本格的なプログラミングが学べる学校・金沢高専金沢工業高等専門学校
 
H27/04/01 金沢高専・グローバル情報学科紹介
H27/04/01 金沢高専・グローバル情報学科紹介H27/04/01 金沢高専・グローバル情報学科紹介
H27/04/01 金沢高専・グローバル情報学科紹介金沢工業高等専門学校
 
夏期休業中の評価課題(Javaプログラミング演習)
夏期休業中の評価課題(Javaプログラミング演習)夏期休業中の評価課題(Javaプログラミング演習)
夏期休業中の評価課題(Javaプログラミング演習)金沢工業高等専門学校
 
金沢高専・グローバル情報学科 科長講話 (新入生研修)
金沢高専・グローバル情報学科 科長講話 (新入生研修)金沢高専・グローバル情報学科 科長講話 (新入生研修)
金沢高専・グローバル情報学科 科長講話 (新入生研修)金沢工業高等専門学校
 
Scratchをつかってプログラムの流れを説明(抜粋)
Scratchをつかってプログラムの流れを説明(抜粋)Scratchをつかってプログラムの流れを説明(抜粋)
Scratchをつかってプログラムの流れを説明(抜粋)金沢工業高等専門学校
 
ファイルアクセス方式 - オペレーティングシステム
ファイルアクセス方式 - オペレーティングシステムファイルアクセス方式 - オペレーティングシステム
ファイルアクセス方式 - オペレーティングシステム金沢工業高等専門学校
 
OS: 論理ファイル管理 - ディレクトリについて
OS: 論理ファイル管理 - ディレクトリについてOS: 論理ファイル管理 - ディレクトリについて
OS: 論理ファイル管理 - ディレクトリについて金沢工業高等専門学校
 
オブジェクト指向プログラミングの考え方
オブジェクト指向プログラミングの考え方オブジェクト指向プログラミングの考え方
オブジェクト指向プログラミングの考え方金沢工業高等専門学校
 

Mais de 金沢工業高等専門学校 (20)

H27・11月28日 金沢高専・グローバル情報学科 入試説明会
H27・11月28日 金沢高専・グローバル情報学科 入試説明会H27・11月28日 金沢高専・グローバル情報学科 入試説明会
H27・11月28日 金沢高専・グローバル情報学科 入試説明会
 
金沢高専・新入生へのメッセージ「これからの5年間をどう過ごしますか」
金沢高専・新入生へのメッセージ「これからの5年間をどう過ごしますか」金沢高専・新入生へのメッセージ「これからの5年間をどう過ごしますか」
金沢高専・新入生へのメッセージ「これからの5年間をどう過ごしますか」
 
本格的なプログラミングが学べる学校・金沢高専
本格的なプログラミングが学べる学校・金沢高専本格的なプログラミングが学べる学校・金沢高専
本格的なプログラミングが学べる学校・金沢高専
 
H27/04/01 金沢高専・グローバル情報学科紹介
H27/04/01 金沢高専・グローバル情報学科紹介H27/04/01 金沢高専・グローバル情報学科紹介
H27/04/01 金沢高専・グローバル情報学科紹介
 
夏期休業中の評価課題(Javaプログラミング演習)
夏期休業中の評価課題(Javaプログラミング演習)夏期休業中の評価課題(Javaプログラミング演習)
夏期休業中の評価課題(Javaプログラミング演習)
 
金沢高専・グローバル情報学科 科長講話 (新入生研修)
金沢高専・グローバル情報学科 科長講話 (新入生研修)金沢高専・グローバル情報学科 科長講話 (新入生研修)
金沢高専・グローバル情報学科 科長講話 (新入生研修)
 
SQL入門 - GROUP BYとHAVING -
SQL入門 - GROUP BYとHAVING -SQL入門 - GROUP BYとHAVING -
SQL入門 - GROUP BYとHAVING -
 
モデリングとクラス図
モデリングとクラス図モデリングとクラス図
モデリングとクラス図
 
インタフェース - Java入門
インタフェース - Java入門 インタフェース - Java入門
インタフェース - Java入門
 
Scratchをつかってプログラムの流れを説明(抜粋)
Scratchをつかってプログラムの流れを説明(抜粋)Scratchをつかってプログラムの流れを説明(抜粋)
Scratchをつかってプログラムの流れを説明(抜粋)
 
金沢スマホアプリコンテスト
金沢スマホアプリコンテスト金沢スマホアプリコンテスト
金沢スマホアプリコンテスト
 
型変換と優先順位 - Java入門
型変換と優先順位 - Java入門型変換と優先順位 - Java入門
型変換と優先順位 - Java入門
 
ファイルアクセス方式 - オペレーティングシステム
ファイルアクセス方式 - オペレーティングシステムファイルアクセス方式 - オペレーティングシステム
ファイルアクセス方式 - オペレーティングシステム
 
ファイルとレコード
ファイルとレコードファイルとレコード
ファイルとレコード
 
OS: 論理ファイル管理 - ディレクトリについて
OS: 論理ファイル管理 - ディレクトリについてOS: 論理ファイル管理 - ディレクトリについて
OS: 論理ファイル管理 - ディレクトリについて
 
オブジェクト指向プログラミングの考え方
オブジェクト指向プログラミングの考え方オブジェクト指向プログラミングの考え方
オブジェクト指向プログラミングの考え方
 
コンピュータシステムの構成とか
コンピュータシステムの構成とかコンピュータシステムの構成とか
コンピュータシステムの構成とか
 
データベース - SELECT文入門2
データベース - SELECT文入門2データベース - SELECT文入門2
データベース - SELECT文入門2
 
データーベース - SELECT文入門
 データーベース - SELECT文入門 データーベース - SELECT文入門
データーベース - SELECT文入門
 
変数の型 - Java 演習
変数の型 - Java 演習 変数の型 - Java 演習
変数の型 - Java 演習
 

Último

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Último (9)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

参照型 - Java入門