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

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

JavaSilverを受験した感想

# はじめに

先日JavaSilver SE11を受験して合格したため、受験した感想や注意点などを共有できればと思い記事を書いてみました。
プログラミングの経験は、学校でC・Pythonを学習しており、インターンで少しRailsを使ってWebアプリケーションを作成した経験がある程度の初心者です。

# 勉強方法

私は記憶力があまり良くないので、なるべく多く問題に触れることを意識して最低でも3周は黒本を回して学習を行っていました。具体的な学習方法は下記のとおりです。

– やさしいJavaを軽く1周してJavaの基礎構文について学習
– 黒本の各章ごとに問題を解いたら答え合わせを行い理解を深める
– わからなかったことや大切だと感じたことをNotionにまとめて、いつでも確認できる状態を作る
– 間違えた問題全てに付箋を貼り、なぜその答えになるのかを説明できるようになったら付箋を取る
– スプレッドシートで解答用紙を作成して正答率を毎回出すことで現状を常に把握する

# 使用した書籍

– やさしいJava
– 黒本

# 注意点

– 動作が激烈に重いです

自宅でオンライン受験

元記事を表示

Google Play Core ライブラリの更新と対応

# 背景
Androidアプリリリース時に、こんなメールが来ました。

> Google Play Core (com.google.android.play:core) has added this note for SDK version 1.10.3:
Update your Play Core Maven dependency to an Android 14 compatible version! Your current Play Core library is incompatible with targetSdkVersion 34 (Android 14), which introduces a backwards-incompatible change to broadcast receivers to improve user security. As a reminder, from August 31, Google Play requires all new app releases to target Android 14. Update to the l

元記事を表示

JavaでWebアプリを作成しているときにCSSが反映されずに躓いた話

