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

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

javaで直角三角形を表示するプログラムを作る

# 問題
int型の変数nを作成し、一辺がn個の直角三角形を表示するプログラムを作成せよ
例) nが4の場合

実行結果
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3717834/a2830098-1203-19bb-80da-7da2b6ae7165.png)

## 解答
“`java
public class java01 {

public static void main(String[] args) {

int n = 4;

for (int i = 0; i < n; i++) { dispCircle(i, n); System.out.println(); } } static void dispCircle(int i, int n) { for (int j = 0; j < n; j++) { if (i > j) {
System.out.print(” “);
} else {
Syst

元記事を表示

spring bootで掲示板アプリを作成してみました。

# 掲示板アプリを作成してみた。
企業研修が終わり、現在待機中。
spring bootを学習したけれども「はにゃ?」という感じだったので、復習を兼ねて簡単な掲示板アプリを実装しました。
もちろんしょぼいので、温かい目で見ていただけると感謝です。

URL↓

https://bulletinboard-5ado.onrender.com/login

ユーザー名、パスワードともにtestでログインできます。

git↓

https://github.com/izumida-rina/bullentinboard

## 開発環境
バックエンド:java17
フロントエンド:HTML/CSS, bootstrap
フレームワーク:spring boot
DB:H2
サーバー:Render(Docker)

## 目的
・CRUD操作の実装に慣れる
・HTML/CSSの使い方に慣れる。
・spring security の実装をやってみる。
・待機中の研修でデプロイを経験したので、もう一度デプロイをしてみる。

## よかった点
・フロントからどのように値が流れるのかだんだんわかって

元記事を表示

final修飾子

# 始めに
final修飾子は主に変数、クラス、メソッドで使用される修飾子であり、宣言後の変更を禁止する事が可能です。

# 変数
finalを変数宣言で使用すると、宣言後の代入を禁止する事が出来ます。
これによって変数を定数として扱う事が出来ます。

# クラス
クラス宣言でfinalを使用すると、継承を禁止する事が出来ます。

# メソッド
また、メソッドの宣言でfinalを使用すると子クラスでのオーバーライドを禁止する事が出来ます。
finalはアクセス修飾子(public等)やstatic修飾子の後、戻り値型またはvoidの前に表記します。

# 参考にした記事
https://www.sejuku.net/blog/24926#index_id4

元記事を表示

三項演算子の使い方

三項演算子の便利さに気づいたのでシェアします。

# 三項演算子とは
そもそも三項演算子とはなにかを説明すると
条件に続いて疑問符 (?)、そして条件が真値であった場合に実行する式、コロン (:) が続き、条件が偽値であった場合に実行する式が最後に来る。といった感じのものです。
正直、if文と似ているので使いどころが難しい部分もありますが有効に使える書き方があるのでご紹介します。

例として波の高さによってサーフィンが可能かどうかを判定するプログラムを作成します。

## if文で書いた場合
“`java
public class java01 {

public static void main(String[] args) {
String isSurfable = “”;
int waveheight = 500;

if(waveheight < 1000) { isSurfable = "OK"; } else { isSurfable = "NG"; } System.out.println(isSurfable); }

元記事を表示

CodeCraftersで「Build your own HTTP server」を(無料の範囲で)やってみよう

[CodeCrafters](https://codecrafters.io/)で「HTTPサーバー」を作ってみたくなったのでやっていきます。

### CodeCraftersの各webページ

CodeCraftersの主要ページは以下のような構成になっているようです。

– 製品紹介
– https://codecrafters.io/
– サービス本体
– https://app.codecrafters.io/catalog
– ドキュメント
– https://docs.codecrafters.io/introduction
– サービス稼働状況
– https://status.codecrafters.io/
– リポジトリ
– https://github.com/codecrafters-io

### GitHubアカウントと連携

CodeCraftersを利用するにはGitHubアカウントでログインする必要があるので、その対応を行っていきます。

まずは、[製品紹介ページ](https://code

元記事を表示

[Google Sheets API] セル内の空白をまとめて削除する

Google Sheets API v4(Java)を使用して、
スプレットシートのセル値の前後の空白(スペース、改行、タブ等)を削除する方法
についてご紹介します。

メニュー:「データ」 ⇨ 「データ クリーンアップ」 ⇨ 「空白文字を削除」
で実行できる内容と同じです。
指定した範囲のセルをトリミング(trim)します。

コードを実行する際は、
[⧉[Google Sheets API] Google Sheets API v4をJavaで操作する](https://qiita.com/doran/items/3d43f776188b2281044c)
を参照ください。
“`
例:requests.add(moveDimension(sheetId)); //実行したいリクエストのMethodを指定
“`
|No||目次|
|—|—|—|
|1||[セルのトリミング](#1-セルのトリミング)|
||1|[範囲を指定した場合](#11-範囲を指定した場合)|
||2|[範囲を指定しない場合](#12-範囲を指定しない場合)|

## 1. セルのトリミング
トリ

元記事を表示

【初心者向け】Javaの変数~参照型~

## :pushpin:前回の記事はこちら
https://qiita.com/nukoxo/items/5d9d72f3e451a9afb781

## :ledger:参照型とは
基本データ型は変数に直接データが代入されますが、参照型は異なります。

変数に代入されるのは`データが置かれているメモリ上の場所(アドレス)`となります。

コードサンプルを見てください
~~~java:基本データ型
int sum = 12;
~~~
こちらのコードには`sum`という変数に`12`という数字データが
直接代入されています。

~~~java:参照型(文字列)
String name =”あいう”;
~~~
私たちには「あいう」と見えていますが
実際には「あいう」という文字列が代入されているのではなく
「あいう」という`データが格納されている場所(メモリ)の参照値`が入っています。

代入された値自体はメモリの別の場所に保存されています。

## :ledger:変数のまとめ

データ型変数や参照型変数を紹介してきました。

プログラム内で文字や数値などのデータを扱うには変数が必要です。

元記事を表示

再帰とは

# 再帰とは
あるメソッド内で自身のメソッドを呼び出すことを再帰という。
## 例:1から10までを足した値を再帰を使って出力する処理
“`java
public class java01 {

public static void main(String[] args) {
System.out.println(func(10));

}

static int func(int n) {
if (n == 0) {
return 0;
}
else {
return n + func(n – 1);
}
}
}
“`
## 処理の流れ
1.メインメソッドでfuncメソッドを呼び出す
2.メインメソッドから受け取った値をifで条件分岐
3.受け取った値は10なのでelseに入り、funcメソッドを10回呼び出す

“`java
10 + func(10-1), 9 + func(9-1), 8 + func(8-1), 7 + func(7-1), 6 + func(6-1),
5 + func(5-1), 4 + func(4-1

元記事を表示

標準提供クラス

標準提供クラスはJava言語が提供しているクラスです。
importをせずとも変数の宣言など様々な機能を使用できるのは標準提供クラスがあらかじめ実装されている為です。
ただし、java.langパッケージもimport無しで利用する事が出来ます。

# 参考文献

【Java入門】1分で理解する標準クラスとは?

元記事を表示

JavaでOptionalを使用してみる

# 1. はじめに
* JavaでOptionalの使い方を理解したい

# 2. 開発環境
* Java 21

# 3. Optionalの生成
* 3つのファクトリメソッドのいずれかから生成する

| メソッド | 備考 |
| :— | :—: |
| of(T value) | Optionalを生成。値がnullの場合はNullPointException。 |
| ofNullable(T value)) | Optionalを生成。値がnullの場合は空のOptional。 |
| empty() | 常に空のOptional。 |

* NullPointExceptionにならないからといって何も考えずにofNullable()を利用してはいけない
* 本来NULLになっては行けない場合にof()を使っておけばnullチェックになる
* 自然にNULLが考えられる場合はofNullable()を使用する

# 4. Optionalのメソッド
* Optionalで値を取り出すときは、次の4つのメソッドを使用する
* 値が存在しなかった場合の振る舞いが違うの

元記事を表示

【Java】プログラム作成練習問題 4

# 問題
int型の変数nが0まで1ずつ増減するプログラムを作成せよ。
nが正の場合は減り、負の場合は増えていくこと
## 解答
“`java
public class java01 {

public static void main(String[] args) {
int n = -5;

if (n > 0) {
for(int i = n; i >= 0; i–) {
System.out.println(n);
n -= 1;
}
} else {
for (int i = n; i < 0; i++) { n += 1; System.out.println(n); } } } } ``` ## 模範解答 ```java public class Exercise_004 { public static void main(String[] args) { int n = -5; if (n > 0) {
for (in

元記事を表示

[androidアプリ]AWSのAPIgateway + Cognito (Userpool + Idpool)を使用してみる

## はじめに
Cognito認証を使用した各種サービスへのアクセスに非常に困惑したので備忘録として情報を記載する.
特にAWSMobileClientの仕様が理解できておらず困惑したので書き留めておく.

## 何をするか
android環境で,APIgatewayに3つの状況でリクエストを送信する.
– 1.認証・認可なしの場合
– [こちらの記事](https://qiita.com/sanjolin_chun/items/832fb1c6edfb3ea10ed5)
– 2.AWS cognito userpoolを使用する
– [こちらの記事](https://qiita.com/sanjolin_chun/items/7d95184a355b9141c9cb)
– 3.AWS cognito userpool + idpoolを使用する
– いまここ

本記事では,2のCognito UserpoolとIdpoolをセットアップして,IDフェデレーションする場合について解説する.
Amplifyは使用しない.また,前提条件として,[前回記事](http

元記事を表示

Javaにおけるシングルクォートとダブルクォートの違い

シングルクォートで囲まれた文字は1文字のみを表し
ダブルクォートで囲まれた文字は複数の文字であることを示す。
1文字だけ変数に代入したい場合は
“`java
char a = ‘a’;
“`
これでOK。

しかし、以下の場合は1文字限定のシングルクォートに対して複数の文字を代入しようとしているため
コンパイルエラーが発動される。
“`java
char a = ‘aaa’
“`

上記のように複数の文字を変数に代入したい場合は
“`java
String a = “aaa”
“`
とすればOK。

元記事を表示

試験項目表作成時のメモ

## SI:試験項目表作成
### 粒度について
粒度は、具体性と言い換えられる。
つまり、どれくらい具体的に試験条件を指定して、試験実施するかを粒度という。

### バリデーションについて
①全命令網羅 ②decision網羅 ③condition網羅 ④multiple conditionをベースに作成する。
ex)
“`java
if(age >= 0 && age < 18) { return true; } ``` ①のケース:exで記載されている2つの条件が実施されるケース。 入力値が10であるとき、当てはまる。 ②のケース;真と偽のケースが実施される。 入力値が10と-5であるとき、当てはまる。 ③のケース:それぞれの条件が真と偽になるケース。 入力値が20,-5であるとき、当てはまる。 ④のケース:真&偽、真&真、偽&真が実施される。 入力値が20,10,-5であるとき、当てはまる。 ## UT:試験項目表作成 ### 境界値を設定 境界値とは、ある値を境に処理が変わる場合に使用される値。 ex) ```java if(age >= 0 && age < 1

元記事を表示

初期化について

# 問題
1から10までの和を求めるプログラムを作成せよ。
ただし、for文を用いること。

という問題を解いた際、以下のエラーが出ました。
Exception in thread “main” java.lang.Error: Unresolved compilation problems
私が書いた解答コードは以下です↓

“`java
public class java01 {

public static void main(String[] args) {
int n;

for (int i = 1; i <= 10; i++) { n += i; } System.out.println(n); } } ``` 原因は変数宣言時にnに値を代入していないことによるコンパイルエラーでした。 変数宣言時に初期化しないで変数を参照するとコンパイルエラーになると今回の問題で 学べることができました。 あざした!!!

元記事を表示

[Google Sheets API] セルの「交互の背景色」を追加・更新・削除する

Google Sheets API v4(Java)を使用して、
スプレットシートのセルの色を交互にする方法とその更新・削除
についてご紹介します。

**交互の背景色とは**
シートメニュー:「表示形式」 ⇨ 「交互の背景色」で設定できる機能です。
簡単にセルの行の色を交互に設定することができます。

コードを実行する際は、
[⧉[Google Sheets API] Google Sheets API v4をJavaで操作する](https://qiita.com/doran/items/3d43f776188b2281044c)
を参照ください。
“`
例:requests.add(moveDimension(sheetId)); //実行したいリクエストのMethodを指定
“`
|No|目次|
|—|—|

元記事を表示

Intellij IDEA での(ビルドツールを使わない)Jarの生成方法

## 一連の流れ
1. プログラムを作る
1. ビルド前準備
1. ビルド
1. 完成!!

#### 環境
– windows 7 (x86)
– Intellij IDEA 2018.2.8
– Java 8
:::note alert
これはビルドツール(Gradle、Maven、Ant)を使用しないJarの生成方法です!
通常Jarファイルを生成する際は必ずどれかのビルドツールを使用しましょう!
そのほうが拡張もし易く、他のJarにも生かし易くなります!
:::

## ビルド前準備
1. [プロジェクト構造] – [成果物] を選択して、「+」をクリック
1. 出てきたポップアップの内「Jar」 – [依存関係を持つモジュールから] をクリック
1. 「モジュールからJAR生成」ウィンドウが開くので、「メイン・クラス」横の枠内にある薄いフォルダマークをクリックするとmainメソッドを持つクラス一覧が表示される
1. その中からメインクラスに設定したいクラスをクリック
1. 「OK」をクリックすれば

## ビルド
1. 上部メニューの [ビルド] – [成果物のビルド(bu

元記事を表示

GraalVM を使って WebAssembly を実行してみる

Zenn にも書籍として公開しています.
読みやすい方で読み進めていただけたらと思います.
Zenn の方が最新版です.

https://zenn.dev/caunus/books/graalvm-introduction

## この記事の目的

GraalVM ずっと触ってみたかったんですが,WebAsssembly 周りの実装が増えてきていることで万を持して動かしてみることにしました!

こちらの記事では,公式ドキュメントに従って GraalVM を動かしてみた結果と実装例,コメント等を残します.

:::note info
こちらの記事を参考にして GraalVM を活用した Java プロジェクト開発 & WebAssembly 埋め込みの基礎を学ぶことができます.
Java が初めての方も含め,なるべく誰でも手を動かして動作を再現できるように記載しています.
:::

:::note warn
GraalVM の基本機能紹介から行うので,WebAssembly 連携だけ気になる方は [WebAssembly (Wasm) 連携する](#webassembly-wasm-連

元記事を表示

JCPに登録してみた

# JCPに登録した経緯
先日のJJUGで、Java Community Processについてお話があったので、実際に登録してみました。
JCPについての説明はこちらの動画をご覧ください。
[JJUG ナイトセミナー JCP特集](https://www.youtube.com/live/LiFt9x3sdWs?si=A10l-u5BGWuEsKu__)
# 登録の流れ

## 1. Oracle Accountの作成

[Oracleホームページ](https://www.oracle.com/jp/)

画像

ファイル名

アカウントを表示 -> アカウントを作成

ファイル名JavaでPDF を印刷する

PDF形式は、異なるプラットフォームやアプリケーションで一貫した表示が可能であり、さまざまな文書を簡単かつ正確に共有するための便利な形式です。PDF印刷では、用紙サイズ、品質、グレースケールなどのさまざまなオプションを設定し、印刷前にドキュメントをプレビューすることができます。同様に、プログラミングによってさまざまな方法でPDF印刷を実現することができます。以下はコードの説明とサンプルコードです。
## ツール
* IntelliJ IDEA 2018 (jdk 1.8.0)
* [Free Spire.PDF for Java](https://jp.e-iceblue.com/introduce/free-spire-pdf-for-java.html)
## Jarファイルの導入
* [Free Spire.PDF for Java](https://jp.e-iceblue.com/download/free-spire-pdf-for-java.html)をダウンロードして解凍します。
* IDEAで新しいプロジェクトを作成します。
* 「File」>「Project Str

元記事を表示

OTHERカテゴリの最新記事