【Java】整数型の話し

前回、自己紹介記事の中で予告した通り早速プログラミングの話しを書きたいと思います。

 

今回は現在勉強中ということもあり、Javaの数値型についてです。

一見簡単に覚えられそうな数値型、格納できる値の大小で並べることはできても、

私はいつもいつも具体的な範囲を忘れてしまうので、試験対策兼ねて書いていきたいと思います。

 


 

目次

 

  

上記の順に説明をしていきたいと思います。

 


 

1.整数型の種類

 Javaで扱える整数型は4種類あり種類は下記となっています。

 

  • long型
  • int型
  • short型
  • byte型

 

上から扱える範囲(桁数)が大きい順となっていて、

各値には整数を代入することができます。

 


 

2.各型の範囲

 ここが一番忘れやすい各型の範囲となります。

 

  • long型 ±900京(-9223372036854775808~9223372036854775807)
  • int型    ±21億(-2147483648~2147483647)
  • short型  ±3.2万(-32768~32767)
  • byte型 ±128(-128~127)

 

一番大きい範囲を扱えるのがlong型となっており、±900京と膨大な数値となっています。

逆に一番小さい範囲を扱えるのがbyte型で、範囲は±128です。

これは変数を宣言した際に消費されるメモリの領域によって範囲に差がでるようになっています。

long型は8バイト、byte型は1バイトのみです。

 

試験対策としては4種類だけですし、各型の大小関係を覚えるのは大前提として、

比較的出題率の高いbyte型の範囲、short型の範囲は覚えておきたいところですね。

 

業務の使用であればメモリに制約がある等の問題さえなければ、基本的にint型を使うのが無難かと思います。

 

続いては各型の使い方についてざっくりと説明していきたいと思います。

  


 

3.long型

 

一番広い範囲を扱えるlong型、この型の特徴として末尾に"L"もしくは"l"のどちらかを付ける必要があります。

 

 ex)

 long l1 = -9223372036854775808L;

 long l2 = 9223372036854775807l;

 

あまり勘違いはないかと思いますが、念のため末尾は大文字の「大文字L」もしくは「小文字のL」となっています。

決して「大文字のI」ではありません。(筆者は問題集を解いてる時たびたび見間違えました…)

 


 

4.int型

 

一番ポピュラーなint型です。

とりあえず整数が使いたければ特別な理由がない限りintを使っておくのが無難でしょう。

宣言時に特に注意事項はありません。いつも通り宣言して代入すれば使用することができます。

 

 ex)

int i1 = -2147483648;

int i2 = 2147483647;

 


 

5.short型

 

使用頻度はそこまで高くないですが、試験ではちょいちょい目にする機会のあるshort型です。

扱える範囲も±3.2万とそこまで広くはないので、余裕があれば覚えておくと試験の時に役立つ可能性があるでしょう。

int型同様宣言時に特に注意事項はありません。いつも通り宣言して代入すれば使用することができます。

 

 ex)

short s1 = -32768;

short s2 = 32767;

 


 

6.byte型

 

扱える範囲が最も小さいbyte型です。

扱える範囲は-128~127、問題集等に取り組んでいる方であれば目にしたことがあるかと思います。

筆者はBronzeの試験の際にも出てきたので、覚えやすいですし覚えておくのが吉でしょう。

こちらもint型同様宣言時に特に注意事項はありません。いつも通り宣言して代入すれば使用することができます。

 

 ex)

byte b1 = -128;

byte b2 = 127;

 


 

以上が今回の記事になります。

初めてブログを介して説明しましたが、頭をひねりひねり、

後になってこうしてみたかったああしてみたかったが色々出てきてやっぱり難しいですね…

見辛い点等色々あるかと思いますが、精進していきたいと思いますので長い目で見ていただけると幸いです。

 

不定期更新のため、いつになるかは定かではありませんが次回は文字、文字列について書きたいと思います。

ブログ開設しましたので自己紹介

タイトル通りブログ開設しました。

初投稿でいきなり備忘録書き始めてもよかったんですが、

