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

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

Java 命令実行の文

命令文の実行
 呼び出す命令の名(引数);

☆画面に文字を表示☆
System.out.println(引数);
改行しない場合は
System.out.print(引数);

☆2つの値を比較して大きいほうの数値を比較☆
int m = Math.max(数値①,数値②);
例)
int a = 10;
int b = 5;
int num = Math(a,b);
System.out.println(” a + “と” + b + “大きい方は” + num);

☆文字列を整数に変更☆
int a = Integer.praseInt(数値);

☆乱数を発生☆
int a = new java.util.Random().nextInt(数値);
数値には発生させたい上限の数値を入力
例)
int num = new java.util.Random().nextInt(100);
num には 0~100までランダムな数字が代入される

☆キーボードから1行の文字列の入力を受け付ける☆
String a = new java.util.Scanner(

元記事を表示

[Google Calendar API(V3)] Javaでカレンダーにテキスト形式(Quick Add)でイベントを追加する

Gmail API v1(Java)を使用して、
Googleカレンダーにテキスト形式(Quick Add)でイベントを追加する方法
についてご紹介します。

### Quick Addとは
イベントの内容、日時、期間、場所などを簡単な文字列で指定することにより
カレンダーのイベントを生成できる機能です。
日本語版のカレンダーUIでは対応していないようですが、APIは動作するようです。

指定する文字列は日本語でも問題ないようです。
例えば、「新宿御苑で午後2時から午後5時にお花見」という文字列を指定すると。。

というイベントが追加されます。
リクエスト受付先で日本語を英語に翻訳しているんでしょうか。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Calen

元記事を表示

抽象クラスに単体テストをあてる方法5つ紹介します

# はじめに

知識のおすそ分けです。

# 目次

– [単体テスト対象のメソッド in 抽象クラス](#単体テスト対象のメソッド-in-抽象クラス)
– [抽象クラスに単体テストを書くときのハードル](#抽象クラスに単体テストを書くときのハードル)
– [抽象クラスに単体テストをあてる方法5つを紹介します](#抽象クラスに単体テストをあてる方法5つを紹介します)
– 方法1.[抽象クラスが継承されている具象クラスに単体テストを書く](#方法1抽象クラスが継承されている具象クラスに単体テストを書く)
– 方法2.[抽象クラスを継承する具象クラスを新たに作成して単体テストを書く](#方法2抽象クラスを継承する具象クラスを新たに作成して単体テストを書く)
– 方法3.[テストクラスで匿名クラスを作成して単体テストを書く](#方法3テストクラスで匿名クラスを作成して単体テストを書く)
– 方法4.[`Mockito.Spy` を使う](#方法4mockitospy-を使う)
– 方法5.[`Mockito.CALLS_REAL_METHODS` を使う](#方法5moc

元記事を表示

[Google Calendar API(V3)] Javaでカレンダーのイベントを作成・更新・削除する

Gmail API v1(Java)を使用して、
Googleカレンダーのイベントを作成・更新・削除する方法
についてご紹介します。

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

|No||目次|
|—|—|—|
|1||[イベントを作成](#1-イベントを作成)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|
|2||[イベントを上書き](#2-イベントを上書き)|
||1|[スコープ](#21-スコープ)|
||2|[実行](#22-実行)|
||3|[レスポンスの内容](#23-レスポンスの内容)|
|3||[イベントを更新](#3-イベントを更新)|
||1|[スコープ](#31-スコープ)|
|

元記事を表示

【JavaScript / Java】イテレータを実装する

※ この記事は 2022年4月 に作成したものを一部改稿したものです。

**イテレータ (iterator)** とは、プログラミング言語において配列やそれに類似するコレクションの各要素を取り出して繰り返し処理をするための仕組みで、「反復子」と訳されます。

イテレータには、コレクションが自身の各要素に対して繰り返し処理を呼び出す「内部イテレータ」(一般的に「for-each」などの名前で用意されることが多い) と、コレクションの各要素を順に参照するオブジェクトを生成しそれを用いて繰り返し処理を行う「外部イテレータ」がありますが、多くの場合、内部イテレータは内部で外部イテレータ (反復子オブジェクト) を生成して処理を行っています。

自作のオブジェクトで内部イテレータを利用できるようにするには、外部イテレータを生成するメソッドや関数を実装する必要があることが多いです。

## Java のイテレータ

まずは、Java を例にイテレータの実装方法について見ていきます。

Java ではバージョン 1.5 から拡張 for 文 (for-each ループ) と呼ばれる構文が導入され、

元記事を表示

Javaでざっくり理解するMongoDB

## 概要
最近バックエンドの開発でMongoに触れる機会が増えたため、理解を深める目的で記事を書いていきます。

また、本記事はMongoDBの薄い本を基に作成しています。
今回説明する内容はMongoの概要や基本的なCRUD操作になりますので、より詳しく学びたい方は、ぜひ一読してみてください。

## MongoDBとは
MongoDBは、MySQLのようにデータを行と列で保存(RDBMS)するのではなく、複数のJSONに似たドキュメントやコレクションでデータを表示する、ドキュメント指向データベース(NoSQL)です。

RDBMSと比較すると以下のようなメリットがあります。

・**データモデルを変更する際にスキーマ変更が不要(スキーマレス)**
・**データの分散処理が比較的容易なため、大規模なデータの処理が可能**

元記事を表示

Artifactory7-OSS: MavenパッケージをDeployしつつ、BuildInfoを添付する方法

## はじめに:Artifactoryとは

Artifactoryとは、パッケージマネージャである。
パッケージマネージャとは、パッケージ(ライブラリ)やアーティファクト(成果物、例えばwar)を登録できる製品のこと

## この記事でできること

Artifactoryにmavenパッケージを登録(deploy)する際、同時にビルド情報を添付する
メリットとして、どのような環境からビルドしたのか把握できるようになる

### スクリーンショット

どのバージョンをdeployしたかわかる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/161516/9d4a9614-bee4-d734-310e-09c4837ab6ee.png)

deploy時のメタデータを表示できる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/161516/a2477be3-0a10-05d0-ac30-31

元記事を表示

Javaの基本構文一覧

## 1. HelloWorld
:::note info
Javaのファイル名とpublic class名は一致します。
※一致していないとコンパイルエラーになります。
:::
“`java:HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println(“Hello, World!”);
}
}
“`
“`text:結果
Hello, World!
“`

## 2. 変数宣言
“`java:Variables.java
public class Variables {
public static void main(String[] args) {
int number = 10; // 整数型
boolean isJavaFun = true; // 真偽値型

String text = “Hello”; // 文字列は参照型
}
}

元記事を表示

JavaとSpring Bootの内容を理解メモ

# Spring Boot
Java での Web アプリケーション開発を簡略化するオープンソースフレームワークです。
Spring Framework(Springともいう) をベースに、開発を迅速化するための機能が追加されています。
## メリット
– XMLファイルの設定は、pom.xmlで自動生成される
pom:Project Object Model
– @で始まるアノテーションにより、コード量を減らせる
Annotation:注釈
@Controller:リクエストを受け取るクラス
@RequestMapping(“/fortune”):リクエスト/fortuneで動くメソッド
– Eclipseで導入が簡単

# Java Maven
Java プロジェクトのビルド、管理、依存関係管理を容易にするツールです。
Apache Software Foundation によって開発され、オープンソースソフトウェアとして無料で利用できます。

# プロジェクト構成
Spring Boot プロジェクトは、以下の構成になっています。

pom.xml: プロジェクトの設定ファイル

元記事を表示

[Google Calendar API(V3)] Javaでカレンダーの繰り返しイベントを取得する

Google Calendar API V3(Java)を使用して、
Googleカレンダーの繰り返しイベントを取得する方法
についてご紹介します。

繰り返しイベントとは、予定やタスクで繰り返しを指定したイベントを表します。

[[Google Calendar API(V3)] Javaでカレンダーのイベントを取得する](https://qiita.com/doran/items/714407979db97afea29c)
で取得できるリストでは、繰り返しイベントは1つのみ(設定したイベントのみ)
が取得できます。
設定したイベント以外で繰り返しにより派生されるイベントはこの方法で取得可能です。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Calend

元記事を表示

新人エンジニアに向けてのエール

# 初投稿です。

4月も1週間過ぎたので、駆け出しエンジニアに向けてエールを送る意味で記事を執筆することにしました。

まず初めに軽い自己紹介から。
### About me
“`java:AboutMe.java
// 私は都内のIT企業で働く4年目のエンジニアです。
// 得意科目はフロントエンドの実装で、これまでにReact.jsやVue.jsなど
// のプロジェクトで要件定義~テストまで幅広く開発してまいりました。
// フロント以外にも、JavaやPHP、Pythonなども経験があります。
// 4年目といってもまだまだ勉強することだらけの毎日ですが、培ってきた知見や、
// つらかった経験、楽しかった経験などつらつらと発進できたらと思います。
// ということで。。。

String greeting = “よろしくお願いします。”;
System.out.println(greeting);
“`

### プログラミング学習について

未熟な私ですが、最近では後輩なども何人かできて、よく質問されるのが、「どうやって覚えてますか?」といった質問です。
その問いに対

元記事を表示

[Google Calendar API(V3)] Javaでカレンダーの変更を監視する

Google Calendar API V3(Java)を使用して、
Googleカレンダーの変更を監視する方法
についてご紹介します。

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

|No||目次|
|—|—|—|
|1||[カレンダーの変更を監視](#1-カレンダーの変更を監視)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|
|2||[カレンダーの監視を停止](#2-カレンダーの監視を停止)|
|3||[変更通知を受信](#3-変更通知を受信)|

## 1. カレンダーの変更を監視
Googleカレンダーの変更を監視します。

### 1.1. スコープ
このAPIを実行するには、以下のいずれかの

元記事を表示

【Java基本編】データ型について

こんにちは!
今回はJavaのデータ型、そして使用する際の注意点を載せていきたいと思います!
Javaの勉強を始めたばかりなので、どう使い分けるかそもそもどんなデータ型があるか知る必要があると思い、まとめてみたのでJava初心者の方の参考になると幸いです!

# データ型
データ型の中でも整数、小数、真偽値、文字、文字列などの分類が存在します。分類の中では使い分けが分かっていないと適切に使えないものもあるので、簡単に解説していけたらと思います。また、データ型を指定することでメモリを確保することができます。

## 整数型
数字の大きさによって、使うデータ型を変えます。また、小数とは扱いが別なので注意です!
| 型名| 説明 | 数値の範囲 | 使用例 | 頻度 |
|:-:|:-:|:-:|:-:|:-:|
| long | 8バイト符号付き整数 | -9223372036854775808~9223372036854775807 | 売上高など数字の大きいもの | |
| int | 4バイト符号付き整数 | -2147483648~2147483647 | 一般的な

元記事を表示

Java Silver向け 例題 型推論 var

次のコード 1 ~ 5 でコンパイルエラーとなる場所をすべて答えてください

“`java
public class Example5 {

1) var number = 1;

2) public method(var number) {
3) var name;
4) var final weight = 65;
5) var age = 20;
}
}
“`

正解

[1, 2, 3, 4]

  
1,2,3
クラスのフィールド、メソッドの引数では使用できません。
メソッド内でのローカル変数の宣言には、具体的な型が必要です。

4
final修飾子の位置が間違っている
正) final var age = 10;

拡張for文で様々な型が混在しているリストにおけるvarの使用例
“`java
(略)

元記事を表示

【AWS】APIGatewayでLambdaのアプリ側で発生した例外処理を500エラーで返したい。

## 背景

JavaアプリをLambdaでホストしているが、API Gateway経由でビジネスロジック側のエラー処理した際、ステータス上200で返ってきてしまい、困ったので調べた

## TL;DR

Javaだと例外処理の返却値が標準エラーの形式と合ってないので、レスポンス内容にステータスコード(5XX系)を埋め込む
200系のレスポンスマッピングテンプレート側でステータスコードを条件分岐させてマッチすればオーバーライドするように処理させると500エラーにできる。

https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/apigateway-override-request-response-parameters.html#apigateway-override-request-response-parameters-override-response

サンプルコード(Github)

https://github.com/tukapai/simple-lambda-java/tree/main

元記事を表示

Intellij 備忘録【Java】

# 本記事の意義

Java初心者がIntellijを使い始めたため、備忘録としてまとめる。

# コマンド集

| 動作 | コマンド |
|:-:|:-:|
|設定画面を表示 | `Command + ,` |
| プロジェクトツールへカーソルを移動 | `Command + 1` |
| エディタウィンドウへカーソルを移動 | `esc` |
| 新規ファイル作成 | `Command + N` |
| ファイルの実行 | `Control + R` |
| デバッグ | `Control + D` |

元記事を表示

[Google Calendar API(V3)] Javaでカレンダーのユーザー設定情報の変更を監視する

Google Calendar API V3(Java)を使用して、
Googleカレンダーのユーザー設定情報の変更を監視する方法
についてご紹介します。

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

|No||目次|
|—|—|—|
|1||[設定情報の変更を監視](#1-設定情報の変更を監視)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|
|2||[設定情報の監視を停止](#2-設定情報の監視を停止)|
|3||[変更通知を受信](#3-変更通知を受信)|

## 1. 設定情報の変更を監視
Googleカレンダーのユーザー設定情報の変更を監視します。

### 1.1. スコープ
このAPIを実行

元記事を表示

[Google Calendar API(V3)] Javaでアクセス制御ルール(ACL)を変更を監視する

Google Calendar API V3(Java)を使用して、
Googleカレンダーのアクセス制御ルール(ACL)を変更を監視する方法
についてご紹介します。

**カレンダーのアクセス制御ルール(ACL)とは**
指定したユーザー、またはグループと予定の共有ができます。
UIでは、カレンダーの設定 -> [特定のユーザーまたはグループと共有する]
から設定できる内容です。

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

|No||目次|
|—

元記事を表示

Spring bootでREST APIを作ってみた。

# Spring bootでREST APIを作ってみた。
Spring boot勉強がてら作成

# 実装内容
マイナンバーをキーに個人情報を取得してくる的なAPI作成

# 使用データ
https://testdata.userlocal.jp/

# パッケージ構成
“`
├─java
│ └─com
│ └─example
│ └─api
│ └─demo
│ │ DemoApiApplication.java
│ ├─controller
│ │ MPersonalInfoController.java
│ ├─data
│ │ └─dto
│ │ CommonResponse.java
│ │ MPersonalInfoDto.jav

元記事を表示

[Google Calendar API(V3)] Javaで変更通知を停止する

Google Calendar API V3(Java)を使用して、
Googleカレンダーの変更通知を停止する方法
についてご紹介します。

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

|No||目次|
|—|—|—|
|1||[変更通知を停止](#1-変更通知を停止)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|

## 1. 変更通知を停止
登録済みの変更通知を停止します。

### 1.1. スコープ
このAPIを実行するのにスコープは必要ありません。

### 1.2. 実行
停止するには、変更通知を登録した際に取得できる
「チャンネルを識別するUUID」、「監視対象のリソースのバージョン固有

元記事を表示

OTHERカテゴリの最新記事