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

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

Javaにおける桁区切り文字の効果的な使い方

### はじめに
Javaプログラミングにおいて、大きな数値の可読性を向上させる方法として、Java 7から導入された桁区切り文字(アンダースコア`_`)について紹介します。

### 桁区切り文字の基本
Javaでの数値リテラルは、読みやすさを向上させるためにアンダースコアを使用して桁を区切ることができます。この機能は、特に大きな数値を扱う際に有効です。

### 使用方法
アンダースコアは、整数、浮動小数点数、そして長整数リテラル内で使用できます。例えば、`1_000_000`や`2.5_000`のように使います。ただし、アンダースコアを数値の始まり、終わり、小数点のすぐ隣、または接尾辞の直前には置くことはできません。

### 利点
桁区切り文字を使うことで、コードの可読性が大幅に向上します。これは、特に数値の桁数が多い場合や、複雑な計算式を扱う際に役立ちます。

### 実例
実例として、Javaでの桁区切り文字の使用方法を見てみましょう。以下にいくつかの具体例を示します:

1. **整数リテラルの例**:
“`java
int maxUploadSize =

元記事を表示

Javaプログラミングにおけるリテラル

Javaにおけるリテラルは、ソースコード内に直接記述される固定値を指します。これらのリテラルは、プログラム実行中に変化することがない値で、プログラムの中で様々な目的で使われます。リテラルの使用は、プログラムの可読性を高め、意図した操作を明確にするために重要です。

## 目次
– [整数リテラル](#整数リテラル)
– [浮動小数点数リテラル](#浮動小数点数リテラル)
– [文字リテラル](#文字リテラル)
– [文字列リテラル](#文字列リテラル)
– [ブールリテラル](#ブールリテラル)
– [特殊リテラル](#特殊リテラル)
– [リテラルの利点と制約](#リテラルの利点と制約)
– [まとめ](#まとめ)

### 整数リテラル
整数リテラルは、日常で最も一般的に使われるリテラルの一つです。10進数、8進数、16進数、2進数の形式があり、通常の数値の表現に使われます。例えば、10進数の整数リテラルは「123」のように書かれ、8進数は「017」のように先頭に0を付けて表現されます。16進数リテラルは「0x7F」のように「0x」で始まり、2進数リテラルは「0b1010」のよ

元記事を表示

Java備忘録

atcoderの問題をJavaで解いたのでその際に使用したJavaの知識を備忘録としてqiitaに残します。

## 問題①
https://atcoder.jp/contests/abc314/tasks/abc314_a
“`math
円周率の小数第 100 位までの値は
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
です。
1 以上
100 以下の整数
N が与えられます。

円周率を小数第
N 位まで出力してください。

