intro to java programming/ 変数

|public class HelloWorld {
| public static void main( String args[] ) {
|  System.out.println("Hello!");
|  System.out.println(12345);
| }
|}

ダブルクオテーション
コンパイラが解釈しないよう
で括って文字列であることを明示する際に使用する
ただし 数字は括る必要ない

セミコロン
文を区切るのに使用する

|public class Calculation {
| public static void main( String args[] ) {
|  System.out.println(3*6+4/2);
| }
|}

実行すると計算結果が表示される

|C:\DOCUME~1\MYDOCU~1\MYJAVA~1>java Calculation
|20

「*」,「+」,「/」を演算子という

Javaの演算子
優先度高
[], ()
++, --
!, ~, instanceof
*, /, %
+, -
<<, >>, >>>
<, >, <=, ==, !=
&, ^, |, >=
&&, ||
?:
=, op=(*=, /=, %=, +=, -=
優先度低

Javaの変数

|public class CalcWithParams {
| public static void main( String args[] ) {
|  int x;
|  int y;
|  x = 2;
|  y = 2*x + 3;
|  System.out.println(y);
| }
|}

変数という概念は数学に由来するもの
上記であれば
xが2だった時の2x+3の結果をyに代入しているように
数学の変数と同じ役割を果たしている

変数の宣言

Javaでは変数を使う前に宣言する
|int a;
"int"はinteger(整数)の略
"int a;"でこれから整数型の変数aを使う意味を示す
この文が実行されると
コンピュータのメモリのうち4bytes分が確保される
確保した領域をソースコード中で"a"と呼ぶことがコンパイラに宣言される
ただし
メモリ領域の内容は初期化されるまで読み出されない

Javaで扱う全てのデータには型がある
文字列も実際はString型のデータである
データの型とは
データを格納するのに必要なメモリのサイズのこと
int型は4bytes分のメモリを使って表す整数

Javaで使える型とサイズ
整数
byte 1bytes -128~+127
short 2bytes -32768~+32767
int 4bytes -2147483648~+2147483647
long 8bytes -9223372036854775808~+9223372036854775807
浮動小数
float 4bytes ±3.40282347E+38~±1.40239846E- 45
double 8bytes ±1.79769313486231570E+380~±4.94065645841246544E- 324
文字
char 2bytes 0~65535(Unicode 表現)
理論
boolean 1bytes true/false

変数の初期化と代入

変数の宣言はメモリを必要なサイズ分確保すること
ただし
メモリを確保した段階では
メモリにどんな値が書き込まれているかは分からない
変数から値を読み出す前に何かしらの値を書き込んで変数を初期化する必要がある
初期化せずに変数を使おうとするとコンパイルエラーになる

|public class NoInitParam {
| public static void main( String args[] ) {
|  int a;
|  System.out.println(a);
| }
|}
コンパイルすると
|C:\DOCUME~1\MYDOCU~1 \MYJAVA~1>javac NoInitParam.javaNoInitParam.java:4: 変数 a は初期化されていない可能性があります。
| System.out.println(a);
| ^
|エラー 1 個
|C:\DOCUME~1\MYDOCU~1\MYJAVA~1>

変数を初期化するには
読み出す前に何かの値を代入すればよい

|public class InitParam {
| public static void main( String args[] ) {
|  int a;
|  a = 1;
|  System.out.println(a);
| }
|}
コンパイル/実行すると
|C:\DOCUME~1\\MYDOCU~1\MYJAVA~1>javac InitParam.java
|C:\DOCUME~1\MYDOCU~1\MYJAVA~1>java InitParam
|1

"a = 1;"という文で
"a"と呼ばれることになった4bytes分のメモリ領域に対して
"00000001"が書き込まれる
変数のへ初めての代入が終わると初期化されたことになり
以後読み出せるようになる

Javaでは
変数だけでなく数値を含む全てのデータに型がある
int型の変数aに代入される数値"1"は
同じくint型で扱われるので
メモリに書き込まれるデータは"00000001"になる

変数aが
1byte分のメモリを使う整数を表すbyte型で宣言あれば
"a = 1;"で"01"という1byte分のデータが書き込まれる

ref:
中野克平, 第2回 Javaの変数の本質を知る, 2002/11/29
★★★★☆
http://www.atmarkit.co.jp/fjava/rensai2/javaent02/javaent02.html

tag : Java

2010-03-23 04:11 : __lang__java : コメント : 0 : トラックバック : 0 :
コメントの投稿
非公開コメント

« next  ホーム  prev »

search

ad



counter


tag cloud

category cloud