Java中的变量(备忘录)

简要概述

    JavaとRubyでは変数の扱い方が大きく異なり、その違いや使い方を覚えておきたい。

为了达到的结果

    • データ型の理解

 

    変数の理解

编程语言的分类

    • 変数の扱い方により、プログラミング言語は大きく、「動的型付け言語」と「静的型付け言語」の2種類があ流。

 

    Rubyは「動的型付け言語」、Javaは「静的型付け言語」の代表例

数据类型是什么?

    • 変数に格納するデータの種類のことをデータ型という。

 

    • 例えば、Rubyの場合、「数値としての1」と「文字としての1」はプログラムの上では異なるものとして扱われる。

 

    データ型は、このような「数値」や「文字」といった種類をより細かく定めたもので、Javaの基本データ型には8つの種類がある。

需要数据类型的原因

    • データ型はコンピュータのリソースを効率よく使うための仕組み。

 

    • プログラムを実行すると、変数の値はコンピュータ内の「メモリ」と呼ばれるパーツに保存されるが、データ型があることで、このメモリを効率よく使用することができる。

 

    • メモリとは、イメージで例えると、データを入れるための箱が連続して並んでいるもの。

 

    箱の中に、数値を入れて保存したり、取り出して使用するが、この際の数値は、人間が普段使っている「10進数」ではなく「2進数」に変換してから扱われる(現在のコンピュータでは、性質上2進数しか扱えないため)
image.png
image.png
当存储的数值变大时,位数也会相应增加。
10進数2進数100110010010,000100111000100001,000,00011110100001001000000
    • 箱の数を多めに用意しておけば大きな数値でも格納できるが、その中に小さな数値を入れると無駄が生じる。

 

    データ型は、この無駄を少なくするための仕組みであり、「使用する変数」に「どのような範囲の値を格納するのか」事前に決め、それに適した数の箱を確保することでメモリを効率的に使用できるようにしてくれる。

基本数据类型的种类

    Javaの基本データ型は8種類
image.png
    • 使用頻度が高いのはint型とlong型

 

    • 小さめの数値を扱うint型では「32bit」、大きめの数値を扱うlong型では「64bit」のメモリを使用する

 

    • Javaで変数を使用する際は、変数をどのデータ型として扱うのかプログラムに伝えるため、あらかじめ「宣言」してから使用。

 

    その反面、Rubyでは変数を使用し始める際に、データ型を宣言せず、変数を使用する。
在Ruby中不需要声明类型,是因为Ruby和Java对数据类型的处理方式显著不同。

Ruby和Java在处理数据类型的方式上的差异

动态类型编程语言

    • 動的型付け言語は、プログラムの実行時に変数のデータ型を決定する方式。

 

    Rubyはこちらに含まれる。
示例图片
a = 1
puts(a * 2)
# 输出为2a = “ruby”
puts(a * 2)
# 输出为rubyruby

    • aに「1」が代入されている場合 = 数値演算が行われ、「2」と出力される。

 

    • 一方、「”ruby”」が代入されている場合 = 文字列操作が行われ、「rubyruby」と出力される。

 

    つまり、Ruby(動的型付け言語)では、どのような値が代入されたかによって、変数のデータ型が柔軟に変更され、そのデータ型に基づいて処理が行われている。

静态类型编程语言

    • 静的型付け言語は、変数のデータ型を最初に決定したら変更できない仕組み。

 

    • Javaはこちらに含まれる。

 

    例えば、最初に「整数」として宣言した変数に、「文字列」を代入しようとするとエラーになる。
虽然看起来没有灵活性,但还是有一些好处,比如可以提高处理速度,可以在执行之前检测到数据类型不匹配等错误!
    Javaは静的型付け言語なので、変数を使用し始める際は「型の宣言」が必要になる。

理解Java变量

    • 変数の役割は、JavaもRubyと同じ。

 

    ただし、Javaでは「宣言」を行わないと変数を使うことはできない。

变量的声明和使用方式

为了声明变量,需要在类型名后面紧跟变量名。
类型名 变量名;
//行末需要加上;(分号)。
    • Javaでは、命令の終わりにセミコロンが必要&書き忘れるとエラーになる。

 

    宣言した後の変数は、Rubyと同様に使える。
代码示例
class Main {
public static void main(String[] args) {
int radius;
//使用int radius;声明了一个int类型的变量radius
radius = 10;
//使用radius = 10;给变量radius赋值为整数10
System.out.println(radius * radius * 3.14);
//System.out.println是一个输出方法,用于输出括号中的内容,与Ruby的puts相似
}
}
然而,Java中有一种称为“类型推断”的机制,可以省略与声明相关的代码。

對於型推理的理解

使用类型推断进行变量声明的方法
var 变量名 = 值;
    • 「var」を使って宣言を行い、初期値を代入。

 

    この記述を行うと、値の種類によってデータ型が推論され、推論されたデータ型で宣言が行われる。
例子
public class Main {
public static void main(String[] args) {
int radius = 10;
System.out.println(radius * radius * 3.14);System.out.println(((Object)radius).getClass().getSimpleName());
}
}
//输出结果
//314.0
//Integer

在使用Java变量时需要进行声明!然而,如果在声明的同时赋予初始值,也可以省略。
广告
将在 10 秒后关闭
bannerAds