JAVA関連のことを調べてみた2020年04月14日

JAVA関連のことを調べてみた2020年04月14日
目次

【Java初心者】コマンドライン引数って…わからんなぁ~

>コマンドラインで~,コマンドラインの引数の数が~,

みたいな課題出されても、『意味わからん!』となるあつぎです。
なのでググって調べてみた!Let’s Google it!

#Q.1 コマンドライン引数とは?
>結論:プログラムを起動した際に一番最初に渡される情報

いちいちコードを書かなくてもファイルの情報を勝手に持ってきてくれるから便利との評判です。

ざっくり説明すると、コマンドライン引数に最も多く設定されるのはファイルの情報で、別に文字や数値でもOKだそうです。設定するときに必要なデータが入っているフォルダのパスを指定してあげればフォルダの中身の情報が取得できるそう。

#Q.2 コマンドライン引数の情報はどこに渡されるの?
>結論: mainメソッドの引数部分

“`java
public class sample{
public static void main(String[] args){
} //String[] argsの部分
}
“`

javaの仮想マシン(VM)

元記事を表示

【Java初心者】Javaにおける円周率【Mathクラス】 ~Mathクラスってなんぞ?~

>円周率はMathクラスのPI使ってね?

こういわれても頭の中は『?』なあつぎです?

なのでGoogle先生お願いします。なんでもしますかr

#◆そもそもMathクラスとは

Math クラスは、指数関数、対数関数、平方根、および三角関数といった基本的な数値処理を実行するためのメソッドを含んでいます。はい、なんのこっちゃですよね。

なので、[こんな種類があるよーって参考記事があったので記載](https://qiita.com/maru2213/items/b3b5b66cd2d4931dd989)させていただきます?‍♂️

#【結論:円周率はこれでOK】
この記事読んでる方は、さっさと答えを知りたい!という人だと思うので、さっさと結論から書きます。

“`java
public class sample {

public static void main(String[] args) {
double x = Math.PI; //Javaにおける円周率
System.out.println(x);
}
}

“`

>※ちょい補

元記事を表示

【Java初心者】文字列から数値への変換 ~IntegerクラスのparseIntメソッドとは何ぞや?~

こんにちは、あつぎです!

>IntegerクラスのparseIntメソッドとは?

と質問され、「未経験にわかるかいっ!」と思ったのでメモしておきます。
これをスパッと答えられる経験者は回れ右してお帰り下さい。

#◆文字列から数値への変換
数値形式の文字列を数値そのものに変換する方法があるそうです。
その1つが、『parsexxxメソッドを使用する』とのこと。

#◆parsexxxメソッドを使用する
この方法は、各ラッパークラスで用意されているparsexxxメソッドを使う方法です。xxxの部分はラッパークラス毎に異なりそれぞれ次のようなメソッドが用意されています。

※[ラッパークラスの説明はこちらから](https://qiita.com/Fallstag_Atsugi/items/1ebb7cce04305f63f082)

“`
Byteクラス:
static byte parseByte(String s)

Shortクラス:
static short parseShort(String s)

Integerクラス:
static int parseInt(S

元記事を表示

【Java初心者】ラッパークラスとはなんぞ? ~Javaでこれは知っておこう~

ラッパークラスとはなんぞやと思い、まとめてみました。

#◆ラッパークラスとは?
[javaでは基本データ型として、byte, short, long, integer, float, char, double, booleanが規定](https://qiita.com/Fallstag_Atsugi/items/f9e5a07ddad33133613a)されています。これらをプリミティブ型というそうです。

プリミティブ型はオブジェクトではないので、それ自身のメソッドを持っていません。

ところがオブジェクトを使ってゆくと、これらの基本型を操作しなければならない局面が出てきます。そのためプリミティブ型をオブジェクトとして操作するクラスが各種定義されています。 これらはプリミティブ型を包み込むという意味でラッパークラスといいます。

あんまりわかりませんね。情報系の学部卒ならスッと頭に入るのでしょうか?

![rapper.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/505304/886e24d9-

元記事を表示

JavaでLifeGameを作ったので置いとく。

#はじめに
LifeGameのシミュレーションソフトを作ってみたので記念にソースコードを貼っときます。Javaを書くのは初めてだったのであんまり綺麗ではないと思います()特に例外処理が良くなさそう…アドバイス等ありましたらコメントお願いします。

#動作様子

元記事を表示

EclipseにてjavaFXの導入(2020-4月)

## はじめに

javaSEにjavaFXが同梱されないようになり、既存のやり方ではうまくいかないことがあるようで、導入に躓いたので後の参考になればと思い。 初心者なのでお手柔らかに。

## 環境

– macOS Catalina
– Eclipse (2020-03)
– javaSE 11

## 導入

### e(fx)clipseをインストール

1 Eclipseを開き、画面上部の”ヘルプ”から”新規ソフトウェアのインストール”に進む。

2 “追加”を選択

3 名前欄に

> Oxygen

ロケーションに

> http://download.eclipse.org/releases/oxygen

を入力。

4 e(fx)clipseを選択しインストール。

### javaFX SDKをダウンロード

1 [javaFXのサイト](https://openjfx.io)を開く

2 “DOWNLOAD”を押し、「JavaFX Mac OS X SDK」をダウンロード。(おそらくWindowsの場合はWindowsを選ぶ)

### プロジェクトを作成

元記事を表示

Spring bootにJOOQを導入時、Liquibase周りでエラーとなるため対処した話

# 背景
Spring bootを勉強しています。

– IDE:STS4
– 各種バージョン:Java13, Spring boot2, JOOQ 3.13.1

です。

## Spring bootの勉強中にSQLをメソッドベースで書きたくなった
SpringデフォルトのJPAで簡単なDBアクセスをしていたものの、
テーブルJOINする時に、あまりイケテナイ気がしてきた。。。
過去に仕事でメソッドベースでSELECT文を書いていたことを思い出し、
似たようなライブラリを探した。

**JOOQ**なるクエリービルダー型のORMなるものがあるのか!
と気づいたので導入。

# 導入方法
割愛します。
Postgresを利用しつつ、対象データベースのテーブルに対するテーブル関連ソースコードの自動生成まではあまり困らずにいけました。

# エラー発生!
コンパイルエラーもないようなので、WEBアプリケーションを起動しようとすると下記エラーが発生しました。

“`
org.springframework.beans.factory.BeanCreationException: Err

元記事を表示

Test source folder ‘src/test/java’ in project ‘プロジェクト’ must have an output folder that is not also used for main sourcesとなった時の対応方法

– 環境
– CentOS Linux release 7.6.1810 (Core)
– Eclipse Version: 2019-03 (4.11.0)

# 事象 : EclipseのプロジェクトでMavenの`Update Project…`をしたら怒られた

“`text
Test source folder ‘src/test/java’ in project ‘プロジェクト’ must have an output folder that is not also used for main sources
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159761/e8145ccf-a58a-ecb3-b9cf-17de27238a97.png)

# 原因 : `.classpath` に設定されている `path`のディレクトリがないから
– 参考
– [eclipse – How to fix the error &quo

元記事を表示

Spring基礎 〜DI編〜

### DIについて
#### DIとは
直接インスタンスを生成した APPがDIコンテナを経由してインスタンス取得できるようにすること。
DIを利用することでのメリットとして以下があげられる。

– スコープの制御
– インスタンスのライフサイクル制御
– 共通機能の組み込み
– 疎結合になることでのUTのしやすさ向上

DIコンテナに登録するComponentを「Bean」という。
Configurationのことを「Bean定義」という。

#### DIを利用した実装方法
##### Configuration方法
– JavaベースConfiguration

@Configurationでコンフィギュレーションクラスであることを宣言
@BeanでBean定義

“`ruby:AppConfig.java
@Configuration
public class AppConfig {
@Bean
TestRepository testRepo() {
retrun new TestRepositoryImpl();
}
}
“`

元記事を表示

【Java初心者】lengthとlength()の違い ~わからんなぁ~

Javaで長さを取得するために使うlengthとlength()。
違いがわからないので、まとめました。

初学者以外も、よく意味がごっちゃになるそうなので一度おさらいしましょう。

#◆lengthとlength()の違い
>length:配列の長さを取得する
length():文字列の長さを取得する

参考までにこんな感じで使います。

“`
public class Main {
public static void main(String[] args) {

// length:配列の長さを取得する
int[] array = {1, 2, 3};
System.out.println(array.length); // 3

// length():文字列の長さを取得する
String str = “lengthの長さ”;
System.out.println(str.length()); // 9
}
}
“`

ちなみに、length()を使って文字列の長さを取得する際、全角

元記事を表示

Java DiscordBot作成

#はじめに
Javaで作るよりPythonで作るほうが紹介してる記事も多いし作りやすいと思うけど
Python分かんないんでJavaで書きます
Python分かるって人はこんな記事みてないでPythonで書くべし

#環境

jre 1.9.0_241
jdk 1.8.0_241
Intellij idea community 2019.3.3
書ければ何でもいい

#準備
Botを作成する際トークンというものが必要になるのでその辺を準備します

1. [Discord Developer Portal](https://discordapp.com/developers)に行きます
多分初めてだとログインを要求されるので自分のアカウントでログインしてください

1. Applicationsの欄からNew Applicationを選択します
![New Application.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/602064/521238a5-b619-f799-91a2-2f34e0470

元記事を表示

Webを使った新人研修 ~Javaを用いた基本的プログラミング編・クラス~

######[Webを使った新人研修 ~Javaを用いた基本的プログラミング編~](https://qiita.com/fujisystem/items/4237ca88b224ae5875dd)

#クラス
[クラス](https://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%A9%E3%82%B9_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF))とは設計図であり、この設計図に基づいて[インスタンス](https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9)を生成します。

折角なので、オブジェクト指向の説明も兼ねて説明しましょう。
[オブジェクト指向](https://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91)

細かい説明を

元記事を表示

【Java初心者】Java データ型 まとめ ~基礎の基礎~

変数宣言するときには、変数名と同時に変数のデータ型を指定する必要があります。

データ型とは値の種類のことで整数や浮動小数点数、そして文字などです。
Javaで用意されているデータ型は次の通りなので知っておきましょう。

|データ型 |ビット型|値 |
|—|—|—|
|boolean| – |true or false|
|char |16ビット|Unicode文字 ¥u0000~¥uFFFF|
|byte |8ビット|整数 -128~127|
|short |16ビット|整数 -32768~32767|
|int |32ビット|整数 -2147483648~2147483647|
|long |64ビット|整数 -9223372036854775808~9223372036854775807|
|float |32ビット|単精度浮動小数点数|
|double |64ビット|倍精度浮動小数点数|

例えば,整数を保存するための変数でもいくつか用意されています。

大きな値を保管できるデータ型を指定しておけば何でも大丈夫なように思えますが、大きな値を保

元記事を表示

熟読したいJava勉強用サイトまとめ

## Java学習用サイトまとめ
### 全般
#### Lombock

#### ちょっといいJavaコードを書こう
Effective Java的な
https://qiita.com/nishemon/items/b581b3430cc6225098ca

#### モダンなJava開発ガイド
https://qiita.com/yoichiwo7/items/17190cb440ab7d253cea

### Java8関連
#### Optinal
https://qiita.com/chooyan_eng/items/02f775f591c0312a9faf

#### Stream API
https://qiita.com/takumi-n/items/369dd3fcb9ccb8fcfa44

#### メソッド参照
https://qiita.com/kws9/items/d1cfbcb483be87bf25e7

#### ラムダの基礎
https://qiita.c

元記事を表示

インターフェースのdefaultメソッド、ちゃんと使えていますか?

# はじめに
`Java 8`でインターフェースのdefaultメソッドが導入され、`Java 9`からはインターフェースにprivateメソッドも定義できるようになりました。
便利な機能なのですが、誤った使い方で濫用するとアプリケーションの保守性を下げてしまいます。では、どのような使い方が望ましいのでしょうか?

# 良くない例
“`java
public interface BadUsage {

void someMethod();

// (1) ミックスインや実装継承を目的としたユーティリティ的なもの
default String normalize(String str) {
return str.toUpperCase().trim();
}

// (2) 他のオブジェクトに依存した処理
default int getSomeValue() {
return Singleton.getInstance().getValue();
}
}
“`

上記サンプルコードの(1)は、

元記事を表示

どの8進数リテラルが使えるかはプログラミング言語によって異なる

(この記事は [地平線に行く](https://yujisoftware.hatenablog.com/entry/octet_literal) とのマルチポストです)

8進数を表記する文法は、主に以下の3つがあります。
(二番目と三番目は分かりにくいですが `ゼロ オー`[^octet] です)

* プリフィックスとして `0` を付与する (例: `0123`)
* プリフィックスとして `0o` を付与する (例: `0o123`)
* プリフィックスとして `0O` を付与する (例: `0O123`)

これらのうち、各プログラミング言語がどの文法を採用しているかを表にまとめました。

|言語|`0`|`0o`|`0O`|
|:–|:–:|:–:|:–:|
|C|○|×|×|
|PHP|○|×|×|
|Perl|○|×|×|
|Java|○|×|×|
|Scala (~2.9)|○|×|×|
|Scala (2.10~)|×|×|×|
|Kotlin|×|×|×|
|C#|×|×|×|
|Rust|×|○|×|
|Swift|×|○|×|
|Go|○|○|○|
|

元記事を表示

メソッドの作成方法

※下記内容は、UdemyのURL教材を元に学習しております。
https://www.udemy.com/share/101Wu4AEIbd1ZRRHoF/

メソッドとは

処理に名前をつけていつでも呼び出せるようにしたもの。
例えば、「Hello World」と10回記述したかった時、、、

“`java:method.jv
System.out.println(“Hello World”);
System.out.println(“Hello World”);
System.out.println(“Hello World”);
System.out.println(“Hello World”);
System.out.println(“Hello World”);
System.out.println(“Hello World”);
System.out.println(“Hello World”);
System.out.println(“Hello World”);
System.out.println(“Hello World”);
System.out

元記事を表示

public static final Stringとして宣言された文字列定数が埋め込まれる

# 事象

文字列定数(`public static final String`)ばかりが定義されたクラス`Const.java`と、その定数を利用する`Main.java`があるとします。

“`java:Const.java
public class Const {
public static final String VALUE = “BEFORE”;
}
“`

“`java:Main.java
public class Main {
public static void main(String[] args) {
System.out.println(Const.VALUE);
}
}
“`

このふたつのjavaファイルをコンパイルし、実行すると、文字列定数`Const.VALUE`の値`BEFORE`が出力されます。

“`
C:\qiita> javac Const.java Main.java

C:\qiita> java Main
“`

ここで、文字列定数`Const.VALUE`の値が変更になったとします。

元記事を表示

試験投稿(Javaによるブロックチェーン向けSHA-256マイニング)

これは試験投稿です( ˶˙ᵕ˙˶ )
Javaを用いて、ブロックチェーンのSHA-256ハッシュ値のマイニングを実験中
![写真 2020-04-04 17 26 24.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/617906/5449014c-3d50-4fd3-792c-e68e1b9a20c5.jpeg)

– SHA-256によるハッシュ値計算
– ハッシュ値を求める入力データは、以下を文字列連結
– データ本体
– 任意の固定値(通常はタイムスタンプ)
– ノンス(SHA-256のマイニングの計算値の目的の値を求めるのに必要な正解値)
– 100000回、ノンスを1加算しつつ、ハッシュ値を計算する。
– ハッシュ値の先頭が「0000」ならば、それが目的の値となる(正解値)
– 100000回経過しても見つからない場合は、そのハッシュ値をブロックチェーンに用いる

実験環境:Java(openJDK 12+Eclipse)
大抵この難易度で、Windows 10(64bit)でCor

元記事を表示

Javaテストコードメソッド集

“`java:MyTestUtil.java
package domain.unofficial;

import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.function.Predicate;
import java.util

元記事を表示

OTHERカテゴリの最新記事