SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Android開発のためのJava SE再入門

java.langパッケージとグラフィックの基本処理

Android開発のためのJava SE再入門(4)

  • このエントリーをはてなブックマークに追加

 Androidアプリケーションは、Java言語を用いて開発できます。Androidアプリケーションの開発にあたっては、米グーグル社が提供するAndorid SDK(Software Development Kit、開発キット)の知識は当然ながら、基本となるのはJava SEです。この連載では、Javaでの開発の基礎となるJava SEを、実際にAndorid上で実行できるソースコードとともに解説します。

  • このエントリーをはてなブックマークに追加

はじめに

 第4回目の本稿からはJava SEのAPI(基本API)を中心に紹介します。今回は、もっとも基本的なクラスが含まれているjava.langパッケージのAPIから、まず代表的なクラスの概要説明、そして、Androidアプリケーションにとっても重要な概念であるスレッドを中心に解説することにします。

 なお各クラスの詳細な仕様につきましては、オンラインのJava Platform, Standard Edition 6 API仕様や参考書籍などをご覧ください。

対象読者

 Androidアプリケーションの開発を始めたい方で、JavaとEclipseのごく基本的な知識がある方を対象とします。

java.langパッケージ

 Java SEには、さまざまなパッケージが存在します。そのひとつのjava.langパッケージには、文字列操作、データの変換、数値演算、スレッド処理といった基本的な機能のAPIが含まれています。

主なクラス

 通常、パッケージに含まれるクラスを利用するには、import宣言を行うか、またはパッケージ名もつけた完全なクラス名(完全限定名)を記述する必要があります。しかし、このパッケージにかぎり、インポート宣言せずともコンパイラによって暗黙的にimportされるため、いきなりjava.lang内のクラスを記述することができます。たとえば、おなじみのSystemクラスは、次のような完全限定名やimport宣言は不要で、すぐにSystem.out.printlnと書けるのです。

// import java.lang.*; 暗黙的に行われる
java.lang.System.out.println("文字列");  // 完全限定名

System.out.println("文字列");

 次の表は、java.langパッケージの主なクラスです。

java.langパッケージの主なクラス
主なクラス 説明
System 標準入力や標準出力などのクラス
String、StringBuffer、StringBuilder 文字列クラス
Math 指数関数や平方根、三角関数といった数値演算クラス
Boolean、Byte、Integerなど ラッパークラス
Object すべてのクラスのスーパークラス
Throwable 例外のスーパークラス
Thread スレッド処理クラス
Class<T> 実行中のクラスおよびインターフェースを表すクラス

Systemクラス

 Systemクラスは、やや特殊なクラスでインスタンス化することができません。主に、標準入力や標準出力、標準エラー出力を扱うために、フィールドやメソッドがスタティックで定義されています。

主なフィールド/メソッド

 一般のJavaシステムでは、Systemクラスでもっともよく利用されるのが、次に示すフィールドです。

Systemクラスのフィールド定義
フィールド 説明
static InputStream in 標準入力ストリーム
static PrintStream out 標準出力ストリーム
static PrintStream err 標準エラー出力ストリーム

 ただAndroidアプリケーションで使用するのは、第2回目に紹介したログ出力程度で、他の用途でこれらを直接使うことはあまりないでしょう。

 ここでのポイントは、in、out、errが、すべてストリームを戻り値として返すことです。ストリームとは、文字やバイト列の流れを表す概念で、Javaの入出力機能はすべてこの概念をもとに設計されています(ストリームについては、あらためて次回以降で説明します)。

 その他のSystemクラスのメソッドには、現在時刻をミリ秒で取得するcurrentTimeMillisメソッド、配列をコピーするarraycopyメソッドといったものがあります。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
基本数値演算

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Android開発のためのJava SE再入門連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 高江 賢(タカエ ケン)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6078 2011/08/18 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング