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

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

1次元配列の足し算をして、平均を求める

“`
public class Exercise {
public void run(){
int array[] = new int[] {98, 12, 9, 102, 88};
int sum = 0; // 合計を保存するための変数
int i = 0; // インデックスを初期化

// whileループを使って合計を計算
while (i < array.length) { sum += array[i]; // 合計に現在のiの要素を足し算する i++; // iに1を足す } System.out.println(sum / array.length) // 平均を求める } } ``` 結果 ``` 61 ``` 配列の要素をwhileで繰り返し計算する時には、 int array = 0;で合計を保存するための箱を作って、int i =0; で初期化しておく。

元記事を表示

1次元配列arrayの宣言&初期化と値を1行ずつ表示する

基本情報技術者試験 科目Bの勉強の中でJavaに触れる機会があったので忘備録として…

“`
public class Exercise{
public void run(){
// 1次元配列arrayを宣言し、同時に初期化
int array[] = new int[] {98, 12, 9, 102, 88};

// 配列の要素を1行ずつ表示する
for (int i = 0; i < array.length; i++){ System.out.println(array[i]); } } } ``` 結果 ``` 98 12 9 102 88 ``` 配列の要素をforで繰り返し表示する時には、 int i =0; で初期化してから iがarray.length(配列の要素数)よりも小さい数の場合、i++でiに1ずつ足していく
{98, 12, 9, 102, 88}の
インデックス番号は0, 1, 2, 3, 4
array

元記事を表示

Gitコミットを一つ前に戻す方法

## 方法
以下2パターン。
両方とも、現在のコミットから1つ前のコミット(`HEAD^`)にリセットするコマンドですが、影響範囲が異なります。

### 1. `git reset –hard HEAD^`
– コミットを一つ前の状態に戻す
– コミット前の変更は全て破棄される(全てのファイルが一つ前のコミットの状態に戻る)

### 2. `git reset –soft HEAD^`
– コミットを一つ前の状態に戻す
– コミット前の変更したファイル(ステージングされたファイル)は保持される
※コミットをやり直したいとき(例えばコミットメッセージを修正したい場合)に便利

## まとめ
– **`–hard`**: すべての変更を破棄して、過去のコミットに戻す。
– **`–soft`**: コミットだけを取り消し、ステージングされた変更やワーキングディレクトリの変更は保持。

元記事を表示

【Java】拡張for文と通常のfor文の違いを解説してみた

Javaのループ処理には、よく使われる 通常のfor文 と 拡張for文(”enhanced for loop”)の2種類があります。この記事では、それぞれの特徴や使い方、使い分けについて詳しく解説します。

# 通常のfor文とは?
通常のfor文は、インデックスを使って配列やリストの要素にアクセスするため、繰り返し処理を細かく制御することができます。具体的には、開始点・終了点・ステップを指定してループを回すことが可能です。

“`java:基本構造
for (初期化; 条件; 更新) {
// 繰り返し処理
}
“`

“`java:例
String[] names = {“shun”, “yamashita”};
for (int i = 0; i < names.length; i++) { System.out.println("名前: " + names[i]); } ``` 上記の例では、インデックス i を使って配列 names の要素にアクセスしています。配列の長さまでインデックスを1ずつ増やしながらループを回し、各要素を順番に出力しています。

元記事を表示

M2 macを使って Javaの環境構築を行なってみる。

# はじめに
普段はRubyやTypeScriptを使ってるプログラマーです。今回、Javaを業務の都合上使うことになりそうでしたので、自宅での学習をするために、環境構築を初めて行なってみます。参考になれば幸いです。今回、Dockerは使用しておりません。

# 環境
– 端末: Mac mini
– チップ: Apple M2
– メモリ: 8GB
– OS: macOS Sonoma(14.3.1)
# 手順
1. JDKのダウンロード
1. VScode 設定
1. Hello worldを表示させたい

## JDKのダウンロード

