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

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

javaメゾットを作る 【メモ】【java11】

##classとmainメゾット

###class
classの書き方。

“`java:setumeiclass.java
public class setumeiclass/*⇐ファイル名*/{
//この中にmainメゾットを書く。
}
“`

###mainメゾット

これがないと始まらない。
この中にコードを書く。(基本的には。)

“`java:Test.java

public class Test{
public static void main(String args[]){
/*Write the code here!!*/
}
}
“`

###例

“`java:rei.java

public class rei{
public static void main(String args[]){
System.out.println(“Hello,World!!”);
}
}

“`

###実行結果:

“`
Hello,World!!
“`

##自作メゾット

“`java:zisaku
public c

元記事を表示

javaでアルゴリズム入門 – 累積和

# 記事の概要
自分の勉強兼メモでまとめている記事シリーズです。第五弾。
今までの記事はこちら。

|#|記事|
|:—————–:|:—————–|
|4|[javaでアルゴリズム入門 – 探索編(bit全探索)](https://qiita.com/aja_min/items/2a94758cf58fc1ea6f65)|
|3|[javaでアルゴリズム入門 – 探索編(幅優先探索)](https://qiita.com/aja_min/items/5f25e73086b2f3c720bb)|
|2|[javaでアルゴリズム入門 – 探索編(深さ優先探索)](https://qiita.com/aja_min/items/fed640d6835eb343eedf)|
|1|[javaでアルゴリズム入門 – 探索編(全探索、二分探索)](https://qiita.com/aja_min/items/2dd5abba8ebb9f8977a5)|

今回の記事では

– **累積和**

について勉強します。
探索編はいったん終了し、別のアルゴ

元記事を表示

[Processing×Java] 配列の使いかた

この記事はプログラムの構造をProcessingを通じて理解していくための記事です。
今回は配列について書いていきます。

目次
0.配列とは
1.簡単な配列のつくりかた
2.クラスをつかった配列をつくりかた
3.要素が多い配列のつくりかた
4.配列をつかった例

#0.配列とは

##0-0. **配列は簡単にいうと**

データを一列に並べたものです。
並べ方(順番)には意味があります。
よく目にする、座標(3,10)のようなものも配列の一種です。

##0-1. **なぜ配列を使うのか**
主な理由は、
**大量のデータをまとめてあつかうことができるから。**
です。

##0-2. **配列のイメージ**

|順位|チーム|
|:——————:|:——————:|
|1|巨人|
|2|DeNA|
|3|広島|
|4|阪神|
|5|中日|
|6|ヤクルト|

この表はプロ野球セリーグの順位表です。
順番と要素(チーム)が結びついて一列に並んでいます。
こんなイメージです。

#1.**簡単な配列のつくりかた**

元記事を表示

【初学者向け】技術とキャリアに関して参考になったものを並べてみた。

#概要・経緯
後輩がこれからエンジニアとしてのキャリアをスタートさせるとのことで、自分がこれまで大変お世話になってきたコンテンツ・やってきたことなんかを記事にまとめておこうと思い執筆。
また、技術の養成と同時にキャリアについて考えるのも重要だと思ったので、今回は技術(業務)・キャリアの両方に焦点を当てながらまとめていく。上から目線で恐縮ではあるが、どのコンテンツも非常に良質というか、説明が丁寧で分かりやすいことこの上ない。前提知識があまりない状態でもストレスなく理解していけるのが何より素晴らしいので、是非参考にしてもらえたらと思う。ちなみに私がつくったコンテンツは特に含めておらず、特に宣伝的な意はないのでご安心を。
**※内容は2020年7月時点のものです。**

##技術/業務編

– [「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典](https://wa3.i-3-i.info/index.html)

主に用語を押さえる目的で利用。抽象的な解説がほぼ見当たらず、納得感を持って用語を理解できる。
特に1年目とかで開発現場入りたての時期は、技術的に期待されるこ

元記事を表示

VSCodeのLanguage Support for Java(TM) by Red Hatの最新版(0.65.0)でバグが発生する(2020年7月23日)

VSCodeを使ってJavaを書いているのですが、プロジェクトのテンプレートを作成する。Java:Create Java Projectが効かなくなり、次のようなエラーが出るようになりました。

スクリーンショット 2020-07-23 9.57.13.png

“`Java 11 or more recent is required to run. Please download and install a recent JDK“`

これが出てから普通に実行もできなくなりました。困った。
環境はRemote-Containerを用いたopen-JDK8を使っていて、昨日までは機嫌良く動いてました。JAVA_HOMEの設定も問題ない。

何でかなーと4時間くらい彷徨ったのですが、原因は前日に更新されたLang

元記事を表示

Javaの小ネタ、Tips

# 概要
徒然なるままに書き綴ってみるだけです。役に立つかどうかは知りません。また、必ずしもJava固有の話ではないと思います。

## 内容
### 多重代入
複数の変数に同じ値を代入することができます。

“`java
int x, y;
x = y = 10;
System.out.println(x); // 10
System.out.println(y); // 10
“`

これは、下記のように解釈されるっぽいです。yに10が代入されますが、Javaでは代入式も値が返りますから、 `(y = 10)` 全体の評価値がxに代入されるということですね。

“`java
x = (y = 10);
“`

## mainメソッドの書き方
mainメソッドは一般的には下記のように書くと思います。

“`java
public static void main(String[] args) {
System.out.println(“Hello world!”);
}
“`

Java5以降なら下記のように書いてもOKです。

“`java
public st