## 目次
1. [はじめに](#はじめに)
2. [解決に向けた取り組み](#解決に向けた取り組み)
1. [CSSファイルの配置確認](#1-CSSファイルの配置確認)
2. [ログの確認](#2-ログの確認)
3. [解決方法](#解決方法)
4. [まとめ](#まとめ)
5. [あとがき](#あとがき)

## はじめに

現在、Javaを勉強中で、サンプルのWebアプリケーションを作成しています。
その中で、Spring Securityを使用してログインページを作成しましたが、CSSが反映されない問題に遭遇しました。
本記事では、その解決方法について説明します。

## 解決に向けた取り組み

### 1. CSSファイルの配置確認

CSSファイルが正しいディレクトリに配置されていない可能性があると思い、配置を確認しましたが、`src/main/resources/static/css`に配置してありました。

### 2. ログの確認

ログを確認したところ、以下のような記述がありました。

“`
o.s.security.web.FilterCha

元記事を表示

Javaでゲーム開発をしようVol.1 ~準備編~

## はじめに
Nagominです。
初投稿です。

Javaを習ったので、何かできないかと思い文法の復習がてら簡単なゲームを作成してみようと思いました。
いろいろ調べてみるとそもそもJavaはゲーム開発にあまり向いていない…ということのようでしたが、(ゲーム開発といえばC++な気がします)あのMinecraftもJavaでできているそうなので方法はあるはずです。
そこでマイクラでも採用されているLWJGLというライブラリを使用して作ってみることにしました。
このLWJGLというライブラリですが、公式ドキュメントは全て英語で、ネットを検索してもあまり日本語の情報が出てきません。
さらに最初の環境構築で詰まったので今回ブログでまとめてみようと思った次第です。

## 開発環境
VSCode
Java OpenJDK Temurin-21.0.2
LWJGL 3.3.3

## そもそもLWJGLとは?
[はじめに]でも少し書きましたがJavaでゲームを開発するためのライブラリです。
https://www.lwjgl.org/
上記が公式サイトです。少し翻訳して引用すると

> LW

元記事を表示

Java3

## アノテーション

@ を付けて追加情報を書き込む機能。
アノテーションを付けて、付加情報(メタデータ)を付けると、
コード検査、コード生成、特別な処理を実行することが出来ます。

コードを見通しをよくし、保守性や拡張性を高める役割を持っています。

“`Java
@Autowired //@がついてるやつ
private SampleService sampleService

“`

FWであるSpringではアノテーションを使って効率化を図ったりしています。

https://qiita.com/yuto-hatano/items/69d01343f710117e4243

https://bizroad-svc.com/blog/java-annotation/#:~:text=Java%E3%82%A2%E3%83%8E%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A8%E3%81%AF%E3%80%81%E3%82%B3%E3%83%BC%E3%83%89,%E5%87%A6%E7%90%86%E3%82

元記事を表示

Java2

# List

配列とは違うものとして扱うらしい。
変数定義の時はintでいいが、classの型を指定する時にはInteger。
<クラス型>とよばれることがあるIntegerであるが、
int型をメソッドとして使用できるラッパークラスと呼ばれることもあります。

“`Java
// List
List list1 = new ArrayList<>.(Arrays.asList(“a”,”b”,”c”,”a”);

//回す
for(String s:list1){
//処理内容
}

//sort
Collections.sort(list1.Collections.reverseOrder());
for(String s:list1){
//処理内容
}
“`

独自のList
“`Java
List staffList = new ArrayList<>();
// ArrayListの<>は型を書いてもいい。書かなくても省略形としてがはいることになる??

//Staffはこんな感じ
public class Staff

元記事を表示

Javaコメントの書き方・種類

# 概要
### このページでわかること
+ コメントの種類と使い方

### 覚えておきたいこと
* コメントの書き方

# コメントとは
+ プログラミングでは、処理と関係のないメモをコメントとして残しておくことができる
+ 使い方
+ どんな処理をしているのかの説明
+ プロジェクトで定められているルールに基づいて
+ コメントがあることで他の人がコードを読みやすくなる(可読性の向上)
+ 時間が経ったあと自分で見返したときにすぐ処理を理解できる

# コメントの種類
+ 本記事では3種類のコメントの書き方を紹介する

“`java:1行コメント
// ここはコメントとして処理されます
“`

“`java:複数行コメント
/*
* ここも
* ここも
* ここもコメントとして処理されます
*/
“`

“`java:Javadocコメント
/**
*
* 複数行コメントと同じように
* コメントとして処理されます
*/
“`
:::note
Javadocコメントは、その他のコメントと同じように実行する際に無視され

元記事を表示

Javaで「文字列を数値に変換する」の動作を確認してみた

# 概要

Javaで「文字列を数値に変換する」の動作を確認してみました。
以下のページを参考にしました。

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

# 実装

以下のファイルを作成しました。
“`JSample12_1.java
class JSample12_1{
public static void main(String[] args){
String si = “42”;
String sd = “2.84”;
String sb = “false”;

int i = Integer.parseInt(si);
double d = Double.parseDouble(sd);
boolean b = Boolean.parseBoolean(sb);

System.out.println(i);
System.out.println(d);
System.out.println(b);
}
}
“`

“`JSample

元記事を表示

Javaプログラミングの注意点と文字の出力

# 概要
### このページでわかること

– プログラミングする際の注意点
– 文字を出力するパターンを2つ知る

### 今回に覚えておきたいこと
– プログラミングの注意点
– `println`と`print`の二つ

# Javaプログラミングの注意点
1. 全角と半角に注意する
+ プログラムの中でこれらは区別される(全部全角で書くとエラーが起きる)
+ 全角と半角は文字だけでなくスペースにも注意する→スペースを開ける時は半角を使う(””の中では全角でも大丈夫)
2. 大文字と小文字を区別する
+ javaと JAVAの意味は違う
+ プログラムを記述する際に大文字と小文字を指示通り使い分ける
3. カッコをきちんと使い分ける
+ (){}[]といったカッコがあるが、それぞれ役割が異なるため指示通り、必要な場所で必要なカッコを使う
4. 事前に予約されている言葉がある
+ do、if、importといった言葉はあらかじめプログラムの中で役割が決められている言葉である(これを予約語という)
+ 予約語を自分で命名するとき

元記事を表示

Rubyでオウム返しプログラミングの練習…

お久しぶりです。Javaの勉強し直してます。
Javaでオウム返ししろと言われましたが、手癖でRuby…

※注意事項。
→が、実行結果です。

“`ruby
cat oumu.rb
→puts gets.to_s

ruby oumu.rb
→1
→1
“`

では、この辺で…

元記事を表示

Javaで「数値を文字列に変換する」の動作を確認してみた

# 概要

Javaで「数値を文字列に変換する」の動作を確認してみました。
以下のページを参考にしました。

https://www.javadrive.jp/start/string/index11.html

# 実装

以下のファイルを作成しました。
“`JSample11_1.java
class JSample11_1{
public static void main(String[] args){
int i = 10;
long l = 12L;
double d = 7.82;
boolean b = true;

String si = Integer.valueOf(i).toString();
String sl = Long.valueOf(l).toString();
String sd = Double.valueOf(d).toString();
String sb = Boolean.valueOf(b).toString();

System.out.println(si);

元記事を表示

これであなたもマルチリンガル!?色んな言語であいさつしてみよう

# はじめに
みなさん,言語を学び始めるときにはじめに覚えるものはなんですか?そう!**『あいさつ』** です.これは自然言語に限らず,プログラミング言語でもそうです.どんな言語もまずは`Hello World!`の出力方法から学ぶはずです!!っということで,今回は全何種の言語であいさつをしてみましょう.この記事を読めばあなたもマルチリンガルになっているはずです^^

# 人気言語10選
ここに書かれているランキングですので,自分にとっての好きな言語ランキングなどあれば,コメントに書いておいてください!!

https://codezine.jp/article/detail/19530#:~:text=2024%E5%B9%B4%E4%BA%BA%E6%B0%97%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E3%83%A9%E3%83%B3%E3%82%AD%E3%83%B3%E3%82%B0%E3%81%AF%E3%80%811%E4%BD%8D

元記事を表示

Javaで「文字列を作成する」の動作を確認してみた

# 概要

Javaで「文字列を作成する」の動作を確認してみました。
以下のページを参考にしました。

https://www.javadrive.jp/start/string/index2.html

# 実装

以下のファイルを作成しました。
“`JSample2_1.java
class JSample2_1{
public static void main(String[] args){
String msg1 = “Hello”;

char[] c = {‘B’, ‘y’, ‘e’};
String msg2 = new String(c);

String msg3 = new String(msg1);

System.out.println(msg1);
System.out.println(msg2);
System.out.println(msg3);
}
}
“`
“`JSample2_2.java
class JSample2_2{
public static void main(St

元記事を表示

Files.move使用時、AccessDeniedExceptionが発生する

## Files.move()とは
ディレクトリの移動、もしくはディレクトリ名を変更する際に使用される
また、ファイル名の変更は「File.renameTo」でも可能である
~~Filesクラスが使用できるなら、Fileクラスは極力使用しないことをお勧めする~~

■ファイルを移動、ファイル名の変更
「C:\\tmp\\test.txt」を「C:\\tmp2」に移動、かつファイル名を「test2」に変更する
“`
val oldPath = Paths.get(“C:\\tmp\\test.txt”)
val newPath = Paths.get(“C:\\tmp2\\test2.txt”)
Files.move(oldPath, newPath)
“`
■ディレクトリを移動、ディレクトリ名の変更
「C:\\tmp」を「C:\\tmp2」に移動、かつファイル名を「test2」に変更する
“`
val oldPath = Paths.get(“C:\\tmp”)
val newPath = Paths.get(“C:\\tmp2”)
Files.move(oldPath, ne

元記事を表示

アジャイル開発にどう立ち向かえるか?

私はいくつかのアジャイル開発のPMを担当してプロジェクトが成功になり、自分にとってアジャイル開発が重要の存在です。最近以下の記事をみて、反論する気持ちが沸いて、アジャイル開発の成功要素をまとめてみたいです。

https://qiita.com/rana_kualu/items/eb308823193e9539f103#comments

“`「幸福な家庭はどれも似たものだが、不幸な家庭はいずれもそれぞれに不幸なものである」“`という言葉があって、同じく、“`「成功なアジャイルはどれも似たものだが、失敗なアジャイルはいずれもそれぞれに失敗なものである」“`も一理になるでしょう。この記事はアジャイル開発を試したい方のご参考になれば幸いです。

## どうするPMさん?
若いとき知り合いからの言葉ですが、「会社の営業さんが努力してお客さんと接触できて小さいプロジェクトからスタートして成功して信頼されて、発注がどんどん拡大されて、大規模のプロジェクトになると延期したり予算オーバーしたりいろいろトラブルが発生して、縁が切ってしまって、次のお客さんを探さないといけない」。

業務を分かる

元記事を表示

【トラブル】Eclipseで突如でデバッグできなくなる

## Eclipseって使ってますか?

こんにちは!私はJavaといえばEclipseという安直な考えでEclipseをいまだに使っています。
Spring BootとかならもうVS Codeかもしれませんが関係ありません。

## Eclipseがなぜこんなに嫌われているのか?

Eclipseは今はやりの`Copilot`も対応していないしボタンも多いしごちゃっとしていて使いづらいです。

ちょっと古めのPCだと重くて使い物になりません(32ビット時代が懐かしい。。)

## Eclipseでデバッグしようとしたら謎のアイコンが出現!

普段はコードの行の外側に青い丸でブレークポイントがあらわされるんですが

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280363/8e95b7b5-0531-cab8-e6ee-5188a61735d3.png)

いきなりこのようになってしまいました!

![image.png](https://qiita-image-store.s3.ap

元記事を表示

Javaのコンパイルとは 

# 概要
### この記事で何がわかる?
+ Javaのコンパイルとは何か
+ コンパイルの実行方法

### 今回で覚えておきたいこと
+ コンパイルの流れ

# コンパイルとは

– 「コンパイル」とはプログラミング言語を機械語に変換すること
– コンパイルのためのソフトウェアを「コンパイラ」という
– JavaはOSに依存しないシステム開発を実現している
– これは直接OSに合わせてコンパイルするのではなく、一度中間言語に翻訳し、その後それぞれのコンピュータのJVMのインタプリタが機械語に翻訳するという処理の流れ
– ソースコード→コンパイラ→中間言語→JVM→インタプリタ→機械語という流れ
– コンパイルすることによって中間言語に翻訳されるが、これがクラスファイル(javacコマンド実行後)
– その後javaコマンドを実行することでJVM後の処理が行われる

# 実際にコンパイルを行う流れ(windows)
1. textファイルでJavaのプログラムを作成(サクラエディタなど)
1. コマンドプロンプトにて`javac [ファイル名].java`というコ

元記事を表示

【オブジェクト指向】デザインパターンについて

## デザインパターンとは
JavaやRubyなどオブジェクト指向言語において、よく使われる設計をパターン化したものです。
これを用いることでプログラムが再利用しやすくなり、読みやすいものとなります。

## デザインパターンの種類
「GoF」のデザインパターンがあり、全23種の設計パターンに分けられており、大カテゴリーに分けると
「生産」「構造」「振る舞い」の3つに分けることができます。

+ 生産
+ [Abstract Factory](#abstract-factory)
+ [Builder](#builder)
+ [Factory Method](#factory-method)
+ [Prototype](#prototype)
+ [Singleton](#singleton)
+ 構造
+ [Adapter](#adapter)
+ [Bridge](#bridge)
+ [Composite](#composite)
+ [Decorator](#decorator)
+ [Facade](#facade)
+ [F

元記事を表示

Javaで「配列の文字列表現を取得する(toString,deepToString)」の動作を確認してみた

# 概要

Javaで「配列の文字列表現を取得する(toString,deepToString)」の動作を確認してみました。
以下のページを参考にしました。

https://www.javadrive.jp/start/array/index16.html

# 実装

以下のファイルを作成しました。
“`JSample16_1.java
import java.util.Arrays;

class JSample16_1{
public static void main(String[] args){
double[] src = {3.75, 0.52, 14.1};

System.out.println(src);
System.out.println(Arrays.toString(src));
}
}
“`

“`JSample16_2.java
import java.util.Arrays;

class JSample16_2{
public static void main(String[] args){
int

元記事を表示

なぜ0.8+0.9は1.7000000000000002なのか?

# あいさつと経緯
初めまして!
0.8+0.9って1.7でしょ?何言ってんの?っていう方もいるかもしれません。
このタイトルの背景は、私がこの業界に入って初めてJavaに触れた時、注意された言葉から来ています。
「計算処理ではBigDecimalを使用しなさい」
言われた方もいるのではないでしょうか?計算処理で誤差が出ないようにするためで理解している方は多いと思います。
この記事では、タイトルとBigDecimalの何が紐づくのかお話ししていこうと思います。

# なぜ0.8+0.9は1.7000000000000002なのか?
早速タイトル回収です。
タグにも入れましたが、基本情報技術者試験の勉強された/されている読者の方もいるでしょうか?

**2進数が今回のポイントになります。**

0.8+0.9は人間にとっては単純です。
ですが、パソコンはタイトルのように間違えます。

何が違うのか?
それは、計算方法です。

**人間は10進数**で0.8+0.9を計算しています。(違う進数で計算されている方がいたらすいません:bow_tone1:)
**パソコンは2進数**で0.8+0

元記事を表示

OTHERカテゴリの最新記事