hsmwhsmw

初心者入門continue - 繰り返し処理 - PHP入門

繰り返し処理の中でcontinueが実行されると繰り返し処理のブロック内でそれ以降の処理を実行せずに次の条件式の評価を行います。

continue;

例えば次のように使います。

$count = 0;
$sum = 0;

while ($count < 100){    // continueが実行された時に処理が移る位置
  $count += 1;

  if ($count % 2 == 0){
    continue;
  }

  $sum += $count;
}
print 'sum = '.$sum;

上記では変数の値を1から100まで変化させ合算した結果を表示するものです。while文のブロックの中で、加算しようとする値が2の倍数であった場合には合算を行わずに次の条件式の評価へ処理が移ります。

このようにcontinueを使用することでより細かく繰り返し処理内の処理を制御することが可能となります。

またbreakと同じくいくつの階層を飛ばして条件式の評価に戻るのかを指定することが出来ます。

continue 階層数;

階層の数を指定します。

次の例を見てください。

$count1 = 0;
$sum = 0;

while ($count1 < 10){    // continueが実行された時に処理が移る位置
  $count1 += 1;

  $count2 = 0;

  while ($count2 < 10){
    $count2 += 1;
    if ($count1 * $count2 > 30){
      continue 2;
    }

    $sum += $count1 * $count2;
  }
}
print 'sum = '.$sum;

今回の例ではcontinueが実行された時に2階層分の繰り返し処理の残りの処理を飛ばし外側の条件式の評価に処理が移ります。

breakと同様にcontinueを使えば繰り返し処理の制御をより細かく行うことができます。

サンプルプログラム

では簡単なプログラムで試して見ます。

sample4-1.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>PHPテスト</title>
</head>
<body>

<p>PHPのテストです。</p>

<p>
<?php
$count1 = 0;
$sum = 0;

while ($count1 < 10){    // continueが実行された時に処理が移る位置
  $count1 += 1;

  $count2 = 0;
  while ($count2 < 10){
    $count2 += 1;
    if ($count1 * $count2 > 30){
      continue 2;
    }

    $sum += $count1 * $count2;
  }
}
print 'sum = '.$sum;
?>
</p>

</body>
</html>

上記のファイルをWWWサーバのドキュメントルート以下に設置しブラウザからアクセスすると次のように表示されます。

continue

PHP入門の他の記事を見てみる

初心者入門AVD ManagerからAVD(仮想デバイス)を作成する | Androidプログラミング入門 | JavaDrive

eyecatch

Android StudioからAVD Managerを起動しAVD(仮想デバイス)を作成するまでの手順について解説します。

目次

  1. AVD Managerを起動する
  2. 新しいAVDを作成する
  3. AVDを追加で作成する
  4. AVDを作成したときに必要となるディスク容量

AVD Managerを起動する

最初にAndroid Studioを起動してください。(開いているプロジェクトは特に何でも構いません)。

p7-1

AVD Managerを起動するには「Tools」メニューの中の「AVD Manager」をクリックしてください。

p7-2

AVD Managerが起動しました。

p7-3

なおAVD Managerの起動は、Android Studioの右上に表示されているツールバーの次のボタンをクリックしても起動することができます。

p7-4

新しいAVDを作成する

それでは新しいAVDを作成してみます。初めてのAVDを作成する場合はAVD Managerの画面中央にある「Create Virtual Device...」をクリックしてください。

p7-5

最初に作成するAVDの端末を選択します。

p7-6

あらかじめ市販されている端末のハードウェアプロファイルがいくつか登録されています。例えば「Pixel 2」と同じサイズのAVDを作成したい場合は「Pixel 2」をクリックして選択してください。希望の端末がない場合は新規に端末を登録することもできます。今回は「Pixel 2」を選択しました。選択が終わりましたら「Next」をクリックしてください。

p7-6

次にシステムイメージを選択します。作成するAVDのAPIレベルを選択します。

p7-8

Recommended(推奨)タブに希望のAPIレベルがないばあいは「x86 Images」タブをクリックしてください。

p7-9

今回はシステムイメージとして「Oreo、27、x86Android 8.1(Google APIs)」を選択しました。選択が終わりましたら「Next」をクリックしてください。(なお、AVD上で動かすアプリで必要と設定したAPIレベルよりも低いAPIレベルのシステムイメージを選択してしまうと、アプリが動作しませんのでご注意ください)。

p7-10

システムイメージを選択するところで「Download」と表示されているものとされていないものがあります。該当のシステムイメージがインストール済みのものについては「Download」と表示されていません。この画面で「Download」をクリックして追加でインストールすることもできますし、事前にインストールしておくこともできます。事前にインストールする場合はSDK Managerを使ってSDKおよびSDK Toolsを追加でインストールする」を参照されてください。