元記事を表示

tensorflow2.0の学習済みモデルをKotlin/Javaで利用する方法

# はじめに
本記事では、tensorflow2.0の学習済みモデルをKotlinで利用する方法を紹介します。
サンプルコードはKotlinのみですが、Javaでも同様の方法で動作するかと思います。

今回紹介する方法では、deeplearning4jというライブラリのKerasModelImportを利用します。
tensorflowにはJava APIが存在するので、deeplearning4j ~~などというマイナーなライブラリ~~ を使う必要は本来無いのですが、Java向けのtensorflow2.0ビルドは未だ配布されていないため、暫定的にdeeplearning4jを利用します。
(※自分でビルドすればtensorflow2.0対応のJava APIを利用できるかもしれません)

つまり、

Kotlin/JavaでDeepLearningの推論処理を動かしたい!
でも、deeplearning4jで学習コード書きたくない!!
Java向けのtensorflow2.0ビルドの配布を待てない!!!

こんな人のための繋ぎの対応策と捉えていただければと思います。

# ライブラ

元記事を表示

Javaで実行する複数ブラウザ対応(Chrome、IE、Firefox)Seleniumサンプルアプリを作成しました

# 概要
selenium関連の記事は豊富にありますが、今回はWindowsOSでとりあえずサクッとマルチブラウザテスト等で流用できるようなサンプルアプリを作成しました
※Chrome、IE、FireFoxで実施できるようにしています
※eclipseから実行の想定です

### 実行環境
Windows10 Pro
Eclipse IDE for Enterprise Java Developers
JavaSE 11

各ブラウザバージョン
Chrome:84.0.4147
Firefox:78.0.2
InternetExplorer:11.959.18    

# サンプルアプリ使用方法

###1.サンプルアプリ配置

#### サンプルアプリをClone

・下記URLからCloneしeclipseのworkspaceフォルダに配置
https://github.com/ZumWalt22/seleniumExp.git

・eclipseからCloneしたプロジェクトをインポート
ファイル>インポート>一般>既存プロジェクトをワークスペースへ でCloneしたディレ

元記事を表示

SpringBootの非同期イベント発行に必要な手順

SpringFrameworkには、Spring管理下にあるインスタンスの実行を「イベント」として登録し、イベント発行で実行を制御できる仕組みが用意されています。使うのも単純ですし、SpringBootでは非同期処理にもできます。今回はSpringBootで非同期イベントを使った非同期処理の実現例を記載します。

# 動作環境

* Java 11
* SpringBoot 2.3.1

# イベント駆動処理に必要なこと

以下3つの作成が必須です

* 処理実行に必要なパラメータ類を渡すEventクラス
* イベントを起動させるPublisherクラス
* イベントを検知して処理を開始するListenerクラス

# 実装例

今回作成するイベント:呼び出し元のクラスから文字列を受け取り、ログに出力する

イベントから受け渡す文字列を格納するクラスは以下を用います。

“`java:SampleMessage.java
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;

@

元記事を表示

[Java] openjdk から oracle jdk への切り替え方法

“`:/usr/lib/jvm
ダウンロードしたoracle jdkをいれる
“`
“`:環境パス設定
export JAVA_HOME=ここのパスを上のパスにする
“`
“`terminal:Javaのデフォルト設定
sudo update-alternatives –set java /usr/lib/jvm/jdk1.8.0_version/bin/java
“`
“`
java -version
“`

元記事を表示

Javaの開発環境メモ

#1.はじめに
pleiadesを使ってJavaの開発環境を構築した際の備忘録

#2.git

## 2-1.既にgitに登録しているプロジェクトのインポート

### 手順
1. [ファイル]-[インポート]
2. [Git]-[Gitからプロジェクト]を選択し、「次へ」
3. [クローンURI]を選択し、「次へ」
4. 「ソースGitリポジトリー」画面で必要な項目を入力し、「次へ」
5. 「ブランチ選択」で、「次へ」
6. 適当に次へで進めていくとできた

元記事を表示

java7環境でもStringJoinerを使ってカンマ区切りで文字列を連結する方法

# はじめに

私は現在、とあるSI企業に勤めていて、現在参画しているのがjavaの保守案件です。
保守開発中のシステムのバージョンが古く、残念ながらjava7を使用しています。

StringBuilderを使用して文字列連結(csv的な文字を生成するとき等)をする時に、**java8以上だったらStringJoinerで簡単にできるのに……**と思うことがたまにあります。
↓こういうの。

“`java
for (String hoge : 何かのリスト) {
if (sb.length() != 0) {
sb.append(“,”);
}
sb.append(“連結したい文字列”);
}
“`

java7以下のプロジェクトに参画中で同じような悩みを抱えているSIerの人は私以外にもいるのではと思い、**StringJoinerと同じ振る舞いをする自作クラスを作成し、java7環境下で使えるようにライブラリとして公開**しました。

何でも良いので**自作の

元記事を表示

【#2 Java】よく聞くオブジェクト指向とは?

こんにちは、もえです。
今回はJavaを勉強しているとよく出てくる「オブジェクト指向」についてまとめてみました。
# オブジェクトとは
オブジェクト指向は、大きなプログラムを記述しようとしたときに、人間の頭が追い付かず開発に時間がかかったり、完成しても不具合だらけのプログラムになってしまうことが多かったことから誕生した考え方です。
端的に言うと、「ソフトウェアを開発する時に用いる部品化の考え方のこと」です。
この考え方に沿って1つのソフトウェアを複数に部品化すると、プログラムが把握しやすくなり、「人間の頭が追い付かない状況」を避けることが出来るようになります。
オブジェクトとは、端的に言うと「もの」です。
例えば車で考えた時に、タイヤ、シート、エンジンなどひとつひとつがオブジェクトとなります。

では、オブジェクト指向とは何でしょうか。
オブジェクト指向プログラミングでは、プログラミングの機能や役割を区別し、それぞれの部品(オブジェクト)として組み合わせることで1つのプログラミングを作っています。
Javaでコーディングする際に定義するクラスも、ク

元記事を表示

【#1 Java】Javaの基本の基~勉強前の大前提~

こんにちは、もえです。
今回は私がプログラミング言語に触れるきっかけになったJavaについて書いていきたいと思います。

# そもそもJavaとは
Javaとは、プログラムを作るために利用する、コンパイルが必要なプログラミング言語の一つです。
Javaを使えば、様々なコンピュータで動作する多様なプログラムを開発することが出来ます。
Javaを習得したプログラマーは現在市場で最も求められているので、将来を考えるならとりあえずJavaの勉強を始めてみるといいかもしれません。
ただし、Javaは他のプログラミング言語と比べ少し変わった特徴があります。

– Javaの特徴
– 学びやすく標準的な基本文法
– 大規模開発を支援するオブジェクト指向に対応
– 豊富に準備された便利な命令群
– Windows、Mac、Linuxどんな環境でも同じように動作する汎用性

Javaはとにかくどこでも動く!をモットーに作られた言語です。
そのため特定のコンピュータが理解出来る機械語に翻訳するのではなく、どのコンピュータでも使える中間言語というものを作成します。

元記事を表示

【Java入門】条件分岐について(if文、if-else文、else if文、三項演算子、switch文)

#目的

Java言語を含めたプログラミングの学習を始めたばかりの方、既学習者の方は復習用に、
今回は**条件分岐**について学ぶために書いています。

[【Java入門目次】](https://qiita.com/morioheisei/items/6c7fc063c26e63d890ac)
・[変数と型](https://qiita.com/morioheisei/items/3d27e82d6cd88068dded)
・[型変換](https://qiita.com/morioheisei/items/28ab5fd69570e01cd317)
・[変数のスコープ](https://qiita.com/morioheisei/items/c56ab32b68ce92d32206)
・[文字列の操作](https://qiita.com/morioheisei/items/e58adadd8535971b69be)
・[配列の操作](https://qiita.com/morioheisei/items/b6acbb1b0c07b40e7f56)
・[演算子](https://q

元記事を表示

JAVAでエンディアン変換

メモです。

バイナリファイルのエンディアン変換について下記参照してください。

http://pulasthisupun.blogspot.com/2016/06/reading-and-writing-binary-files-in.html

元記事を表示

【Android 9.0 Pie Java】RecyclerViewの余白部分にsetOnTouchListenerを実装してソフトキーボードを閉じる

## 初めに
リスト表示に便利なRecyclerViewですが、デフォルトのままだと余白部分をタッチした際にイベントを発火させることができません。
RecyclerViewの余白部分をタッチしてソフトキーボードを閉じる為に実装を模索したので共有したいと思います。

![32aeddc0c59703301a8fc30cf57374b6.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285286/de7d7e98-d362-4cbd-5a27-140c68235beb.gif)

## 実装方法
まずRecyclerViewに

“`
android:touchscreenBlocksFocus=”true”
“`

を追記します。

“`xml:fragment.xml