いきなりもあれかなってことで、自己紹介としてプロフィールには書かなかったこと書いていこうと思います。

 

=============

nickname:Novice 色々と初心者ということでこの名前を使って行こうと思います

birth:7月6日

age:25歳

blood type:A型

from:千葉

gender:男

hobbies:

サーフィン 両親が昔から興じており、自分もその影響で幼少時代より続けてます

ゲーム、アニメ観賞 俗にいうオタクなのでサブカルコンテンツ全般が好きです

読書 主にミステリーやファンタジーを読みます、一番好きな作家は江戸川乱歩です

料理 母親の影響と学生時代キッチンでずっとバイトしていたため今でも土日はゆっくり料理してることが多いですね

音楽 自分で弾くのも聴くのも好きです。ベースを弾いていて一番尊敬するベーシストはLesClaypool、邦楽はamazarashiが一番好きです

 

Licenses and Certifications:

LPIC level1

Java SE 7/8 Bronze

Python 3 認定基礎試験

 

experience:

2016年にネットワークエンジニアとしてIT企業に入社

その会社で研修期間中にLPIC level1を取得し、

研修期間が終了してからはターミナルアダプターやモデムのテストエンジニアとして1年8か月従事

ここでは最初モデムの検証プロジェクトに従事していたのですが、

新規プロジェクト立ち上げの際現場内で引き抜かれ、ターミナルアダプターのプロジェクトに参画

その際の経験でIP通信やVoLTE通信等について一通り学ぶことができました。

また、やり取りが基本英語だったため、書くのはグーグル先生に頼りきりで話すのは未だにほとんどできない状態ですが、

読むのと聞くのだけはなんとか伝えたいことを読み解く程度ならできるようになりました。

2018年3月現在の会社に入社

自分は大学時代教育学を専攻しており、現在の会社が教育事業等伸ばしていきたいとのこと、

自分がプログラマになりたいという思いが合致し、転職となりました。

3月中にJava SE 7/8 Bronze、Python 3 認定基礎試験に無事合格できたため、

現在は新卒の方々と一緒になり研修を受けながらJava SE 8 Silverを目指して勉強中です。

 

=============

 

体を動かすことは嫌いではないので、日常でも毎日ちょっとずつ筋トレをしていたり、

趣味でサーフィンしたりしていますが、基本的に出不精のインドア派のため土日なんかは家で読書したり料理したりゲームしてることが多いです。

スポーツ観戦なんかも好きなので、最近では前の現場の方とたまにサッカー観戦にでかけたりしています。

元々プログラマになりたくてIT業界に飛び込んだのですが、最初に入社した会社で気付いたらネットワークエンジニアになっていて、

それでも仕事は楽しく、現場の人と仲良くやれていたので自分を騙し騙し仕事していたのですが、

開発現場に近い職場環境で思いを忘れきれなかったこと、仲のいいメンバーからの後押しもあり、プログラマとしての道を歩み出すこととなりました。

現在はJavaの勉強が主になっていますが、ゆくゆくはこれから衰退することがないであろうAI方面に舵を切っていけたらと考えているので、Pythonエンジニアとして統計学等も勉強していきたいと考えていますが、自分の将来像がまだ見えていないところが多いため今はひたすら走り続ける日々です。

また、前の現場でRFCを読んでいるときや、JavaPythonの勉強をしている際に強く英語の必要性を感じたため、今後英語を改めて勉強していこうと思っています。

しかし、7月までにJava Goldの取得が目標でその後は統計学を勉強したいと思っているので、英語の勉強はその合間を縫いながら通勤中などにゆっくり進める感じですかね。

実家が千葉の田舎の方なので将来的には実家近くに引っ越し、在宅勤務やフリーで仕事していけたらなってのが今の漠然とした目標です。

 

長々と書きましたが、次回からは予定通り備忘録など書いていきたいと思うのでよろしくお願いします。

 

投稿前にプレビュー確認したら文字小さいしで読み辛さにびっくりしたけど一先ずこのまま投稿します。

今度修正できたらいいな…