JAVA関連のことを調べてみた

JAVA関連のことを調べてみた

removeIfの中身

 JavaでMapから条件付きで要素を削除する場合に、for文ではうまくいかない。これは、collectionの構造がiteration中に変更されて、ConcurrentModificationExceptionがthrowされたことによるものらしい。
代替手段として、removeIfメソッドを用いると想定通りにプログラムが動いた。ソースを見ると比較的スクリプトが少なく簡単に読めそうなので、詳細を確認しよう。

“`Java
public interface Collection extends Iterable {
// 省略
default boolean removeIf(Predicate filter) {
Objects.requireNonNull(filter); //1
boolean removed = false; //2
final Iterator each = iterator(); //3
while (each.hasNext()) {

元記事を表示

【Java】レコードクラスとは

## はじめに

資格勉強を進める中で、レコードクラスを学ぶ機会がありました。

研修の中で学ぶ機会はなかったものの、結構便利なので今後も使う機会があるかと思い、備忘録としてまとめてみようと思います。

※誤りありましたら、ご指摘いただけますと幸いです。

## 想定読者
初学者の方
普段Javaを使用している方

## レコードクラスとは
Java16より正式に追加された、簡潔かつイミュータブルにデータを保持できるクラスです。

従来は、データを保持する目的においてもクラスを新たに作成し、似通ったクラスを作成していましたが、レコードクラスはこれらボイラープレートコードの作成を軽減してくれます。

**※ボイラープレートコード**
→定型的で冗長な記述のこと。

## 実際の使い方
実際の使い方を見ていきましょう。
今回は名前(name)と年齢(age)のみの簡潔なレコードクラスを作成してみます。

“`java
public record Person(String name, int age) {}
“`

これ

元記事を表示

Javaで「コマンドライン引数の数を確認」の動作を確認してみた

# 概要

Javaで「コマンドライン引数の数を確認」の動作を確認してみました。
以下のページを参考にしました。

https://www.javadrive.jp/start/main/index2.html

# 実装

以下のファイルを作成しました。
“`JSample2_1.java
class JSample2_1{
public static void main(String args[]){
if (args.length != 2){
System.out.println(“引数を2つ指定して下さい”);
System.out.println(“JSample2_1 値1 値2”);
System.exit(1);
}

System.out.println(“「” + args[0] + “」”);
System.out.println(“「” + args[1] + “」”);
}
}
“`

以下のコマンドを実行しました。
“`
$ javac JSample2_1.java
$

元記事を表示

【動画あり】Apache Maven 解説 | Javaビルドツールを学ぼう

## 本記事の内容

本記事は、Apache Mavenの動画を元に、「Mavenが全くわからない!」人でもわかるようにMavenを基礎から解説する内容です。

ハンズオンは動画や他の記事に譲り、本記事では解説だけを行なっていきます。

### 動画について

本記事にあるYoutubeの動画は、Udemyに掲載している動画の一部を抜粋したものです。
フルバージョンを視聴したい方はこちらからどうぞ!
クーポンリンクを使用すれば割引価格で視聴できます!

Udemyのクーポンリンク:
https://www.udemy.com/course/maven-introduction/?couponCode=25FACCFDA0D623CE2ADA
クーポンコード = 25FACCFDA0D623CE2ADA

## 1. Apache Mavenとは?

Apache Software Foundationで開発されているソフトウェアプロジェクト管理ツールです。
[公式サイト:Apache Sodtware Foundation](https://www.apache.org/)

###

元記事を表示

【Java】Switch文・Switch式とは

## はじめに

Java Silverの学習を進めている際、Switch文、Switch式について学ぶ機会がありました。

条件分岐処理は普段if文を使って書くことが大半なので、備忘録としてまとめてみようと思います。

※誤りありましたら、ご指摘いただけますと幸いです。

## 想定読者
初学者の方
普段Javaを使用している方

## Switch文とは
Java14で正式に追加された、複数の条件分岐を簡潔に記述するための制御構造のことを言います。
特定の変数の値に基づいて異なるコードブロックを実行することができます。
if文と似ていますが、条件分岐が多くなる場合は、Switch文を使用した方が可動性は向上するかと思います。

## 実際の使い方
実際の使い方を見ていきましょう。
ここでは2つの書き方を取り上げます。

#### 1, オーソドックスな書き方
“`java

int day = 3;

switch (day) {
case 1:
System.out.println(“Monday

元記事を表示

Javaで「引数を指定してmainメソッドを呼び出す」の動作を確認してみた

# 概要

Javaで「引数を指定してmainメソッドを呼び出す」の動作を確認してみました。
以下のページを参考にしました。

https://www.javadrive.jp/start/main/index1.html

# 実装

以下のファイルを作成しました。
“`JSample1_1.java
class JSample1_1{
public static void main(String args[]){
System.out.println(“「” + args[0] + “」”);
}
}
“`

以下のコマンドを実行しました。
“`
$ javac JSample1_1.java
$ java JSample1_1 hello
「hello」
“`

# まとめ

何かの役に立てばと。

元記事を表示

テーブルを追加したらコンパイルエラーでビルドできなくなった話

こんにちは、サーバエンジニアの池脇と申します。
今回は私が実際に経験した失敗談とそこから得た学びについてまとめようと思います。
どなたかの参考になれば幸いです。

## テーブルを追加しただけでコンパイルできなくなった!?
JavaのSpringBootを使って新規テーブルを追加する作業は開発者にとって日常的な作業です。
しかし、ある日新規テーブルを追加し、いつものようにコードの自動生成を走らせてビルドを行ったところまさかのコンパイルエラーに直面しました。
エラーの内容は
“`
パラメータが多すぎます。(too many parameters)
“`
というものでした。

## なぜコンパイルエラーが起きたのか
上記エラーの内容と発生箇所から、これはコンパイラが受け付けるコンストラクタのパラメータ数が上限を超えていることが原因ということはわかりました。
しかしなぜエラーが発生したのか……?

エラーの発生に至った背景を探ると次のことが明らかになりました。
私のプロジェクトでは、マスタデータのキャッシュを暖気するためのクラスを自動生成していました。このクラスは `private fi

元記事を表示

クラスの概念を初心者にわかりやすく解説

# 背景
現在、新卒でエンジニアになりオンボーディングを行っています。研究でC++を用いてプログラミングをしていて半泣きになりながらオブジェクト指向プログラミングについて理解した過去から、同期の理解の一助になればと勉強会を開いて理解のサポートをしました。そこで説明した内容をこちらでも供養できればと思います。

:::note warn
こちらの記事はクラスの概念をプログラミング初学者がざっくりとした理解をするを目的とした記事です。専門的で詳しい内容を知りたい方は別途自分で調べていくことをお勧めします。
:::
:::note
私もJava初学者ですので、記事の内容で不備がある、わかりにくいなどあれば遠慮なくコメントなどいただけると嬉しいです。
:::
# 目次
1. [クラスとは](#1クラスとは)
1-1.[クラスのイメージ](#1-1クラスのイメージ)
1-2.[クラスの中身を書きながら理解](#1-2クラスの中身を書きながら理解)

2. [例を見ながら解説](#2例を見ながら解説)
2-1.[題材となる問題](#2-1題材となる問題)
2-2.[問題を読んで](#2-2問題を読

元記事を表示

No.14 演算子(足し算)

# 演算子(足し算)

+(足し算)
<出力結果>
30yen(まず10+20が行われてからyenが連結される)

-(引き算)
*(掛け算)
/(割り算)

# 演算子(余り)&練習問題