元記事を表示

【Effective Javaを読む】 第2章 項目2 『数多くのコンストラクタパラメータに直面した時にはビルダーを検討する』

#数多くのコンストラクタパラメータに直面した時にはビルダーを検討する

newする時にパラメータをたくさん渡してあげなきゃいけないようなクラスを作る時は
「ビルダー」を使うと可読性も安全性もあって良いよって話

##サンプルコード

NutritionFactsという栄養成分を表すクラスが
一人前の分量、容器当たりの量、一人前のカロリー、etc たくさんのフィールドを持っている場合を例にして3つのパターンで考えてみる
・テレスコーピングコンストラクタ・パターン
 パラメータが多くなるとnewする時に引数に何を渡せば良いかわかりづらくなるし、可読性も下がってしまうのがデメリット

・JavaBeansパターン
 テレスコーピングコンストラクタ・パターンと違い可読性は上がるが、パラメータを設定している途中で不整合な状態ができてしまう

・ビルダーパターン
 テレスコーピングコンストラクタとJavaBeansのいいとこ取り!

“`java:例1
//テレスコーピングコンストラクタ・パターン
public class NutritionFacts{
private final i

元記事を表示

JSFのタグがHTMLにならないときの対応方法

– 環境
– CentOS Linux release 7.8.2003 (Core)
– Payara Server 5.194
– Eclipse IDE for Enterprise Java Developers.Version: 2020-03 (4.15.0)

# 事象 : JSFのタグがHTMLにならないでそのまま表示される
JSFのプロジェクトをつくって早速XHTMLを書いたけど・・・JSFのタグがそのまま出力されている
![スクリーンショット 2020-07-21 22.53.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159761/fa8cd781-8633-c6f6-b0d1-8037f2b1554e.png)

“`xml:index.xhtml

(JavaSE8Gold試験対策)ComparableやComparatorと仲良くなりたい人のメモ。

間違いを見つけた方がいらっしゃったら優しく指摘してくださると嬉しいです。

#はじめに
私自身、JavaGold試験勉強中に全然頭の整理ができなくて非常に混乱したので、振り返りを兼ねて整理しました。これで少しだけ仲良くなれた気がする٩( ‘ω’ )و

#そもそも何なのよ?
ComparableやComparatorって何?と言うところから入りますが、共に並び替えや最小最大値取得のメソッドにおいて、要素の相互比較をするために用いられるインターフェースです。まぁ、それは分かるよ…って感じですよね。

#「自然順序付け」って聞いてピンときますか?
何となく昇順なのかな〜〜。くらいの理解で、私はピンときませんでした。
ただ、これが何なのかピンと来るだけで、理解へのハードルが格段に下がることになります。
そのため、まずはコチラの説明から入らせてください。

#自然順序付けはComparableに従った並び替えのこと
JavaのAPIドキュメントを参照していると、この「自然順序付け」が頻繁に出てきます。
ただ、見ていくと分かるのですが、もはや「自然順序付け」と「コンパレータ」はセット商品みた

元記事を表示

OTHERカテゴリの最新記事