JAVA関連のことを調べてみた2022年01月06日

JAVA関連のことを調べてみた2022年01月06日

AtCoder Beginner Contest 015をやった(Java)

AtCoder Beginner Contest 015をやった。
C問題は追記予定です。
できるか正直自信がないところです。

##[A](https://atcoder.jp/contests/abc015/tasks/abc015_1)
問題文記述の**必ず違う数字**というところに注意

“`Java
import java.util.*;

public class Main {
public static void main(String[] args) throws Exception {
Scanner scan = new Scanner(System.in);
String A = scan.nextLine();
String B = scan.nextLine();
if(B.length() < A.length()){ System.out.println(A); } else { System.out.println(B

元記事を表示

【Java文法】変数

こんにちは、コイキングです。

本記事では’変数’について、説明したいと思います。

***

# 1.変数とは?
![変数.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/862601/6b26df30-4a95-f141-babd-d43fb7ebf895.png)

変数は値を入れるための、箱のような役割をするものと言えます。
Javaでは数字・文字のようなデータタイプを指定し、変数を宣言します。
こちらは実生活で物を片付ける際に **同じ種類の物同士を箱に入れて整理する** と思ってもらうとオッケーだと思います。

# 2. 変数の宣言
変数を宣言する方法は以下のようです。

“`
// [データタイプ] [変数名];
int var_int_1;
“`

変数が宣言だけされている状態では変数に値が入っていないため、変数の値を出力するなどのコードを作成すると、コンパイルエラーが発生します。

# 3. 変数の初期化
変数を宣言だけした場合、変数がつかえないため、変数に値を入れる必要があります

元記事を表示

Windows出身者がMacでパスを通してみた【zsh】

#背景
Qiita初投稿です。よろしくお願いします。

学生時代と社会人を通し、ずっとWindowsを使ってきた私が個人開発のためMacを使うことになり、Windowsだと慣れていた「パスを通す」という作業で苦労したためやり方をここに残しておきます。

Macでパスを通す記事は検索したらたくさん出てきますが、Macの知識がバックグラウンドにあることを前提に書かれているように見受けられるものが多く、「初心者向け」と書かれていてもWindows出身の私にはわかりづらく感じるものが多かったです。

そのあたりも踏まえ、WindowsからMacに移行した人にもわかりやすい記事を書こうと思いました。

#シェルを理解する
Macでパスの通し方を調べてみると、「シェル」という言葉が出てきます。Windowsを使っていて私は今までシェルを意識しないといけない状況に遭遇したことがなく(意識する必要がある場面もあるとは思うのですが、私がその経験がないだけです)、そもそも「シェル」が何なのかわかりませんでした。

シェルに関する説明は[こちらの記事](https://recruit.cct-inc.co.

元記事を表示

DynamoDBデータ型記述子付きJSONをPOJOに変換する方法

[ref_low]:https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html
[ref_type]:https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html#Programming.LowLevelAPI.DataTypeDescriptors
[ref_capture]:https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/streamsmain.html
[ref_mapper]:https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/DynamoDBMapper.html

## ユースケース

[Amazon DynamoDB

元記事を表示

プログラミング初心者がjavaを触ってみる1 そもそもjavaって何だ?

#はじめに
現在プログラミング学習を始め5ヶ月目の初学者です。
学んだことをqiitaに投稿という形でアウトプットするため、また備忘録として記事を作成しています。
javaはprogateで軽く触れたことがあるだけですので、改めて基礎的な知識から学習していこうと思います。

macでの環境構築で下記の記事が大変参考になりました。

https://qiita.com/suke_masa/items/f9af0fb84ad9447ae961

##java特徴
###1.JVM(Java Virtual Machine:Java仮想マシン)で動いている
このJVMが動いているコンピュータであればOSがmacでもwindowsでもLinuxでも、どんな環境であれ動作する。

###2.オブジェクト指向で作られている
javaでプログラミングするにはこのオブジェクト指向という考え方が重要

_オブジェクト思考とは?_
モノ(オブジェクト)を同士を関係させ、組み立てていくプログラミングの考え方のこと
例えば机を作る時大きな木材を切り出して作るのは大変だが、天板、足4本と分けて作成すれば簡単に出

元記事を表示

[アルゴリズム]配列の中身を小さい順に並び替えるプログラム

“` Sort.java
アウトプット用!!