作成するAVDのここまでの設定の確認とより詳細な設定を行う画面が表示されます。

p7-11

AVDの名前は選択済みの端末名やAPIレベルが組み合わされて設定されていますが、変更する場合は直接編集してください。また「Device Frame」ですが、「Enable Device Frame」にチェックが入っていると、エミュレーターを起動したときの外観が実際の端末の外観と同じようになります。

p7-12

今回は「Enable Device Frame」のチェックを外しました。設定が終わりましたら「Finish」をクリックしてください。

p7-13

AVDの作成が完了しました。AVD Managerの画面に、先ほど作成したAVDが表示されています。

p7-14

AVDを追加で作成する

AVDは複数作成することができますので、複数の種類の端末に対応したAVDをそれぞれ作成しておき、アプリをテストすることができます。AVDを追加で作成する場合も、初めての時と同じ手順でAndroid Studioの「Tools」メニューの中の「AVD Manager」をクリックしてAVD Managerを起動してください。

p7-15

作成済のAVDが表示されています。AVDを追加するには「Create Virtual Device...」をクリックしてください。

p7-16

AVDを作成するための手順は最初のAVDの場合と同じです。今回は端末選択の画面で「Nexus 6」を選択し、システムイメージでは「Oreo、27、x86Android 8.1(Google APIs)」を選びました。

p7-17

最後の画面で「Finish」をクリックするとAVDが作成され、AVD Managerの画面に戻ります。

p7-18

最初に作成したAVDとあわせて2つのAVDが作成され、AVD Manager画面に表示されました。

AVDを作成したときに必要となるディスク容量

AVDを作成した時に必要となるディスクサイズはAVD Managerの「Size on Disk」のところに表示されています。

p7-19

どちらのAVDもそれぞれ1GBのディスクを使用していることが分かります。

実際にどんなファイルが作成されているか見てみます。AVDを作成するとデフォルトでは「C:¥Users¥(ユーザー名)¥.android¥avd」に設置されます。

p7-20

作成したAVD毎にそれぞれにフォルダが作成されており、例えば「Nexus_6_API_27.avd」のフォルダの中を見てみると3つのファイル合計で1.03GBのファイルが作成されていることがわかります。(もう一つのほうのAVDも同じでした)。

p7-21

AVDを使ってエミュレータを起動するとさらにいろいろなファイルが作成されてディスクの容量が必要となります。余裕がある場合はいいですが、ディスクの空きが少ない場合にはAVDの作りすぎにご注意ください。

-- --

AVD Managerを使ってAVDを作成する方法について解説しました。

初心者入門色の指定方法 - 色の指定 - Google Chart Tools入門

Google Chart Toolsにおいて色を指定する場合は次の書式を使います。

RRGGBB

赤青緑をそれぞれ16進数で「00」から「FF」までの値で指定します。HTMLで色を指定する場合と同じです。例えば次のようになります。

000000 = 黒
FF0000 = 赤
00FF00 = 緑
0000FF = 青
FFFFFF = 白

また次の書式も利用することが出来ます。

RRGGBBAA

この場合「AA」には透明度を表す値を16進数で「00」から「FF」までの値で指定します。「00」は透明となり「FF」は不透明となります。

FF000000 = 透明な赤
FF0000FF = 不透明な赤

サンプルプログラム

では実際にサンプルを試してみます。下記では折れ線グラフの線の色を指定しています。

サンプル画像

http://chart.apis.google.com/chart?
chs=300x300
&chd=t:10,15,4,60,45|30,23,73,24,87
&cht=lc
&chco=a30000,4e00e8,550055

初心者入門数値 - 文字列と数値 - Java入門

プログラムの中で計算をしたり、繰り返す回数をカウントする場合などに使用するのが数値です。プログラムの中で値として使用される数値は数値リテラルという呼び方をすることもあります。

プログラムの中で数値の値を記述する場合は単に数値を記述します。

100
3.14

文字や文字列などのように「'」や「"」などで囲う必要はありません。逆に数値を「"」などで囲った場合には数値ではなく数値を表す文字からなる文字列になってしまいます。

215    -> 数値
"215"  -> 文字列

上記では上は215という数値ですが、下は「215」と言う文字列です。文字列では計算を行ったりすることはできません。

数値には整数と浮動小数点数の2種類があり、それぞれ整数リテラル浮動小数点数リテラルと呼ばれることもあります。整数リテラルは100や45などで、浮動小数点数リテラルは3.14や10.2などです。より詳しいことはデータ型のページで解説します。

