- 1. Java 学習2(計算方法を学ぶ)
- 2. Java 学習1(さまざまなデータ型を学ぶ)
- 3. Mac VScode Maven でJunit 使ってみた
- 4. JAVA+STS(Spring Tool Suite)の環境構築手順
- 5. javac, jar, javaコマンドチートシート
- 6. javaのインスタンスについて
- 7. かつて見たびっくりクソコード
- 8. Mockitoで引数オブジェクトの内容の検証をする
- 9. 【Java】リフレクションは本当に重いのか?性能比較
- 10. Javaでselenium導入からキャプチャ保存する
- 11. Javaアプリケーションの状態を監視ツールを入れずに確認してみる
- 12. Javaで部分集合を求める
- 13. 【LeetCode Daily Challenge 2020-6-18】H-Index II
- 14. Javaのクラス型のフィールド
- 15. Javaの配列変数は参照型
- 16. Javaの抽象メソッドと抽象クラス
- 17. Javaのprotected
- 18. SCORM1.2コンテンツの検証ツール Reload SCORM1.2 Playerを使えるようにする
- 19. WindowsローカルのAWS SDKでJavaプログラムを動かすまで
- 20. CICS-Javaアプリケーションを動かす – (3)Gradleによるビルド管理
Java 学習2(計算方法を学ぶ)
#記事の目的
業務でJavaを使うことになったので、
基本的なJavaの使い方をアウトプットし知識を整理するため“`java:MyApp.java
public class MyApp{
public static void main(String[] args){
//演算
int i;
i = 10 / 3;
System.out.println(i);
i = 10 % 3;
System.out.println(i);
int x = 5;
x++;
System.out.println(x);
x–;
System.out.println(x);
}
}
“`“`
$ javac MyApp.java
$ java MyApp
3
1
6
5
“`“`java:MyApp.java
public class MyApp{
public static void main(String[] args){
//演算
int x = 5;
//
Java 学習1(さまざまなデータ型を学ぶ)
#記事の目的
業務でJavaを使うことになったので、
基本的なJavaの使い方をアウトプットし知識を整理するため“`java:MyApp.java
public class MyApp{
public static void main(String[] args){
// 文字
char a = ‘a’;
// 整数 byte short int long
int x = 10;
long y = 5555555555L; //long型の場合は最後にLをつける。//浮動小数点数 float double
double d = 23423.344;
float f = 32.33F;
//論理値
boolean flag = true; //false
//文字列
// \n
// \t
// String msg;
// msg = “Hello World Again!”
String msg = “Hello Wor\nld! Again”;System.out.println(msg)
Mac VScode Maven でJunit 使ってみた
# はじめに
とりあえずVSCodeでJUnit使ってユニットテスト体験してみたい人が対象です。
まだJavaすらMacに入れてないんだ!って人は[こちら](https://qiita.com/tayatamn/items/a38386288c50233c6a90)を参考にしてみてください。## 動作環境
– macOS : Catalina 10.15.5
– VSCode : 1.46.1
– Java : Amazon Correto 1.8.0_252別に他のJDKでも構いませんが、今回はとりあえず1.8を使うことにします。
## VScodeにJavaの拡張機能をインストールする
まず、[Java Extension Pack](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack)をVSCodeに入れましょう。
JAVA+STS(Spring Tool Suite)の環境構築手順# 目次
– [はじめに](#はじめに)
– [Javaの設定](#Javaの設定)
– [STSのインストール](#STSのインストール)# はじめに
JAVA+STS(Spring Tool Suite)の環境構築手順です。
本手順に従い、java openjdk-12.0.2とSTS(Spring Tool Suite)4をインストールできることが目標です。# Javaの設定
– [jdkのオフィシャルサイト](https://jdk.java.net/archive/)から、openjdk-12.0.2のzipファイルをダウンロードします。
– ダウンロードしたzipをCドライブに解凍し、`C:\jdk-12.0.2`のように展開されることを確認します。
– windosの検索バーに`環境`を入力し、`環境変数を編集`を開きます。
![環境変数設定起動](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/252890/e2725ff7-d0bb-9844-e011-93c6b50b28fa.pn
javac, jar, javaコマンドチートシート
# Javaでプログラムを作成後の実行までの順序。
1. compile。`javac`コマンドを使う。
1. jarファイルの作成。`jar`コマンドを使う。
1. run。`java`コマンドを使う。# javacコマンド
## help
“`
javac –help
“``javac -help`, `javac -?`も同じ。
`javac -h`は別物。## compile Java8以前 module不使用
“`compile-java8-earlier-none-module.sh
javac -d /path/to/bin/directory \
–class-path /path/to/files1:/path/to/files2 \
–release 8 \
$(find /path/to/src/directory -name “*.java”)
“``–release`でversion選択。
`$(find /path/to/src/directory -name “*.java”)`で指定ディレクトリ内の`*.jav
javaのインスタンスについて
プログラミング学習の総合サイト
侍エンジニア塾ブログロゴ
BLOG
ブログ
SERVICE
事業内容
COMPANY
会社案内
RECRUIT
採用情報
無料体験レッスン
ホーム
インタビュー
カリキュラム
チュートリアル
学習コラム
学習プラン診断
無料学習相談
Python, フリーランススライドショー
ブログトップ > プログラミング > Java > Java 入門
【Java】String型をint型に変換する
オータケ オータケ
2017/1/242019/6/4
こんにちは!フリーランスのオータケです。
皆さんはJavaの文字列をint型に変換する方法を覚えていますか?
また、int型の数値を文字列に変換する方法を覚えていますか?変換に失敗した場合はどうなるか知っていますか?この記事を見ればJavaの文字列をint型に変換する方法がわかりやすく学べます!
この記事では、文字列をint型に変換する方法について
String型からint型への変換方法
String型からその他の数値型への変換方法
数値型からString型への変換方法
String型の
かつて見たびっくりクソコード
# 概要
@rana_kualu さんの記事に触発されて、
自分が今まで見かけたなかでもヤバめのクソ コードについて書いてみる。(元記事)
・これまで見た中で最も汚いソースコード – Qiita
https://qiita.com/rana_kualu/items/2f3c40642836c11f5ddc# クソ コード
## ① typedef
“`C:再現コード.c
typedef void coid;
typedef void boid;
“`
キーボードを見ると [**c**] [**v**] [**b**] が並んでいる。
即ちこれは、 **タイプミスを型名の再定義でカバー** しているというもの。
流石にコレは **プログラムではない**、と思った。## ② マイナス1万
変数名はとりあえず適当。“`PHP:再現コード.php
$date0 = ‘20201122’; //画面からYYYYMMDDで文字列が来る
$date1 = $date0 -10000;
$year = substr($date1, 0, 4);
$month = substr($
Mockitoで引数オブジェクトの内容の検証をする
Mockitoを使ってるときに、『メソッドが呼ばれたかどうか』 は verifyのtimes() を使って検証する、っていう話はよく出てくるんですが、メソッドに渡った引数(オブジェクトの中身)の検証できる方法はないのか?と思って調べてみました。
## 参考
https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/ArgumentMatchers.html
https://www.codeflow.site/ja/article/mockito-argument-matchers### Matcherの作り方
org.mockito.ArgumentMatcher を継承して、カスタムMatcherを作ります。
HashMapだったらこんな感じかな。“`HashMapMatcher.java
import java.util.HashMap;import org.mockito.ArgumentMatcher;
public class HashMapMatcher implements A
【Java】リフレクションは本当に重いのか?性能比較
## 目的
基底クラスを作成する際にリフレクションを利用したいと思ったが、リフレクションは重いという情報が頭にあったため、本当に重いのか?どのくらい重いのかについて知りたくなったため実際に計測する。## 検証環境
– Eclipse Oxygen.3a Release (4.7.3a)
– Java8## 検証用ソースコード
**1.通常のインスタンス生成**“`
private static Oimo getInstance01() throws Exception {
return new Oimo();
}
“`**2.リフレクションを使用したインスタンス生成**
“`
private static Oimo getInstance02() throws Exception {
Class> clazz = Class.forName(“kensho01.Oimo”);
return (Oimo) clazz.newInstance();
}
“`## 実施手順
– 検証用ソースコードを使用して100,000回インスタンス生成を行い、
Javaでselenium導入からキャプチャ保存する
##目次
[seleniumとは](#seleniumtとは)
[目標](#目標)
[準備](#準備)
[導入手順](#導入手順)
[テストケース](#テストケース)
[テストケースの実行](#テストケースの実行)## seleniumとは
Seleniumとはブラウザのオートメーションツールです。
自動でブラウザを操作することでWebサイトの動作のテストなどが行うことができます。## 目標
Java selenium導入、Chrome開く→Yahooニュースに遷移→キャプチャまで。## 準備
####Javaプロジェクトの作成
プロジェクト名「selenium」####seleniumの[DL][link-1]
Java selenium version3.141.59####GoogleChromeの[DL][link-2]
最新版####Chromedriverの[DL][link-3]
GooglChromeと同一バージョンのもの####JUnitの[DL][link-4]
Download and installからjunit.jar、h
Javaアプリケーションの状態を監視ツールを入れずに確認してみる
#### 概要
jstackはJDKに付属するコマンドです。javaを起動してるマシンであれば特別監視ツールなんかを入れなくても簡単にプロセスの状態を取得することができます。
このツールは、コマンドラインコンソールにスレッドダンプを表示します。JavaのPIDさえわかれば使用することができる。性能が出ない時やデッドロックのような現象が発生した際はこのツールを使ってスレッドの状態を取得し調査に使うことができる。
#### Usage
“` console
$ jstack -l“` 出力結果はthread単位のスタックトレースを確認することができる。
“`
“Thread-0” #12 prio=5 os_prio=0 cpu=0.00ms elapsed=496.25s tid=0x00007f6a741f1800 nid=0x1a5 waiting on condition [0x00007f6a17a9f000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.
Javaで部分集合を求める
# Javaで部分集合を求めるクラス
“`java
import java.util.ArrayList;public class Subset {
/** 与えられた配列 */
String[] list;
/** 与えられた配列の要素数 */
int count;
/** 部分集合を格納するリスト */
ArrayListarrayList = new ArrayList<>(); /**
* コンストラクタ
* @param list
*/
public Subset(String[] list) {
this.list = list;
count = list.length;
arrayList = new ArrayList<>();
// 部分集合を求める
for(int i=0;i
【LeetCode Daily Challenge 2020-6-18】H-Index II
LeetcodeのDaily Challengeはこの数ヶ月の間にやっていますが、
Qiitaで解答説明を投稿するのは初めてなんです。
もし役に立っていれば、ぜひ「いいね」やコメントをお願い致します。今日の問題は:
>**H-Index II**
>Given an array of citations sorted in ascending order (each citation is a non-negative integer) of a researcher, write a function to compute the researcher’s h-index.
>According to the definition of h-index on Wikipedia: “A scientist has index h if h of his/her N papers have at least h citations each, and the other N − h papers have no more than h citations each.”
>E
Javaのクラス型のフィールド
###クラス型のフィールド
インスタンスフィールドにクラス型の変数を定義することで、フィールドにインスタンスを持つことができます。
【例】“`
class クラス名 {
private クラス型 フィールド名;
}
“`
Javaの配列変数は参照型
Javaの配列変数は参照型。
当たり前な基礎的なことだと思いますが、元々PHPをしていたので、
自身の備忘録のため、少しまとめてみました。例えば、下記のようなコードの場合には100が出力される。
“`java
int[] a = { 1, 2, 3 };
int[] b = a;
b[0] = 100;
System.out.println(a[0]);
// a[0]は100が出力される。
“`これは、Javaの配列変数が参照型なので、int[] a には配列が作られた
メモリアドレスが格納されるため。例えば、int[] a で作成された配列のメモリアドレスがABC123(実際はこんなメモリアドレスはないと思います)だとすれば、
このABC123というメモリアドレス(場所)に配列aが記録されている。そしてint[] b に入っているのは配列変数int[] a のメモリアドレスであるABC123が入るので、要は同じ配列ということになる。
そのため、 b[0]=100 は a[0]=100 と同じことになる。これがPHPで同様の下記コードを書いてみると、100
Javaの抽象メソッドと抽象クラス
###詳細未定のメソッド
例えば、車や自転車のメソッドがあるとします。乗り物はすべて「走行する」機能を持ちます。
プログラム上でも、Vehicleクラス(車両)を継承するすべてのクラスはrunメソッド(走行)を持っていたほうがいいです。
よって本来であれば、runメソッドはVehicleクラスに定義し継承できればいいのですが、乗り物ごとに走行方法が違うため、Vehicleクラスでは処理内容を定めることができません。
###抽象メソッド
処理が未定のメソッドを定義する方法は、メソッドの先頭に「abstract」をつけることで、抽象メソッドというメソッドを定義できます。抽象メソッドには**中身の処理**は書きません。
「abstract」とは「抽象的な」という意味です。具体的な処理が決まっていない未完成のメソッドであるため、「抽象メソッド」と呼ばれます。
抽象メソッドは、サブクラスがそのメソッドをオーバーライド(上書き)していなければエラーになります。
なので、サブクラスがそのメソッドをオーバーライドし、処理内容を定義することを強制できます。
サブクラスに、あるメソッドを必ず持たせたいとい
Javaのprotected
###protected
ゲッター・セッターとはまた違う方法です。
クラス外から呼び出したいときは、private(クラス外は呼び出せない)では呼び出せないので、「protected」を使って、クラス内とサブクラスからのみアクセスを許すフィールドを作ります。
「public」「protected」「private」の3つのアクセス権です。
・public: どこからでもアクセス可能
・protected: そのクラスと子クラス内からのみアクセス可能
・private: そのクラス内からのみアクセス可能
SCORM1.2コンテンツの検証ツール Reload SCORM1.2 Playerを使えるようにする
#概要
SCORM1.2コンテンツの検証に便利な「Reload SCORM1.2 Player」のインストール方法です。
マニアックすぎて需要ないかと思いますが、新しいPCへのセットアップついでに記録に残します。#Reload SCORM1.2 Playerのダウンロード
http://www.reload.ac.uk/new/scormplayer.html
ここから「Download SCORM 1.2 Player version 1.2.2 cross-platform Install (9.64 mb)」をクリックしてダウンロードし、zipファイルを展開します。※注意
検索エンジンで検索すると、1.2.1という古いバージョンのページが検索上位に挙がってくることがあります。それはバグがあり動かないので、トップページからたどって最新版を入手することをおすすめします。
おそらく、もう1.2.2からバージョンアップはされないと思いますが。#Javaのダウンロード
https://java.com/ja/download/
ここの「無料Javaのダウンロード」からダウンロー
WindowsローカルのAWS SDKでJavaプログラムを動かすまで
## 前提
[AWS SDK for Java 2.0 開発者ガイド](https://docs.aws.amazon.com/ja_jp/sdk-for-java/v2/developer-guide/welcome.html)
そして今回使おうとしているもの。“`pom.xml
1.8
1.8
2.11.12
software.amazon.awssdk
bom<
CICS-Javaアプリケーションを動かす – (3)Gradleによるビルド管理
#はじめに
CICS TS V5.6では、CICS-Javaアプリケーションのビルド管理ツールとして、Mavenと合わせてGradleもサポートされています。ここではGradleを使ったCICS-Javaアプリのビルド管理を試してみます。## 関連記事
[CICS-Javaアプリケーションを動かす – (1)単純なサンプルアプリの稼働](https://qiita.com/tomotagwork/private/aac10ad84fe83d88bb5f)
[CICS-Javaアプリケーションを動かす – (2)Mavenによるビルド管理](https://qiita.com/tomotagwork/private/a487484835d4e8dd2d6f)
[CICS-Javaアプリケーションを動かす – (3)Gradleによるビルド管理](https://qiita.com/tomotagwork/private/6fae5bd3440635ad26af)#事前準備
これはMavenのケースとほぼ同様です。(Mavenの代わりにGradleを使います)### 適当なJ