#3回目は、
配列の中身を小さい順に並び変えるプログラムを作っていく!!
今回はアルゴリズムの勉強も兼ねてあえてjava.utilパッケージにあるArrays.sort(arr)を使用しないでプログラミングをしてみました。

そこで配列の中身を小さい順に並べるにあたりバブルソート(基本交換法)でやってみました。

こちらがコードになります。

class Sort {
public static void main(String[] args) {
int Sort[] = {8,1,7,5};

int x;
int i = 0;

for(i = 0; i <= Sort.length-2; i++) { //外側のループ(最初の要素から最後の要素の一つ手前に向かって後ろに進む) int j = Sort.length-1; //最後の要素 for(j = Sort.length-1; j>=i+1

元記事を表示

Windowsでclassファイルをデコンパイル

# 経緯
既存のJAVAプログラムを読み解きたい。
そもそもJavaファイルをプログラムとして動かすためにコンパイルしてclassファイルにしているため、逆の手順を踏んで人間が読める形に変換し直す必要がある。

ソースコードからプログラムを生成:コンパイル
プログラムからソースコードを生成:**デコンパイル(逆コンパイル)**

# classファイルをデコンパイルする
以下の手順で行う。

* Amazon Correttoインストール、JAVAのパスを通す
* JADをインストールし、パスを通す
* コマンドプロンプトでデコンパイルを行う
* エラーが出たファイルを逆アセンブルする

## Amazon Corretto インストール、JAVAのパスを通す
Amazon Corretto は、マルチプラットフォームで本番環境に対応した、無料の Open Java Development Kit (OpenJDK) ディストリビューション。
Linux、Windows、macOS などの一般的なオペレーティングシステムで Javaを簡単に使用することができる。

参考:[Ama

元記事を表示

リフレクションでKotlinの要素を取得する【Javaリフレクション編】

Androidの単体テストにあたり、privateなクラスやメソッドにアクセスするために使用するリフレクションについてまとめました。

【注意点】
この記事では、筆者がリフレクションを一緒くたに認識していた背景から、KotlinでJavaリフレクションを使用しています。
しかし実際はKotlinにはKotlinリフレクションが存在するため、あえてKotlinでJavaリフレクションを使うのであれば、その理由を明確にできることが望ましいはずです。
次回は、Kotlinリフレクションをまとめます。

##リフレクションとは
リフレクション(reflection)とは、反射、内省、熟考という意味の英単語です。
JavaやKotlinでは、クラスやコンストラクタ、メソッドなどの情報の取得、必要に応じて書き替えるための仕組みを指します。
Java:[Trail: The Reflection API (The Java™ Tutorials)](https://docs.oracle.com/javase/tutorial/reflect/)

リフレクションを使うことで、通常はアクセスできな

元記事を表示

javaのプロジェクト管理を学ぶ:そもそもビルドって何?

#java プロジェクト管理を学ぶ:そもそもビルドって何?

### 【超初心者向け】Maven超入門
https://qiita.com/tarosa0001/items/e5667cfa857529900216

### そもそも、ビルドとは

– ビルドとは、**「ソースコードに問題(バグ)がないか解析を行い、問題がなければ実行できる形のファイルに変換し、組み立てること」**

– コンパイルとの違い:コンパイルはビルド作業の中に含まれる作業の1段階
– コンパイル: プログラミング言語から機械が分かりやすい機械語に翻訳を行うことを指す。

– **ビルドの仕組みと流れ**
– 1.各ソースコードの静的解析を行う。静的解析では、文法や構文の誤りを検出する(バグを見つける処理)
– 2.プリプロセッサで前処理を行う。定数の数値への置き換えやコメントの削除、マクロ(複数の操作をまとめて呼び出せるようにする機能)の展開
– 3.各ソースコードのコンパイルを行う。機械語に翻訳し、オブジェクトファイル(.o や.objなど)に変換する。
– 4.各オブジェクトファ

元記事を表示

for文の二重ループと2次元配列を組み合わせて九九の表を作る

“`java
アウトプット用!!

#第2回目は、
for文の二重ループと2次元配列を組み合わせて九九の表を作っていく!

①2次元配列を宣言していきます。
 int [][] kuku = new int[9][9];
 これで縦に9行、横に9列の九九の型が作られる。

②for文をネスト構造で繰り返す。
for(int i = 0; i < 9; i++) { //縦の行を表す。 for(int j = 0; j < 9; j++); //横の列を表す。 kuku[i][j] = (i + 1) * (j + 1); System.out.println(kuku[i][j]); } System.out.println(); } ③外側のfor文で縦の行を繰り返しています。  配列の添字は0からはじまるので、ここでは0段目から処理を繰り返す。 続いては内側のfor文に移って計算結果を各段ごとに記述する処理。ここでは8まで繰り返す。 例えばこんな感じです。 0段目の時は(外側のfor文) iが0で、jが0の時は1 iが0で、jが1の時は 2 i

元記事を表示

【Android&Firebase】Googleログイン実装のDeprecated箇所をリファクタリングしてみた

# はじめに

皆さん、ごきげんよう!れぶです!
2回目のQiitaへの投稿になります。新年早々どこにも外出せずに執筆していきます。

今回の記事は、Firebaseを用いてAndroidアプリへGoogleログイン機能を実装することに関した内容になります。具体的には、Firebaseの公式ドキュメントに掲載されているコードの中で、Deprecated箇所(startActivityForResultとonActivityResult)があるので、リファクタリングしていきます。Googleログイン機能のリファクタリング実装が書かれた記事はあまりないと感じたので、自身がJavaで書いたコードをもとに紹介します。

それでは、参りましょう!!

# この記事の対象者

* 今後Firebase Authenticationを用いて、AndroidアプリにGoogleログイン機能を実装したい方
* 既にGoogleログイン機能を実装済みだけど、Deprecated箇所のリファクタリングが知りたい方

# 開発環境

* Mac
* Android Studio(4.1.2)
* Fireba

元記事を表示

Javaを使用してPDFのテキストコンテンツを読み取る方法

##背景
今回の記事では、JavaアプリケーションでPDFファイルのテキストコンテンツを読み取る方法を紹介します。
JavaアプリケーションでPDFドキュメントを読み取るために、サードパーティのPDFコンポーネントを使用できます。この記事で使用されているコンポーネントは、JAVA用の無料のJava PDFコンポーネントであるFree Spire.PDF for JAVAです。

###JARファイルの取得とインポート:
公式ウェブサイトからjarファイルパッケージを**[ダウンロード](https://www.e-iceblue.com/Download/pdf-for-java-free.html)**します。ダウンロードした後、ファイルを解凍し、libフォルダー内のSpire.Pdf.jarファイルをJavaプログラムにインポートします。
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/4d496b78-dd7d-27fd-6253-769ddf2dda31.png)

##P

元記事を表示

Javaの基礎を理解する【入門】

こんばんは。kitonです。
今回初投稿で少々誤字や日本語がおかしな部分があるかと思いますが、優しいご指摘お願いします。。
初投稿ですので少し自己紹介させてください。
私は北海道在住で、自社開発企業に属しており、主にJava言語を中心にアプリ開発してますが、最近フロント開発も個人的に興味があるので若干かじり始めてます。(Angularの勉強中。。)
自己紹介はここまでとして、今回のタイトルにもある通りJavaの基礎的な部分と、いくつかの特徴をご説明していきたいと思います。
本記事はJavaって言葉を聞いたことない…Javaって何だろ…と思っている方に参考文献から一部抜粋して記載してます。

# Java言語とは
Javaは1995年にSun MicroSystems社で開発されたプログラミング言語です。
プログラミング言語は世界中にたくさんの言語であふれておりますが、その中でもJava言語は有名で聞いたことあるなーって人が多いプログラミング言語かなと思います。
ちなみにJavaの由来は、JavaコーヒーからとってJavaと名付けて、製品マークもコーヒーカップが採用されたと聞いた

元記事を表示

配列から最大値を見つけて値を出力する。

アウトプット用!!
1回目は
配列から最大値を見つけて値を出力する方法。

①はじめにこのような配列を作ります。

“`java
int[] numbers = {36,23,19,199,382,2,5,18,30};
“`

②配列内の要素を比較するために最初の配列[0]をMax変数に代入します。

“`java
int Max = number[0];
“`

③最大値を検索します。
   そこでfor文を使用してMax変数(配列[0])と他の配列[1]から配列[8]を順番に比較します。
   ここで注意してほしい所はループを回す時に配列[1]からはじめるので初期化式には、int i = 1が入ります。

“`java
for(int i = 1; i < numbers.length; i++) { if(Max < numbers[i]) {  //Max変数と他の配列の比較 Max = numbers[i]; //もしnumbers[i]がMax変数より大きければ、numbers[i]がMax変数に代入 } } System.out

元記事を表示

動画で学ぶJHipster (9) (ロックダウン)

# 参考動画

11:19~

## テキスト
https://github.com/mraible/jhipster7-demo/blob/main/README.adoc#lock-it-down

# ロックダウンの意味
テキストに**Lock It Down!**と書いてあるのでロックダウンというタイトルにしましたが、意味がよくわからない汗

https://ejje.weblio.jp/content/lock+down

>ロックダウン(英語: lockdown)は、危険や差し迫った脅威・リスクなどを理由に、建物やエリアへ入ったり、そこから出たり、その中を移動したり(そのいずれか一つまたは複数)が自由にできない緊急の状況をいう。

よくコロナのニュースで海外の国の都市が「**ロックダウン**」してるとか聴くけどあれのことか。

https://www.bloomberg.co.jp/news/articles/2021-11-12/R2GXW1T0G1KY01

もうちょい調べると、

元記事を表示

Javaのマルチスレッド実行モデル

多分こう。
rust, go だと、threadが、キューをstealしていたはず。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/534442/2e4f38a3-b796-8ad0-21ed-e4c2daf8a5da.png)

元記事を表示

Mac版 Java環境構築 Eclipseをインストールしよう。

Javaの環境構築を行います。

MacBookPro
OS:macOS Big Sur 
ver11.6.1

主にJava開発で使われている統合開発環境「Eclipse」(エクリプス)をMacにインストールしていきます。
Eclipceは無料でダウンロードできます。

#開発環境を構築していこう
早速、開発環境を構築していきます。

必要になるのは

  1. JDK
  2. Eclipse

の2つです。

今回は、JDKとEclipseの二つをまとめてインストールと環境設定してくれる「Pleiades All in One」を使います。
>Pleiades All in One は統合開発環境である Eclipse 本体と、日本語化を行うための Pleiades プラグインおよびプログラミング言語別に便利なプラグインをまとめた Windows、Mac 向けパッケージです。また、Full Edition の場合は JDK のインストールや環境変数の設定が不要で Eclipse の各種設定も自動で行われるため、ダウンロードして起動すれば、

元記事を表示

プログラミング勉強 1日目

プログラミング初学者です。HTMLはイメージしやすいですが、
Javaの勉強は難しいと感じています。

元記事を表示

Spigot 開発 初心者用メモ 第3回 マイクラ内のコマンドを受け取る

# あいさつ
 どうも、guy7ccです。[前回](https://qiita.com/guy7cc/items/8fffd48601021644d9a5)に続き、Spigot開発についてメモします。
 環境は、**Windows10、Spigot1.18.1、JDK17.0.1、IntelliJ IDEA Community2021.3**です。

## 目次

1. [テスト用サーバー環境の構築](https://qiita.com/guy7cc/items/a1615cab3a41c3f66121)
2. [IntelliJ IDEA Communityによる開発環境の構築](https://qiita.com/guy7cc/items/8fffd48601021644d9a5)
3. マイクラ内のコマンドを受け取る ←今回
4. イベントリスナで起きた事象を受け取る ←まだ書いてない
5. タスクでティック毎に処理を起こす ←まだ書いてない
6. config.ymlを駆使する ←まだ書いてない
7. (未定)

# 第3回 マイクラ内のコマンドを受け取る

 さあ、いよいよ本

元記事を表示

AtCoder Beginner Contest 013をやった(Java)

AtCoder Beginner Contest 013 をやった。
今年もよろしくおねがいします!
今年は頑張って緑に入りたいです!!まだ茶色にすらいないですが。。。
※C問題のちに追記予定。

##[A](https://atcoder.jp/contests/abc013/tasks/abc013_1)
単純に場合分けをしてあげた。

“`Java
import java.util.*;

public class Main {
public static void main(String[] args) throws Exception {
// Your code here!
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
if(str.contains(“A”)){
System.out.println(1);
} else if(str.contains(“B”)){

元記事を表示

OTHERカテゴリの最新記事