サンプル

では簡単なサンプルで試してみます。

JSample5_1.java

class JSample5_1{
  public static void main(String args[]){
    System.out.println(123);
    System.out.println(1.414);
  }
}

コンパイル後に実行すると次のように表示されます。

p5-1

初心者入門演算子の優先順位 - PHP入門

PHPで使われる演算子の優先順位をまとめておきます。

演算子結合順位
new無し
[
! ~ ++ -- (int)など @
* / %
+ - .
<< >>
< <= > >=無し
== != <> === !==無し
&
^
|
&&
||
?:
= += -= *= /= .= %= &= != ^= ~= <<= >>=
and
or
,

表の見方としては優先順位は上に行くほど高く下に行くほど低くなります。また同じ行に含まれる演算子は同じ優先順位です。

同じ優先順位である演算子が1つの式の中で同時に使われていた場合は結合順位に従って処理が行われます。「*」や「/」の結合順位は左ですので左から順に演算が行われます。

初心者入門split関数 - 文字列 - Perl関数のリファレンス

「split」関数は対象となる文字列を指定のパターンで分割します。

指定したパターンに従って文字列を分割します。分割した各文字列は
リストとして取得します。

パラメータ:
  /PATTERN/ 分割パターン文字列
  EXPR  対象の文字列
  LIMIT  分割の最大数
戻り値:
  分割された文字列を要素とするリスト

1番目の引数には文字列を分割するためのパターンを指定します。パターンは正規表現を使って指定します(正規表現について解説すると長くなってしまうため、パターンの指定方法は正規表現の解説を確認して下さい)。パターンを省略した場合は1個以上の空白文字(スペース、タブ、改行)を表す「/¥s+/」を指定した場合と同じです。

2番目の引数には対象となる文字列を指定します。省略した場合にはデフォルト変数の「$_」が指定されたものとして扱われます。

3番目の引数には最大分割数を指定します。分割が指定した最大数に達すると、それ以上の分割は行われません。省略された場合は無制限となります。

具体的には次のように記述します。

my $targetstr = "My name is Gotou.";
my @strlist = split(/ /, $targetstr);

上記の場合は「My」「name」「is」「Gotou.」の4つの要素に分割されます。

分割数の取得

「split」関数の戻り値をリストではなく値として受け取るように記述した場合は、分割された要素の数を取得します。例えば次のように使用します。

my $targetstr = "My name is Gotou.";
my $count = split(/ /, $targetstr);

上記の場合は分割された個数である「4」が取得できます。

※ただし現在この使用方法は推奨されていないようですので注意して下さい。

サンプルプログラム

では簡単なプログラムで確認して見ます。

test3-1.pl

use strict;
use warnings;
use utf8;
binmode STDIN, ':encoding(cp932)';
binmode STDOUT, ':encoding(cp932)';
binmode STDERR, ':encoding(cp932)';

my $target = "My name is Gotou.";
print "$target¥n";

print "¥n空白で分割:¥n";

my @list = split(/ /, $target);
foreach my $parts(@list){
  print "$parts¥n";
}

print "¥n最大数2として空白で分割:¥n";

@list = split(/ /, $target, 2);
foreach my $parts(@list){
  print "$parts¥n";
}

上記を「test3-1.pl」の名前で保存します(文字コードUTF-8です)。そしてコマンドプロンプトを起動し、プログラムを保存したディレクトリに移動してから次のように実行して下さい。

split関数

初心者入門文字列の一部を他の文字に置き換える(str_replace) - 文字列関数 - PHP関数

文字列の中の指定した語句を他の語句に置き換えます。

引数に指定した文字列に含まれる特定の語句を、別の語句に全て置き換えます。

引数:
  search  置き換え対象の語句
  replace  置き換える語句
  subject  対象の文字列
  count  置き換えられた回数が、この変数に保存される
返り値:
  置き換え後の文字列

実際の例で見てみます。下記では文字列の中に含まれる「港区」という語句を「東京都港区」に置き換えています。

$str = '港区六本木';
$new_str = str_replace('港区', '東京都港区', $str);

print($new_str);
// 東京都港区六本木 と出力される

では実際に試して見ます。

functest62.php

<html>
<head><title>PHP TEST</title></head>
<body>

<?php

$str = '港区六本木';
$new_str = str_replace('港区', '東京都港区', $str);

print('変換前 '.$str.'<br>');
print('変換後 '.$new_str.'<br>');

?>
</body>
</html>

上記ファイルをWWWサーバに設置しブラウザ経由で見ると下記のように表示されます。

str_replaceのテスト