より厳密には、円周率を小数第
N+1 位で切り捨て、末尾の 0 を取り除かずに出力してください。
“`
### 解答
“`java
import java.util.Scanner;
public class sample5 {
public static void main(String[] args){
Scanner numIn = new Scanner(S

元記事を表示

ABC337A~Fの解答[Java]

## はじめに
今回はコンテスト中にEまで、コンテスト後にFまで解いたのでそれを載せようと思います。

なお、僕のライブラリは[提出結果](https://atcoder.jp/contests/abc337/submissions?f.Task=&f.LanguageName=Java&f.Status=AC&f.User=viral)よりご確認ください。
では、見ていきましょう。

## A – Scoreboard
問題文は[こちら](https://atcoder.jp/contests/abc337/tasks/abc337_a)

愚直に数え上げて答えを求めました。
“`A.java
final class Main{
private static final boolean autoFlush = false;
private static final SimpleScanner sc = new SimpleScanner(System.in);
private static final SimpleWriter out = new SimpleWriter(S

元記事を表示

ABC336A~Fの解答[Java]

## はじめに
今回はコンテスト中にDまで、コンテスト後にFまで解いたのでそれを載せようと思います。

なお、僕のライブラリは[提出結果](https://atcoder.jp/contests/abc336/submissions?f.Task=&f.LanguageName=Java&f.Status=AC&f.User=viral)よりご確認ください。
では、見ていきましょう。

## A – Long Loong
問題文は[こちら](https://atcoder.jp/contests/abc336/tasks/abc336_a)

`o`はrepeatメソッドで繰り返せるので、それを使って解きました。
“`A.java
final class Main{
private static final boolean autoFlush = false;
private static final SimpleScanner sc = new SimpleScanner(System.in);
private static final SimpleWriter out =

元記事を表示

ただ build.gradle を読めるようになりたい

# 動機

つい1週間くらい前にはじめてbuild.gradle触ってみて「はにゃ?」てなったので、どこかのbuild.gradleを読んでざっくり理解できるようになれたらいいな、のスタンスです

# Gradle

GradleはGroovyを使ってスクリプトを記述するビルドツール

– [Gradle 日本語ドキュメント](http://gradle.monochromeroad.com/docs/)
– [Gradle User Manual](https://docs.gradle.org/current/userguide/userguide.html)
– [ビルドツール make / ant / maven / gradle ざっくり理解メモ](https://qiita.com/MahoTakara/items/ff73338e218b656bedfa)

# 入門するなら

ありがたい先人の知恵(ほんとにありがたい……)

– [Gradle入門](https://qiita.com/vvakame/items/83366fbfa47562fafbf4)

元記事を表示

ABC335A~Fの解答[Java]

## はじめに
今回はコンテスト中にEまで、コンテスト後にFまで解けたのでそれを載せようと思います。

なお、僕のライブラリは[提出結果](https://atcoder.jp/contests/abc335/submissions?f.Task=&f.LanguageName=Java&f.Status=AC&f.User=viral)よりご確認ください。
では、見ていきましょう。

## A – 202\3\
問題文は[こちら](https://atcoder.jp/contests/abc335/tasks/abc335_a)

特に深いことは考えずに、文字列を切り出して末尾に`4`を付けて出力しました。
“`A.java
final class Main{
private static final boolean autoFlush = false;
private static final SimpleScanner sc = new SimpleScanner(System.in);
private static final SimpleWriter

元記事を表示

Java

#クラス
**public**
どのクラスからもアクセスできるということ

**static**
クラス特有の値やメソッドということ

**void**
戻り値なし

“`Java
public static int aaa(int a, int b){
# int ==> 戻り値型
 # aaa ==> 関数名
 # () ==> 引数
}
“`

#読み込み
##Scanner
“`Java
import java.util.Scanner;

Scanner sc = new Scanner(System.in);
“`
##next
“`Java
# 標準入力 dog cat bird

A = sc.nextLine();
System.out.println(A); # ==> dog cat bird
# 改行まで読み込む(String型)

B1 = sc.next();
B2 = sc.next();
System.out.println(B1); # ==> dog
System.out.println(B2); # ==> cat
# 空白まで

元記事を表示

Java11 備忘録

自分用

## 1. ローカル変数の型推論

### 変数宣言

“`java
var number = 42;
var pi = 3.14;
var grade = ‘A’;
var isJavaFun = true;
“`

### コレクション

“`java
var myList = List.of(“Java”, “is”, “awesome”);
var myMap = Map.of(“key1”, 1, “key2”, 2);
“`

## 2. ストリームAPIの新機能

### takeWhileメソッドとdropWhileメソッド

“`java
List numbers = List.of(1, 2, 3, 4, 5, 6);

// takeWhile: 条件を満たす間だけ要素を取得
List result1 = numbers.stream()
.takeWhile(n -> n < 4) .

元記事を表示

JPAにおける柔軟なデータモデル管理:エンティティクラスの多様な活用方法

# はじめに

JPA(Java Persistence API)は、Java のエンタープライズアプリケーション開発におけるデータベースとのインタラクションを抽象化し、オブジェクト指向プログラミングの原則に沿ってデータを管理するための強力なツールです。一般的に、エンティティクラスはデータベースのテーブルを表現するために使用されますが、異なるビジネスロジックやアクセス要件がある場合、同じテーブルに対して複数のエンティティクラスを定義する必要が生じることがあります。

このアプローチは、一対多(OneToMany)や一対一(OneToOne)のような標準的な関係性を超えて、特定の状況に応じたデータアクセスの柔軟性を提供します。例えば、同じデータセットに対して異なるビューやアクセスレベルを持つユーザーに適応する場合などです。一つのエンティティクラスが全てのケースに対応するのではなく、特定の用途に特化した複数のエンティティクラスを持つことで、より洗練されたデータ管理戦略を実現できます。

本記事では、このようなシナリオにおける JPA の活用方法と、異なるエンティティクラスを効果的に使い分け

元記事を表示

「Java API」、「ライブラリ」、「パッケージ」とは…

# 「ライブラリ」
プログラムを作成する上での便利な機能群。(便利なプログラムの部品を沢山集めて、ひとまとめにしたファイルのこと。) 例:Maven
便利な機能を含む、フレームワーク、ユーティリティなどもライブラリという。

# 「Java API」
クラスライブラリ。Javaにあらかじめ添付されている多数のクラス群のこと。
JDK、フレームワーク(サーブレット、struts、spring)、ユーティリティ(ant/jmeter/poi)など。

# 「パッケージ」
一つの意味としてはjavaの名称(フォルダ階層)。
また別の意味で製品(JBoss、oracleDB)や、サービスのかたまりのこと。
ライブラリで集めたプログラムを、似た機能ごとにあつめたもの。
上記してる、フレームワーク、ユーティリティもパッケージ。

元記事を表示

Servlet(サーブレット)とは

# 【Servletとは】
Servletとは、「Webサーバ上(バックエンド)で動く、Javaで書かれたプログラム」のこと。
サーバ上でウェブページなどを動的に生成したり、データ処理を行うために、Javaで作成されたプログラム及びその仕様。
業務用のWEBシステムを開発するときによく使われている。

# 【Servletの役割】
Servlet自体は、WEBページをはじめとし画面に関する処理はいっさい行わず、WEBブラウザからの要求に応えたり、送られてきたデータを処理したりする役割を担っている。
ServletはJavaプログラムなので、単独ではWEBアプリ作成するための機能が不十分。
その為「ホームページのファイル(JSP)」や「サーブレットコンテナ」と呼ばれる他のプログラムと連携する必要がある。

(補足)
・Webサーバ:ホームページやWebサービスを置いておくコンピュータ。
・動的なWEBページ:アクセスしたときの状況(ログインの有無など)に応じて異なる内容が表示されるWebページのこと。 例として、ユーザーが書き込むことで内容が増える掲示板サイトやブログ、表示内容がユー

元記事を表示

Cloud Spanner エミュレータを使ってみる。

## はじめに

この記事は、
 [Get started with Cloud Spanner
](https://www.youtube.com/watch?v=rG3n3YHNZIQ)という動画を参考に、『実際にやってみた』という記事になります。

## この記事で実施する事。
– `Cloud Spanner エミュレータ` とは
– エミュレータをインストールして実行する準備を行う。
– `エミュレータ` で gcloud CLI を使用する。
– Java で `Spanner エミュレータ` を使用する。
– `Spanner` インスタンスを作成。
– `Spanner` データベースを作成。
– 書き込み、読み取り、SQL クエリの実行を行う。

## Cloud Spanner エミュレータ とは
`エミュレータ` を使用することで、`Spanner` 機能を
模倣した開発環境をローカルマシン上に作成できます。

これを使用することで、ユーザーは
Google Cloud プロジェクトや
請求先アカウントを作成することなく、
無料でアプリケーションの開発と

元記事を表示

VSCodeでSpring Bootを利用してプロジェクトを新規作成する

# 初めに
新規参画したプロジェクトでSpring Bootを利用していたため、[クイックスタート](https://spring.pleiades.io/quickstart/)を参考にVSCodeでプロジェクトを新規に作成する

# クイックスタート
手順に従ってプロジェクトを開始する
(設定内容は画面から読み取れる設定を反映した)

## 新プロジェクト開始
Spring Bootで新しいプロジェクトを作成する。
→私はVSCodeで開発しているため、特に説明はなかったが拡張で以下を追加してプロジェクトの作成を実行した。
* Spring Boot Extension Pack

新規プロジェクトだと以下の画面が表示されるため、「Getting Started with Spring Boot in VS Code」を実行する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3616345/ac5cd035-be0b-f8c0-a3ff-733d49c71d41.png)

元記事を表示

MavenでSpringBootを使ったライブラリjarを作成する方法

SpringBootを使ってライブラリ(jar)を作る際、Mavenで単純に作成するとBOOT-INF配下にclassファイルが配置されるため他のJavaから参照できない。
他のjarと同様にトップフォルダにclassが配置されるようにする対応。

## pom.xmlを変更する
pom.xmlに通常のjarファイルを作成する設定を追記する。
“`

・・・ org.apache.maven.plugins
maven-jar-plugin



create-jar package

元記事を表示

ServletFilter, MDC

# ServletFilter
– Java EE の一部であり、セキュリティ、ロギング、圧縮などのサブレットレベルでの作業に適している。
– initとdestroyメソッドはdefault と作成しなくてもよい。
![스크린샷 2024-01-02 23.16.02 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3567846/a0ae9a78-3b89-348e-3db3-59acefcd08ba.png)

– すべてのログを残す例
“`java
import lombok.extern.slf4j.Slf4j;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
i

元記事を表示

【Java×MySQL】動的WebプロジェクトとDBの連携方法(Eclipse)

# 記事の内容
今回は、javaの動的webプロジェクトとMySQL(Maria DB)との接続について備忘録を作成します。

# 使用端末
■Windouws11
■Eclipse Version: 2022-09 (4.25.0)

# 前提条件
MySQL(Maria DB)はすでにお使いのPC端末にインストールされているものとします。

■ [MySQLのダウンロードサイトはこちらから](https://www.mysql.com/jp/downloads/)

■ [Maria DBのダウンロードサイトはこちら](https://mariadb.org/)

# MySQL(Maria DB)をインストールしたら次にすること
### MySQLのコネクターをダウンロードする。
#### MySQLのコネクターのダウンロード方法

MySQLコネクターの公式サイトへアクセスする。
 [MySQLコネクター公式サイト🔗](https://www.mysql.com/jp/products/connector/)

![MySQLコネクタ1.jpg](ht

元記事を表示

Windows版 Cursorのターミナルでmvnw.cmdが実行できない人向け

# mvnw.cmdが見つからないようなエラーになる
Cursorのターミナルでmvnw.cmdを実行しても↓のようなエラーがでる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2964854/b4c5a9b4-97ca-6bc3-d18f-c847978b9479.png)

何やら”mvnw.cmd”が見つからないとか・・・
ちゃんとあるのに・・・

### 解決方法
コマンドの前に「./」を入力しよう!
“`
./mvnw.cmd [options]
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2964854/cc9bfcca-9c59-65b2-89cd-484814a75125.png)

実行できた!

元記事を表示

Maven(Apache Maven)とは

# 【Mavenとは】(※読み:メイブン)
Mavenは簡単に言うと、「開発を自動化してくれる便利な物」である。
Mavenは、プログラムをビルドすることを目的として利用する「ビルドツール」のひとつで、主にJavaで書かれたプロジェクトをビルドするために利用する。Eclipseと連携して利用することが多い。

# 【Mavenを使ってできること】
①ライブラリの管理
Mavenの最大のメリットが、「プロジェクトで利用するライブラリを管理できる」という点。
Javaには多くのライブラリが存在しており、それらのライブラリを使うことで高速に開発を進めることが可能。
Mavenでは、XMLに必要なライブラリの情報を記述することで、「そのプロジェクトに必要なライブラリ」を一元管理してくれる。
また、Mavenは依存性を管理する機能も備わっている。

例えば、あるライブラリAを使いたい場合、ライブラリAは、他のライブラリであるBを利用している場合、JavaのプロジェクトにはライブラリAとライブラリBを含める必要がある。
しかし、Mavenを利用した場合には、「ライブラリA」の情報のみを記述する

元記事を表示

JavaでEnumのメソッドを作成する

# 1. はじめに
* JavaでEnumのメソッドを使ってみたい

# 2. 開発環境
* java

# 3. サンプルコード
“`java:
// Enumの定義
public enum enumMonth {
October(“A”, “10”), November(“B”, “11”), December(“B”, “12”);

// フィールドを定義
private String code;
private String value;

// コンストラクタを定義
private enumMonth(String pCode, String pValue) {
this.code = pCode;
this.value = pValue;
}

// メソッド
public static String getValueByCode(String pId) {
for (enumMonth month : enumMonth.values()) {

元記事を表示

OTHERカテゴリの最新記事