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

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

Javaの主要な繰り返し文

# Javaの繰り返し文まとめ

Javaには、繰り返し処理を行うための構文がいくつかあります。この記事では、主要な繰り返し文である`for`文、拡張`for`文(`foreach`文)、`while`文、および`do-while`文について
個人的なメモとして残します。

## 1. `for`文
`for`文は、初期化、条件判定、更新処理を1行で書ける繰り返し文です。最も一般的に使用されます。

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

### 使用例
以下の例では、1から5までの数字を出力します。
“`java
for (int i = 1; i <= 5; i++) { System.out.println(i); } ``` ## 2. 拡張`for`文(`foreach`文) 拡張`for`文は、配列やコレクションの要素を簡単に繰り返し処理するために使用されます。 ### 基本構文 ```java for (型 変数名 : 配列やコレクション) { // 繰り返し処理 } `

元記事を表示

[BigQuery API(V2)] JavaでBigQueryのジョブの実行をキャンセルする

BigQuery API V2(Java)を使用して、
BigQueryのジョブの実行をキャンセルする方法
についてご紹介します。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[BigQuery API(V2)] JavaでBigQueryを使う](https://qiita.com/doran/items/8b7ba29672527426e88d)
を参照ください。
:::

|No||目次|
|—|—|—|
|1||[ジョブの実行をキャンセル](#1-ジョブの実行をキャンセル)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|

## 1. ジョブの実行をキャンセル
ジョブの実行をキャンセルします。

### 1.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
“`
BigqueryScopes.BIGQUERY
BigqueryScopes.CLOUD_PLATFORM
“`
[

元記事を表示

M2 Mac で GATK をコンパイルしてみたった

## はじめに

[GATK](https://gatk.broadinstitute.org)とは、[ブロード研究所](https://www.broadinstitute.org/)が作成しているゲノム解析のためのツールの集合体である。「ブロード」は人名で、住宅建設会社[KBホーム](https://en.wikipedia.org/wiki/KB_Home)および年金会社サンアメリカの創業者である[エリ・ブロード](https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%AA%E3%83%BB%E3%83%96%E3%83%AD%E3%83%BC%E3%83%89)さんが出資して作った研究所なのでこの名称になっている。特にHaplotypeCallerやMutect2などショートリードの変異の検出に使われているが、Picardのような汎用的なツールも含まれるる。

https://gatk.broadinstitute.org/

https://github.com/broadinstitute/gatk

コミット履歴によると、一人の巨人が

元記事を表示

[BigQuery API(V2)] JavaでBigQueryのジョブを生成・削除する

BigQuery API V2(Java)を使用して、
BigQueryのジョブを生成・削除する方法
についてご紹介します。

**ジョブとは**
データの読み込み、データのエクスポート、データのクエリ、データのコピーなど、
BigQueryがユーザーに代わって実行するアクションを指します。

ジョブ生成・削除には適切なIAM権限が付与されている必要があります。

権限付与に関しては
[⧉[BigQuery API(V2)] JavaでBigQueryを使う(2.権限付与)](https://qiita.com/doran/items/8b7ba29672527426e88d#2-権限付与)
を参照ください。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[BigQuery API(V2)] JavaでBigQueryを使う](https://qiita.com/doran/items/8b7ba29672527426e88d)
を参照ください。
:::

|No||目次|
|—|—|—|
|1||[ジョブを生成](#1

元記事を表示

Javaで「ラッパークラスの利用」の動作を確認してみた

# 概要

Javaで「ラッパークラスの利用」の動作を確認してみました。
以下のページを参考にしました。

https://www.javadrive.jp/start/var/index13.html

# 実装

以下のファイルを作成しました。
“`JSample13_1.java
class JSample13_1{
public static void main(String[] args){
Integer i = Integer.valueOf(10);
int val = i.intValue();

System.out.println(“i = ” + val);
}
}
“`

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

# まとめ

何かの役に立てばと。

元記事を表示

Spring Data RESTの要点と利用方法

# はじめに

Spring Data RESTというライブラリを仕事で利用することになりそうで、色々手を動かして調べた要点や利用方法についてまとめました。

# Spring Data RESTとは

[Spring Data REST](https://spring.pleiades.io/spring-data/rest/reference/)はSpring Dataのライブラリの一つであり、Spring Data RESTは、Spring Dataで作成したリポジトリをRESTfulなエンドポイントとして自動的に公開します。Spring Data RESTの機能を利用することによって、ControllerやServiceクラスの実装を省略する事ができるということです。

Spring Dataは様々なデータストアの特性や仕様を抽象化し、簡便なインターフェースを提供しています。例えば、RDBMSの場合、[JPA](https://spring.pleiades.io/projects/spring-data-jpa)を使用していれば、Entityクラスを定義し、そのEntityク

元記事を表示

実行時にコンソールから入力値を与える(Scanner,BufferedReader)(学習メモ)

### **コンソール画面で入力した値を扱う方法**

Javaでコードを書く練習をしていた際、コンソールから自分で任意の値(文字や数字)を与えるケースがある。私が最初に覚えたScannerクラスとは別に、BufferedReaderというストリーム(Stream)というものもあるので使用例をメモ。
(Streamの方は文字ストリームやバイトストリームなど種類がたくさんあるのでもうちょっと理解を深める必要がある・・・)

両方の使用例は以下のとおり。※どちらも入力はコンソール

~~~java:例1 Scanner使用例
import java.util.Scanner;
//中略
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print(“任意の値xを入力ください:”);
String xIn = scanner.next();
int x = Integer.parseInt(xIn);//String⇒int

元記事を表示

JSON処理2

“`
public static String processIfna(String key, String value) {
// keyの形式チェック
if (!key.matches(“.*IFNA:(\\d*|\\s*)/(\\d*|\\s*|\\*)”)) {
throw new RuntimeException(“500000エラー: ” + key + ” のIFNAパターンが不正です”);
}

String[] parts = key.split(“IFNA:”)[1].split(“/”);
if (parts.length != 2) {
// “IFNA:0/” のようなパターンを許容するための修正
if (parts.length == 1 && key.endsWith(“/”)) {
parts = new String[]{parts[0], “”};

元記事を表示

JSON処理

JSON処理
“`
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
public static void main(String[] args) throws Exception {
// JSON文字列の定義
String jsonString = “{\n” +
“\”apiVer1\”:\”$$(TEST_NO1)\”,\n” +
“\”apiver2\”:\”$$(TEST_NO2

元記事を表示

Spring Security を使用したプログラムにCSSを適用したい

# はじめに
Spring Security を使用したプログラムを作成しているのですが、CSSが適用されない!という問題に当たったので、解決法を備忘として残します。

# 問題点と原因の確認

### 問題と期待値
CSSが適用されない。。。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3726233/23d9c31f-51a2-ef88-45cc-d118a192c8d7.png)

こんな感じで表示したい!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3726233/a21a242a-8dff-e865-1c1d-4e6dc6631af5.png)

### 原因はこれだ!

Devtoolからネットワークを確認すると、CSSが302でリダイレクトされてるっぽい。
今回Spring Security でログイン済みか否かで見れるページを制御しているため、CSSもそれに引っかか

元記事を表示

未経験でエンジニアとして入社し、1ヶ月経ったので振り返る

初めまして。
2024年に入社し、晴れてエンジニアとしてキャリアをスタートしました。
早くも入社から1ヶ月が経ったということで、これまでの学習内容を振り返えるとともに、IT初心者におすすめの参考書や勉強法を紹介できればと思います。

# プログラミング学習で使用した教材
研修では、主に『プロになるJava』を使用していました。

## 『プロになるJava』
![プロJava.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3772948/034b8f6b-6719-3321-28a7-bb4474e8559e.jpeg “プロになるJava”)

>『プロになるJava』は、プログラミングを仕事にしたい、エンジニアとして働きたい方、およびほかの言語で開発しているがJavaも使えるようになりたいという方を対象に、Javaでプログラミングができるようになるための解説をわかりやすく丁寧に行います。
>(技術評論社 書籍概要より) https://gihyo.jp/book/2022/978-4-297-126

元記事を表示

[BigQuery API(V2)] JavaでBigQueryのジョブの実行結果を取得する

BigQuery API V2(Java)を使用して、
BigQueryのジョブの実行結果を取得する方法
についてご紹介します。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[BigQuery API(V2)] JavaでBigQueryを使う](https://qiita.com/doran/items/8b7ba29672527426e88d)
を参照ください。
:::

|No||目次|
|—|—|—|
|1||[ジョブの実行結果を取得](#1-ジョブの実行結果を取得)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|

## 1. ジョブの実行結果を取得
ジョブの実行結果を取得します。
ジョブが未実行や実行エラーにより実行結果がない場合は例外が発生します。

### 1.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
“`
BigqueryScopes.BIGQUERY
Bigq

元記事を表示

Javaで「演算の時に自動的に行われる型変換」の動作を確認してみた

# 概要

Javaで「演算の時に自動的に行われる型変換」の動作を確認してみました。
以下のページを参考にしました。

https://www.javadrive.jp/start/var/index12.html

# 実装

以下のファイルを作成しました。
“`JSample.java
class JSample {
public static void main(String[] args){
double d = 10 * 0.2;
System.out.println(“d = “+d);
int i = (int)(10 * 0.2);
System.out.println(“i = “+i);
short s1 = 14;
short s2 = 8;
int i2 = s1 + s2;
System.out.println(“i2 = “+i2);
short s3 = (short)(s1 + s2);
System.out.println(“s3 = “+s3);
}
}
“`

以下のコマンドを実行しました。
“`
$ ja

元記事を表示

[BigQuery API(V2)] JavaでBigQueryでクエリを実行する

BigQuery API V2(Java)を使用して、
BigQueryでクエリを実行する方法
についてご紹介します。

クエリの実行には適切なIAM権限が付与されている必要があります。

権限付与に関しては
[⧉[BigQuery API(V2)] JavaでBigQueryを使う(2.権限付与)](https://qiita.com/doran/items/8b7ba29672527426e88d#2-権限付与)
を参照ください。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[BigQuery API(V2)] JavaでBigQueryを使う](https://qiita.com/doran/items/8b7ba29672527426e88d)
を参照ください。
:::

|No||目次|
|—|—|—|
|1||[クエリを実行](#1-クエリを実行)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|

## 1. クエ

元記事を表示

printとprintfの違い(学習メモ)

### **コンソール画面に文字列を出力するprintとprintlnとprintfについて**

#### printとprintlnの違いは”改行”するかどうかにある。

– print :改行せずにコンソールへ出力
– println:文字列を出力した後、改行される

~~~java:printとprintlnの違い(例1)
System.out.println(“Hello World”);
System.out.print(“Hello World”);
~~~
~~~:結果
Hello World
Hello World
~~~

結果は一見同じようにみえるがもう一度Hello Worldを表示してみると
2個目のHello Worldの続きから出力される(改行されないため)

~~~java:printとprintlnの違い(例2)
System.out.println(“Hello World”);
System.out.print(“Hello World”);
System.out.print(“Hello World”);
~~~
~~~:結果
Hello

元記事を表示

springでトランザクションの制御方法

JavaのSpringフレームワークで1つのメソッド内で複数の場所でコミットを行いたい場合、標準的な@Transactionalアノテーションでは直接それを実現することはできません。これは@Transactionalがメソッドの開始時にトランザクションを開始し、メソッドの終了時にトランザクションをコミットまたはロールバックするため、メソッド内での複数コミットを制御することは想定されていません。

複数箇所でのコミットを行いたい場合、以下のような方法が考えられます:

## 1,トランザクションの手動管理
以下の例では、PlatformTransactionManagerを使用して、一つのメソッド内で複数のトランザクションを開始し、コミットする手順を示します。
“` App.java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.Plat

元記事を表示

javaでjson文字列を操作する方法

以下のような二つのjsonを1つのjsonにマージする

“` target1.json
{
“detail”: [
{
“itemId”: “a1”,
“itemName”: “a1_a”,
“lastuUpdate”: “”
},
{
“itemId”: “a2”,
“itemName”: “a2_a”,
“lastuUpdate”: “”
},
{
“itemId”: “a3”,
“itemName”: “a3_a”,
“lastuUpdate”: “”
},
{
“itemId”: “a4”,
“itemName”: “a4_a”,
“lastuUpdate”: “”

元記事を表示

java 文字列の検索

## 文字列の検索
文字列の内部から、別の文字列(または文字)を探すためのメソッド
2種類ある
①含まれているか否かだけの判定
②文字列のどこに含まれているかという位置情報を返すもの

|メソッド定義|操作|
|:———-|:——–|
|contains|ある特定の文字列(文字)が対象の文字列に含まれているか|
|startsWith|文字列がある特定の文字列(文字)で始まるか|
|endWith|文字列がある特定の文字列(文字)で終わるか|
|indexOf|ある特定の文字列(文字)が最初に登場する位置を調べる|
|lastIndexOf|ある特定の文字列(文字)を後ろから検索して最初に登場する位置を調べる|

#### contains
特定の文字列(文字)が含まれているかを調べる
(大文字/小文字の区別する)
`対象の文字列.contains(検索する文字列)`
“`Main.java
public class Main {
public static void main(String[] args) {
String s1 = “Hello”;

元記事を表示

文字列操作

## 文字列調査
|メソッド| 操作内容|
|:——:|:——–|
|equals|内容が等しいか調べる|
equalsIgnoreCase|大文字/小文字を区別せず内容が等しいか調べる|
|length|文字列長を調べる(スペースも1文字としてカウント)|
|isEmpty|空文字か(長さが0か)調べる|

#### equals
内容が等しいか区別する
(大文字、小文字、空白を区別する)
“`Main.java
public class Main {
public static void main(String[] args) {
String s1 = “Hello”;
String s2 = “Hello”;
String s3 = “HELLO”;
String s4 = ” Hello “;
System.out.println(s1.equals(s2)); // s1とs2を比較
System.out.println(s1.equals(s3)); // s1とs3を比較
System.out.println(s1.eq

元記事を表示

抽象メソッド

## 抽象メソッド
現時点では処理内容が未定で実装をもたず、メソッドや引数などの定義だけ宣言するメソッド。
処理内容は子クラスなどで記述。クラスによって処理内容を変えられる。

### 抽象メソッドの宣言
“`
public abstrct 戻り値の型 メソッド名(引数リスト);
“`
#### 宣言するメリット
・オーバーライドの強制
・何もしないメソッドなのか、現時点で処理内容が確定できないメソッドなのか区別ができる

### 抽象メソッドを含むクラスの宣言
抽象メソッドを1つでも含むクラスは抽象クラスの宣言を行う
“`
public abstract class クラス名 {
}
“`
#### 宣言するメリット
・抽象として宣言されるとnewによるインスタンス化が禁止される。

抽象クラスを継承した子クラスで必ず、メソッドの内容を記述する必要はなく、孫クラスやひ孫クラスなどどこかの時点で記述できる

インタフェースなどもでてき意味は分かるけど、ぴんと来ないというか使いこなせない:sweat:
為になりそうな記事がいくつかあったので読んで理解したいと思います:rela

元記事を表示

OTHERカテゴリの最新記事