質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.76%

  • Java

    13166questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

java 文字列型と数値について

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 145

ikanosasimi

score 3

昇順にソートするプログラムがあったとして、
int型の1000,300,100,200と
文字列型の1000,300,100,200でソートした場合、
結果がlong型だと、100,200,300,1000になると思いますが、
文字列型だと、100,1000,200,300の順になると思います。
どうして理由でソート結果が変わってしまうのか教えてください。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

文字列だと辞書順に並べるからです。
つまり、

  • 左の文字から順に同じ位置の文字の先後を判断する。差が付いた時点で順序確定。
  • 一方の文字列が尽きてもう一方に文字が残っていれば、長いほうがあとになる

国語辞典で「赤(あか)」より後に「赤い(あかい)」が並ぶのと同じ理由で「100」より後に「1000」が並び、
「赤い(あかい)」より後に「イカ(いか)」が並ぶのと同じ理由で「1000」より後に「200」が並びます。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/19 23:57

    ありがとうございます

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.76%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    JavaScript Arrayオブジェクトが正しく表示されない

    ドットインストールのこちらで勉強しております。 講義では以下のように表示されるはずなのですが、、 Array [ 100, 300, 200, 500 ]  Array [ 10

  • 解決済

    先頭が同じ数値のものを一つの配列にまとめる

    閲覧ありがとうございます。 数値の文字列があり、それを先頭が同じ数値のもの同士を一つの配列に整理して入れるということをやりたいと思っています。 200#0#2500#200#0

  • 受付中

    SQLの計算およびインサート

    SQL文で登録されているデータを計算し、 計算したデータを同じテーブルに登録するような処理を自動で行うことは可能でしょうか。 1つ目 2つ目 3つ目 10

  • 解決済

    【超初心者質問】pythonの関数の呼び出しに関して

    前提・実現したいこと 今日からプログラミングの勉強を始めたものです。 現在簡単なゲームを作ろうとしているのですが、関数の呼び出しができません。 経験者の方からしたら何でもない

  • 解決済

    プログラミング 配列

    include <stdio.h> main(){ int a[] = {100,200,300,400,500,600,700,800,900,1000}; int i; for

  • 解決済

    python-なぜ辞書の中が整理されるかがわからない

    現在pythonのコードを写経して、勉強しているものです。 その中で理解できなかったことがあったので、質問しました。 理解できなかったコードは以下の dictionary

  • 解決済

    数値の分割(ruby)

     前提・実現したいこと 数値を一定の値ごとに分割したいです。 rubyです。 例えば500を100ごとに分解した場合は、 [0,100,200,300,400,500]の結果が

  • 解決済

    phpで100ごとの平均を表示したい

    こんにちは。 本当に初歩的な質問なのですがphpでmysqlにある1000のデータを 上から100個ずつごとで平均を求めたいです。 データは、オートインクリメントのidが存在して1

同じタグがついた質問を見る

  • Java

    13166questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。