[azul](https://www.azul.com/downloads/?os=macos&architecture=arm-64-bit&package=jdk#zulu) のサイトからJDKダウンロードします。

![スクリーンショット 2024-10-12 3.06.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2709775/ce899e9a-d

元記事を表示

変数の呼称をイラスト付きで簡易にまとめる

## 前書き
Javaに触れていると変数やメソッドについて以下のように呼称されているのをよく見かけます。
* [フィールド変数](#フィールド変数)
* [インスタンス変数](#インスタンス変数)
* [ローカル変数](#ローカル変数)
* [メンバ変数(メンバー変数)](#フィールド変数)
* [クラス変数](#クラス変数)
* [グローバル変数](#グローバル変数)

* インスタンスメソッド
* クラスメソッド
* メンバメソッド(メンバーメソッド)
* グローバルメソッド

呼び方、多スギ!
初学者への嫌がらせのようにも思えますが、それぞれにきちんと意味や理由があるため、イラスト付きで視覚的に理解を深めていきましょう!

# 変数
この記事に変数とメソッドについてまとめる予定でしたが、長くなってしまったため、この記事では変数についてのみまとめています。

## フィールド変数
単に「フィールド」と言ったりもします。
メンバフィールドと同義です。
呼び方が多すぎるのでさっそく被っていますね。
▼イラストの青いエリアに書かれるものがフィールド変数となります。

![image.pn

元記事を表示

【Java】 ジェネリクスってなーに

## 目次

1. はじめに
2. ジェネリクスってなーに
3. 基本構文
4. メリット
5. 使用例
6. まとめ

# はじめに

MapをListで管理したくてググっていたら、ジェネリクスと呼ばれるものが出てきて感動したのでまとめてみました

※バージョンは17を使用しております

## ジェネリクスってなーに

・型安全性を高めて、実行時エラーを防いでくれる素晴らしい機能
・クラス、インターフェースやlist、map等のコレクションフレームワークなどで使用できる
・ListやMap等に格納するデータ型を明示的に指定することができる

### 例で理解するジェネリクス

散らかった物を片付ける箱に、何を入れるかの規則を作らなければ何でも入れることができますが、何が入っているかわからなくて物の管理ができていない状態になってしまいます。
これでは次に使う際に困ってしまうので、箱に入れる物を決めて片付けを行います。そうすると、異なる箱に物を入れてしまったときに、入れる場所が違うことに気づくことができるので、物を正しく明確に管理することができます。

箱に何を入れていい物を決める行為が

元記事を表示

【最新版】JavaでArrayIndexOutOfBoundsExceptionっていうエラーが出たときの対処法

# はじめに
こんにちは。RaimuProjectのやむぅです。
今回は、Javaのコーディング中に起きたエラー「java.lang.ArrayIndexOutOfBoundsException」の解説や対処法についてお話ししていきます。
どんな不具合なのか、どうやって調査・対処すればいいの?という人向けに書いたものです。ぜひ読んで見ていただけると嬉しいです。

※ ちょこっと紹介!
現役エンジニアの僕が教える、フルスタックエンジニアを目指せるスクールを運営しています。
プログラミング初心者の方やリスキリングを考えている方にぜひ!

https://programing-factory.raimuproject.com/lp

# 開発環境
今回僕のMacを使っています。
そのためショートカットキーを使う際、WindowsのPCを使う人は以下のように変換して記事を見てください。
| Mac | Windows |
|:———–|————:|
| ⌘(Cmd) | Ctrl |
| ⌥(Option) | Alt

元記事を表示

【最新版】JavaでNullPointerExceptionっていうエラーが出たときの対処法

# はじめに
こんにちは。RaimuProjectのやむぅです。
今回は、Javaのコーディング中に起きたエラー「NullPointerException」の解説や対処法についてお話ししていきます。
どんな不具合なのか、どうやって調査・対処すればいいの?という人向けに書いたものです。ぜひ読んで見ていただけると嬉しいです。

※ ちょこっと紹介!
現役エンジニアの僕が教える、フルスタックエンジニアを目指せるスクールを運営しています。
プログラミング初心者の方やリスキリングを考えている方にぜひ!

https://programing-factory.raimuproject.com/lp

# 開発環境
今回僕のMacを使っています。
そのためショートカットキーを使う際、WindowsのPCを使う人は以下のように変換して記事を見てください。
| Mac | Windows |
|:———–|————:|
| ⌘(Cmd) | Ctrl |
| ⌥(Option) | Alt |
| ⇧(Shift) |

元記事を表示

【Java】nextLine()の入力ができない場合

# 目次
この記事は3分ほどで読めます。
[1. 入力ができない場合のコード例](#1-入力ができない場合のコード例)
[2. 原因](#2-原因)
[3. 解決方法](#3-解決方法)
[4. おわりに](#4-おわりに)

# 1. 入力ができない場合のコード例
“`
package develop;

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) {

// 年齢読み取り
System.out.println(“あなたの年齢を入力してください”);
int age = scanner.nextInt();
System.out.println(“年齢「” + age + “」”);

// 名前読み取り
System.out.println(“あなたの名前を入力してください”);

元記事を表示

SpringBoot_@sizeのついたパラメータにnullを渡した場合

## 背景
必須ではないリクエストパラメータに対して、`@Size`を指定した場合、そのパラメータに`null`を渡したらエラーになるのか気になり調べた。

## 1. `@Size`の動作と`null`の扱い
`@Size`アノテーションは、対象となるフィールドの文字列の長さを制約しますが、`null`に対しては制約を適用しません。

つまり、`@Size(min=10, max=12)`が付与されたフィールドに`null`が渡された場合、エラーにはならず、バリデーションはスキップされます。

#### 例:
“`java
import javax.validation.constraints.Size;

public class ExampleRequest {

// 必須ではないが、値がある場合は最小10桁、最大12桁に制限
@Size(min = 10, max = 12)
private String param;

// Getter and Setter
}
“`

上記のコードでは、`param`フィールドが`null`の場合

元記事を表示

Gradleプロジェクトのエラー: JRE System Libraryやビルドパスの問題をまとめてみた

## 前置き

![スクリーンショット 2024-10-11 10.58.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3796362/7e4ecc2f-bd03-9b5b-2759-7064d0dc18c0.png)

“`
Project configurator ‘org.eclipse.buildship.configurators.base’ failed to configure project
Unbound classpath container: ‘JRE System Library [JavaSE-21]’ in project
The project cannot be built until build path errors are resolved
“`

このようなエラーが起きていた。

## 原因1: JREのバージョンが一致していない
このエラーのよくある原因は、プロジェクトで指定しているJavaバージョン(JRE)と、実際に使用されているJREのバージョ

元記事を表示

Java, JDK, JRE, Spring Boot, GraalVMの違いをまとめてみた

# Java, JDK, JRE, Spring Boot, GraalVMの違いをまとめてみた

Javaを使った開発をしていると、JavaやJDK、JRE、そしてSpring BootやGraalVMといった言葉をよく耳にします。これらの用語は関連性がありながら、それぞれ役割が異なっています。今回は、これらの違いや関係をシンプルにまとめてみました。

## Javaとは?
Javaは、プログラミング言語の一つで、”Write Once, Run Anywhere” というスローガンの通り、一度書けばどのプラットフォームでも動くのが特長です。Javaのコードは、まずコンパイルされてバイトコードという中間コードに変換され、Java仮想マシン (JVM) 上で実行されます。

ポイント:
– プログラミング言語
– JVMで実行される
– クロスプラットフォーム対応

## JDK(Java Development Kit)とは?
JDKは、Javaで開発を行うためのツールキットです。Javaプログラムのコンパイルと実行を行うために必要なツールがすべて含まれています。

### JDKに

元記事を表示

演算子について

今回は演算子について記事にしたいと思います。

1. 算術演算子
算術演算子は、数値に対する基本的な四則演算を行うための演算子です。

演算子 説明 例
+ 加算(足し算) a + b
– 減算(引き算) a – b
* 乗算(掛け算) a * b
/ 除算(割り算) a / b
% 剰余(割った余り) a % b
“`java
int a = 10;
int b = 3;
System.out.println(a + b); // 13
System.out.println(a – b); // 7
System.out.println(a * b); // 30
System.out.println(a / b); // 3 (割り算の結果は整数の商)
System.out.println(a % b); // 1 (10を3で割った余り)
“`

2. 代入演算子
代入演算子は、右側の値を左側の変数に代入するために使用されます。

演算子 説明 例
= 代入(右の値を左の変数に代入) a = 10
+= 加算して代入 a += 5
-= 減算して代入 a -=

元記事を表示

SpringBootでとりあえず業務アプリを自作してみた ~TOP・ユーザ検索編~

前回までで、作成したアプリをWEBアプリとして公開しました。

その後、少し機能を追加してみたのでまとめます。

トップ画面

ユーザの登録機能を作成しました。
最初はログイン画面に設置していましたが
ログイン後の画面に設置しなおしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901612/4039135c-9300-fbe0-dc8e-fbec63995467.png)

トップページにはまだ何も置いていません。
お知らせ機能とか、カレンダーとか置きたいなと思っていますが
これから徐々に機能を増やしていきたいなと思っています。

前回までの記事でも記載しましたがログイン機能はSpringSecurityを使用しました。

手を動かしてコーディングをするのが数年ぶりなのと
SpringBootでアプリを作成するのが初めてなので
色々探り探りで躓きながらですが作成を進めています。

右上の「山田 太郎」はcontrollerから受け取ったログインユーザの名前が出るようにし

元記事を表示

Javaのフレームワークとは?代表的なフレームワークの解説

# ■ はじめに

Javaには企業向けのものから小規模アプリケーションまで幅広いシステムを効率的に開発するために、
フレームワーク[^1]というものが多数存在します。
フレームワークを用いることで共通処理を簡単に実装でき、開発スピードや保守性が向上します。

この記事では、Javaの代表的なフレームワークについての概要とメリットを解説します。

# ■ 目次

1. [Java Frameworkとは?](#1-java-frameworkとは)
2. [代表的なJava Framework](#2-代表的なjava-framework)
3. [フレームワークを使うメリットとデメリット](#3-フレームワークを使うメリットとデメリット)
4. [まとめ](#4-まとめ)

# 1. Java Frameworkとは?

Javaフレームワークはアプリケーション開発においてよくある共通作業を自動化・簡略化するためのツールです。
効率的な設計や保守が求められる現在の開発においてはフレームワークの利用は欠かせないものとなっています。

フレ

元記事を表示

JAVA / Spring と Spring Boot の違いとは?

# ■ はじめに

Javaフレームワークの中でも、`Spring` と `Spring Boot` はよく使われています。
しかし、SpringとSpring Bootの違いをきちんと理解している人は意外と少ないかもしれません。
この記事では `Spring` と `Spring Boot` の違いを簡潔に解説し、どのような場面でどちらを使うべきかについても紹介します。

そもそものフレームワークとは何か?については以下の記事を作成していますので
こちらをご確認ください。

https://qiita.com/e-tak/private/3ad403b04bf79a9ead62

# ■ 目次

1. [Spring Frameworkとは?](#1-spring-frameworkとは)
2. [Spring Bootとは?](#2-spring-bootとは)
3. [SpringとSpring Bootの違い](#3-springとspring-bootの違い)
4. [どちらを使うべきか?](#4-どちらを使うべきか)
5. [まとめ](#5-まとめ)

元記事を表示

わかりやすいプログラムを書くための3つのポイント

今回はわかりやすいプログラムを書くための3つのポイントを記事にしたいと思います。

1,
コメント:プログラム内のメモ書き
//コメント ⇒一行のコメント
/*コメント*/⇒複数行のコメント

2,
フォーマット: プログラムの体裁
-ブロックの開始・終了や処理分
ごとに改行する
-タブや半角スペースで
字下げ(インデント)する

3,
命名ルール:名付けの慣習
-1文字目
クラス・インターフェース・:大文字
変数・メソッド・パッケージ:小文字

-2つ目以降の単語は
大文字から

今回はわかりやすいプログラムを書くための3つのポイントを記事にしてみました。

元記事を表示

【JUnit】Serviceクラス

## 1.はじめに
JUnitのテストを書いている中で、サービスクラスは何を確認しているのかwhenとverifyはどういう違いがあるのかを理解するために記事を書いていければと思います。
間違い等ございましたら、ご指摘いただけますと幸いです。

## 2.Serviceクラスの単体テスト
Serviceクラスでは何を確認すればよいのかという疑問について解消できればと思います。

Serviceクラスのテストで確認することとしては下記になるようです。

**<メソッドの結果は正しいか>**
サービスクラスのメソッドが正しい値を返しているかを確認します
簡単な例でいくと計算結果が正しいかどうかなど ↓
“`TestService.java
@Test
void testCalculateTotal() {
int total = service.calculateTotal(10, 20);
assertEquals(30, total);
}
“`

**<依存するクラスとのやり取りが正しいか>**
・サービスクラスが他のクラス(リポジトリや他のサービスクラス)に依存

元記事を表示

eclipseでクラス図を描く方法

## eclipseでクラス図を描く方法

### この記事でわかる・できること

OTHERカテゴリの最新記事