- 1. Javaで「絶対値を取得する」の動作を確認してみた
- 2. 【Android Java】リスナーを脳みそに叩き込む
- 3. スッキリわかるサーブレット&JSP
- 4. 【Java・学習ログ⑧】インスタンスとクラス機構
- 5. ミニ生命保険システムを作成 S03
- 6. Javaで「抽象クラスの継承」の動作を確認してみた
- 7. Androidアプリ開発 – プロジェクト構成のメモ
- 8. Kotlinで可変長のリストを作成する方法
- 9. Javaで「スーパークラスの変数を使う」の動作を確認してみた
- 10. ミニ生命保険システムを作成 S02
- 11. Java 基本の復習 part.2
- 12. スッキリわかるJava入門 実践編 第3版 まとめ – part1 -インスタンスの基本操作
- 13. DockerでSpring boot起動するまでの手順
- 14. Javaで「メソッドのオーバーライド」の動作を確認してみた
- 15. Mavenのプロキシ設定
- 16. Eclipseでpropertiesファイルを編集すると文字化けしたみたいになる
- 17. [Android] 非RootかつJavaのみでJavaの関数をフックする
- 18. EclipseからGitへ接続しようとして「レポジトリ名: git-receive-pack not permitted on」のエラーが出た時の解決案の一つ
- 19. Javaの文字列置換処理まとめ
- 20. スッキリわかるJava入門 第3版を読んでみて- part18 -まだまだ広がるJavaの世界
Javaで「絶対値を取得する」の動作を確認してみた
# 概要
Javaで「絶対値を取得する」の動作を確認してみました。以下のページを参考にしました。
https://www.javadrive.jp/start/math/index1.html
# 実装
以下のファイルを作成しました。
“`JSample1_1.java
class JSample1_1{
public static void main(String[] args){
int i1 = 24;
int i2 = -18;
System.out.println(i1 + ” -> ” + Math.abs(i1));
System.out.println(i2 + ” -> ” + Math.abs(i2));double d1 = 14.53;
double d2 = -7.224;
System.out.println(d1 + ” -> ” + Math.abs(d1));
System.out.println(d2 + ” -> ” + Math.abs(d2));
}
}
“
【Android Java】リスナーを脳みそに叩き込む
## リスナーを毎回ググってた
私は、リスナーを実装するときに毎回ググっていたのですが、
リスナーくらいは空で書けるようになりたいな、と思って実装手順を叩き込みたいと思いました。初学者にとって最初につまずくポイントなんじゃないでしょうか。
リスナーの説明で、よく、`onclickListener`を例に説明がされますが、既存のlistenerを例に出されてもよくわかんないなと、思ってたので、今回は、自分で作るカスタムリスナーを例に説明していきます。## この流れさえ覚えちゃえばOK!リスナー実装手順を覚える
1 インターフェースを作成する2 リスナーを実装する
3 リスナーオブジェクトを作成し、リスナーと関連付ける
4 イベントが発生した際の処理を記述する
## リスナー実装の手順を箇条書きで詳細に
1 インターフェースを作成する
– リスナーのインターフェースを作成する
– このインターフェースには、リスナーが実装するメソッドが含まれる (今回は`onCustomEvent()`というメソッドを作ることにした)
“`java
// MyCustomListener
スッキリわかるサーブレット&JSP
# 学習振り返り
現在10章のdokoTubuを製作中# 3章まとめ
1章、2章ではサーブレット、JSPにあまり触れないので3章から開始
まずはeclipseでServletの作成“`java
package servlet;import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;@WebServlet(“/Login”)
public class Login extends HttpSe
【Java・学習ログ⑧】インスタンスとクラス機構
教本に沿ってやってみたシリーズ、『第9章』です。
≪使用教材≫スッキリわかるJava入門 第3版 スッキリわかるシリーズ## インスタンスとクラス機構
* ヒープ
プログラムを実行する際にJVMが準備する大量のメモリ領域のこと。インスタンスの情報を格納するためのもの。必要とする容量に従って大きくなる。“`java
public class Main {
public static void main(String[] args) {
Hero h; //Hero型の変数hをメモリ内に用意
h = new Hero(); //1、Heroインスタンスを生成
//2、インスタンスが生成されたメモリの先頭番地がhに代入される(参照)
h.hp = 100; //hに格納されているhpに100を代入(アドレス解決)
“`* インスタンスの独立性
同じクラスから生まれた異なるインスタンス(例…h1,h2)が互いに影響しあわないこと。* has-aの関係
あるクラスが別のク
ミニ生命保険システムを作成 S03
# はじめに
今回はGateway、Sales、Underwritingを実装します。アプリケーション間の呼び出し方法を説明する。# Underwriting を実装する
UnderwritingとProductは同じ方法で実装される。ただしこの場合、Product は他のアプリケーションを呼び出すことはなく、Underwriting はいくつかの査定ルールを実装するために Product を呼び出します。そのため、Underwriting は依存関係 spring-cloud-starter-openfeign を追加する必要があります。## スタートアップクラス
“`java
package com.insurance.life.underwriting;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.clien
Javaで「抽象クラスの継承」の動作を確認してみた
# 概要
Javaで「抽象クラスの継承」の動作を確認してみました。以下のページを参考にしました。https://www.javadrive.jp/start/abstract/index2.html
# 実装
以下のファイルを作成しました。
“`CTest20.java
class CTest20{
public static void main(String args[]){
seihinA c = new seihinA();c.dispName();
}
}abstract class base{
abstract public void dispName();public void dispCompany(){
System.out.println(“XYZ社製造の製品です”);
}
}class seihinA extends base{
public void dispName(){
System.out.println(“製品名はXXXです”);
}public void disp
Androidアプリ開発 – プロジェクト構成のメモ
# 概要
数年前の新卒時代に書いていた下書き記事があったので供養です。
ここしばらくAndroid触っていなかったので、思い出すにはちょうどいいかも。# Androidアプリの開発
Androidアプリ開発の備忘録を書いていく.# 環境
Android Studio 3.5(2019 年 8 月)
OS : Windows10# Android アプリ開発の概要
処理をJAVAクラスに,画面構成をXMLに記述する.
JAVAクラスをアクティビティ(Activity),xmlファイルをレイアウトファイルと呼ぶ.# プロジェクトの準備
空のアクティビティーで作成する.
![イメージ872.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/245300/cecdc1ae-6059-0917-af70-1c056dbe29bc.jpeg)# プロジェクトの構成
プロジェクトを作成して,Run Buildが完了したら,以下のような構成になる.
![image.png](https://qiita
Kotlinで可変長のリストを作成する方法
Kotlinでは、可変長のリストを作成するために、ArrayListとmutableListOfという2つのクラスが用意されています。どちらもリストの要素を追加や削除したり、インデックスでアクセスしたりすることができますが、内部的な実装や機能に違いがあります。この記事では、それぞれの特徴や使い方について解説します。
## ArrayList
ArrayListはJavaのjava.util.ArrayListクラスを継承したクラスです。そのため、Javaとの相互運用性が高く、Javaのメソッドやライブラリを呼び出す際に便利です。また、コンストラクタで初期容量を指定できるため、メモリ効率が高いです。しかし、要素の型を明示的に指定しなければならないため、コードが冗長になる可能性があります。
### 使い方
ArrayListを使うには、以下のように書きます。
“`kotlin
// ArrayListを宣言
val list = ArrayList() // 要素の型を指定 // 要素を追加
list.add(1)
list.add(2)
list.add(3)
Javaで「スーパークラスの変数を使う」の動作を確認してみた
# 概要
Javaで「スーパークラスの変数を使う」の動作を確認してみました。以下のページを参考にしました。https://www.javadrive.jp/start/extends/index6.html
# 実装
以下のファイルを作成しました。
“`CTest19.java
class CTest19{
public static void main(String args[]){
superClass obj[] = new superClass[3];obj[0] = new subClassA();
obj[1] = new subClassB();
obj[2] = new subClassC();for (int i = 0 ; i < 3 ; i++){ obj[i].dispName(); } } } class superClass{ public void dispName(){ System.out.println("未定義です"); } } class su
ミニ生命保険システムを作成 S02
# はじめに
今回はProductを実装します。ただ先にアプリケーションを起動させるだけです。 ビジネスロジックはその後に実装する。# 開発環境
– macOS Ventura
– Jdk 20
– IntelliJ IDEA 2023.2 (Community Edition)# Service Discoveryを実装する
Spring Cloudを使うので、Service Discoveryのことも忘れて一緒に実装するわけにはいきません。このサイトを開く: https://start.spring.io/ Dependenciesを追加します。
![Eureka.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3554924/ba07983c-675c-e332-f64c-3908e19f89be.png)
GENERATEボタンを押すとプロジェクトが完成するので、ideaでインポートします。## Directory 構造
application configuration
Java 基本の復習 part.2
備忘録
某学習アプリでJavaの勉強をしており、
復習を兼ねて当記事にまとめて行きます。# 真偽値
boolean型というデータ型
扱う内容は2つだけ「true」「false」の2択。“`:boolという変数にtrueを代入の例
boolean bool = true;
“`# 比較演算子
比較演算子とは計算式のようなもの。
「==」・・・「=」と同じ意味
「!=」・・・「≠」と同じ意味じゃあどうやって使うの??
下記で簡単な例を。。。。“`:
6+2==5 ・・・計算式が正しくないのでfalse
6+2!=5 ・・・計算は正しくないが「≠」なのでtrue
6/3==2 ・・・計算式が正しいのでtrue
6/3!=2 ・・・計算は正しいが「≠」なのでfalse
“`# 真偽値を出力しよう
“`:真偽値出力
System.out.println(true);
System.out.println(false);
System.out.println(6+2==5);
System.out.println(6+2!=5);
“`“`:結果
スッキリわかるJava入門 実践編 第3版 まとめ – part1 -インスタンスの基本操作
#はじめに
こんにちは ◤●ㅅ●◥ノ
入門編に続いて実践編のアウトプットとして記事を書いて行こうと思います!今回はインスタンスの基本機能について学びました!
## 第1章 インスタンスの基本操作
Javaでは自分でたくさんのクラスを作る必要があります
⇨すべてのクラスについて共通して利用できる汎用的な仕組みが用意されています
⇨すべての開発シーンで手助けしてくれるインスタンスの基本機能について学んでいきます### 1.インスタンスの5大基本操作
:thinking:そもそもインスタンスとは?
クラスという型から作り出された実体のことJavaにおけるすべてのクラスは継承関係を親へ辿っていくとJava.lang.Objectに行き着く
:star:Objectクラスがあることのメリット
1.すべてのクラスはObjectクラスで定義されたメソッドを持つことが保証される
2.Object型変数には、あらゆるインスタンスを代入可能多くのインスタンスに共通する5つの操作
![スクリーンショット 2023-09-12 11.53.51.png](https://qiita-im
DockerでSpring boot起動するまでの手順
DockerでSpring boot起動するまでの手順として、`docker compose up -d`でコンテナを起動してから以下のコマンドでspring bootのコンテナに入ります。
“`
docker compose exec [service名] /bin/bash
“`
コンテナに入ってからルートディレクトリで、以下のコマンドでspring bootを起動することができます。
ちなみに、今回のspring bootプロジェクトのビルドツールはMavenを採用しています。Java関連で調べているとGradleを使った記事がやや多いように感じました。“`
./mvnw spring-boot:run
“`
Javaで「メソッドのオーバーライド」の動作を確認してみた
# 概要
Javaで「メソッドのオーバーライド」の動作を確認してみました。以下のページを参考にしました。
https://www.javadrive.jp/start/extends/index5.html
# 実装
以下のファイルを作成しました。
“`CTest17.java
class CTest17{
public static void main(String args[]){
C c = new C();
c.disp();
}
}class A{
public void disp(){
System.out.println(“電化製品です”);
}
}class B extends A{
public void disp(){
System.out.println(“エアコンです”);
super.disp();
}
}class C extends B{
public void disp(){
System.out.println(“三菱製です”);
super.di
Mavenのプロキシ設定
## 事象
### Eclipseで新規Mavenプロジェクトを作成するとエラーになる
### エラー例:Mavenプロジェクトの場合
:::note alert
message alert Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart:RELEASE from any of the configured repositories. ::: :::message alert CoreException: Could not calculate build plan
:::などが出る。
### エラー例:Springプロジェクトの場合
:::note alert
message alert Description Resource Path Location TypeProject build error:
Non-resolvable parent POM for com.example:WorkTimeRegister:0.0.1-SNAPSHOT
Eclipseでpropertiesファイルを編集すると文字化けしたみたいになる
## 事象
eclipseで編集し日本語を書いて保存した際、以下のようになり読むことができない。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/243523/f625be76-b5ba-d70e-9bbc-f82991816306.png)
“`
MESSAGE1 = \u3051\u3044\u3053\u304f
MESSAGE2 = \u8b66\u544a
“`
[Unicode Escape Sequence | KWONLINE.ORG](https://www.kwonline.org/u_esc_seq.php)## 原因
実際は文字化けではなく文字コードに変換されていて `System.out.println();`すると日本語が出る。
eclipseで実行すると勝手にnative2ascii(ねいてぃぶあすきー)というツールを使い
自動で変換を行うため、このようになってしまう。
※ サクラエディタで編集すると回避できる。## 対処方法
native2
[Android] 非RootかつJavaのみでJavaの関数をフックする
# はじめに
Javaでも関数フックを出来たら面白いんじゃないかと思ったのでやってみました。# 環境
・Android 11(実機)
・非Root# フック前の下準備
まず、簡単なライブラリを作っていきます。
フォイル/フォルダ構成はこんな感じ“`java:title
…
jinterceptor
┗ EvacuatedMethodStorage.java
┗ Interceptor.java
┗ Memory.java
┗ ArtMethod.java
┗ Reflection.java
┗ Unsafe.java
…
MainActivity.java
…
“`
### 以下説明とソース
“`java:EvacuatedMethodStorage.java
public class EvacuatedMethodStorage {private static int mReferencedCount = 0;
public static int referencedCount(){
EclipseからGitへ接続しようとして「レポジトリ名: git-receive-pack not permitted on」のエラーが出た時の解決案の一つ
# 結論:SSHを利用した方法で登録できた。
「`作成したローカルレポジトリ名.git: git-receive-pack not permitted on`」
のエラーに対して、さまざまな方法を試みたが、アクセストークン→SSHの利用に切り替えることで、GitHubへの接続ができた。https://qiita.com/ikumi1025193/questions/59ec1894f747af722df0
## 試行した方法
**Gitの基礎的な登録方法**
https://yuta-iwase.github.io/doc/pdf/github_tutorial.pdf
**macOs使用時の認証エラーへの対処**
https://byunsangho.hatenablog.com/entry/20130524/1369370791
**登録手順解説動画**
## 環境
*macOS Ventura Ver.13.5.1
*Eclipse IDE Ver.4.28
Javaの文字列置換処理まとめ
よく使用するJavaでの文字列置換の方法をまとめます。
# replace()
文字列⇒文字列の置換。“`
String str = “今日の天気は晴れです。”;
str.replace(“晴れ”, “雨”);
System.out.println(str.replace(“晴れ”, “雨”)); // 今日の天気は雨です。
“`# replaceAll()
正規表現⇒文字列の置換。“`
String str = “今日の降水確率は30%です。”;
String str2 = str.replaceAll(“\\d{1,2}”, “80”);
System.out.println(str2); // 今日の降水確率は80%です。
“`# String.format()
書式文字列を任意の値で置換することができます。
文字列を挿入する時は、「%s」を使用します。“`
String str = String.format(“担当者は%sさん”, “鈴木”);
// 担当者は鈴木さん
“`複数の文字列を挿入する場合は、書式文字列の数分の置換後文字列を引数
スッキリわかるJava入門 第3版を読んでみて- part18 -まだまだ広がるJavaの世界
# はじめに
こんにちは ◤●ㅅ●◥ノ
今回はスッキリわかるJava入門の最終章となります。
この章ではさらに高度なJavaプログラミングの世界と可能性について学びました!## 第18章 まだまだ広がるJavaの世界
### 1.ファイルを読み書きする
多くのプログラミング言語はファイルを「少しずつ読んだり書いたり」するための機能を備えている
→ __ストリーム__ という考え方が必要になるストリーム…イメージは情報が流れてくる小川
テキストファイルから文字を読み込む…java.io.FileReader
ファイルに文字を書き込む…FileWriterjava.ioパッケージにあるさまざまなクラスを活用すると、より高度な入出力処理が可能になる
### 2.インターネットにアクセスする
インターネット上のWebページの内容を取得するためにJavaはjava.netパッケージのクラスを使う
↓例
“`
import java.io.InputStream;
import java.net.URL;public class Main{
public