博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
变量(译)
阅读量:6504 次
发布时间:2019-06-24

本文共 2625 字,大约阅读时间需要 8 分钟。

源自Javaの道日语技术社区

译者
見てくれてありがとうござい!!!

変数(译)

变量

现在对Java变量这一名词进行解释说明。

目录

  1. 变量的声明、赋值、引用

  2. 数据类型

  3. final变量

  4. 作用域

变量的声明、赋值、引用

变量的声明如下所示。

数据类型 变量名;

int x;//也可以同时声明多个变量。double x, y, z;

对变量的赋值如下所示。

变量名 = 值;

x = 10;//声明的同时也可以直接赋值。byte y = 20;//char类型的变量在赋值的时候需要使用“单引号”来将值包含进来。char z = 'A';

通过编写变量名,你可以引用分配给变量的值。

int x = 10;//引用变量x,就会显示10System.out.println(x);

数据类型

整数型

类型 默认值 大小 范围
byte 0 8bit -128 ~ 127
short 0 16bit -32768 ~ 32767
int 0 32bit -2147483648 ~ 2147483647
long 0 64bit -9223372036854775808 ~ 9223372036854775807
  • 为了有效利用资源、你应该声明合适的类型。如果一个变量的上限是100,那么最好不要声明为int类型。

  • 分配long类型值的时候,可以通过在值后面添加L或者l(小写的L)来强制其为long类型。由于l(小写的L)和1(数字1)很容易搞错,所以一般都使用L(x = 200L)

    译者注:如果不加L,默认是int类型,如上面的例子,Long x = 200L。如果不加L是无法通过编译的。

  • 分配8进制的时候,在值的开头添加0(x = 0537);在分配16进制的时候,在值的开头添加)0x或者)0X(x=0xB7A)

浮点数类型

类型 默认值 大小 范围
float 0.0 32bit 约(-)3.40282347E+38(约6~7位的精度)
double 0.0 64bit (-)1.79769313486231570E+388(15位的精度)
  • 浮点数类型不论大小,始终是double类型。在使用float类型值的时候,在其后面添加F或者f(abc = 3.14F)。如果想要明确的表示double类型,需要在值的后面加上D或者d(xyz = 124.543D)

其他

类型 默认值 大小 范围
char u0000 16bit u0000 ~ uFFFF
boolean false 1bit true、false
  • char类型可以使用一个字符的Unicode字符。在分配时,用单引号围绕该值。( xyz = '月'; )

  • Boolean类型的值仅仅只有true、false。请注意TRUE、FLASE等等大小写之间的不同。

final变量

使用了final关键字声明的变量,已分配值的变量将无法更改。一般用于不想变更的值或者难以用数字表示的值,以便稍后十分容易查看。一般来说声明无法变更的变量(常量)的时候,一般它的变量名都全部被定义为大写字母,如果有多个单词,那么在连接这些单词的时候会使用_(下划线)。(RATE、RATE_OF_DISCOUNT等等)

计算消费税的例子

不使用final标识符的变量

price = 100 + 100 * 0.05;//之后很难理解如何处理

使用final标识符修饰变量

final float SHOHIZEI = 0.05F;price = 100 + 100 * SHOHIZEI;//之后很容易理解如何处理。

在声明final类型的变量的时候分配值是可以的,在声明之后再分配也是可以的。但是无论哪一种都不可以在赋值之后改变值。

final float RATE = 0.25F; //宣言時に値を代入する場合RATE = 0.25F;

作用域

作用域是你使用变量名来引用变量的范围。主要分为成员变量的范围和局部变量的范围。

成员变量是属于特定类的变量,通常在类声明之后立即声明。 成员变量的范围是整个声明的类,可以从类中的任何方法或构造函数引用。关于更详细的请参考“Java之道 成员变量”。本地变量属于特定的方法或者构造函数。在方法或者构造函数中声明。本地变量的作用域是在声明位置处由代码块({})包围的范围,不能被其他方法或构造函数引用。

另外,同一个作用域内声明相同名字的变量。

class A {  //A类    //(1)声明成员变量a    int a = 10;    public static void main(String args[]){  //main方法        //(2)声明本地变量x        int x = 20;        A aaa = new A();        aaa.show();    }    void show(){   //show方法        //(3)声明本地变量y        int y = 30;        //(4)引用成员变量a        System.out.println("変数aは" + a + "です。");        //(5)引用局部变量x        //System.out.println("変数xは" + x + "です。");        //(6)引用局部变量y        System.out.println("変数yは" + y + "です。");    }}

说明

  1. (1)声明成员变量a。成员变量的作用域属于声明类的全体。

  2. (2)声明局部变量x。局部变量的作用域是声明位置处由代码块({})包围的范围,在这里指的是main方法内。

  3. (3)声明局部变量y。作用域是show方法以内。

  4. (4)引用成员变量a。由于成员变量a的作用域属于类全体,所以在类的任何地方也可以引用。

  5. (5)引用局部变量x。由于局部变量x的作用域是在main方法内,所以show方法无法引用。会发生编译错误。

  6. (6)引用局部变量y。由于局部变量y的作用域是show方法以内,所以可以引用y。

执行结果

C:\source>javac A.javaC:\source>java A変数aは10です。変数yは30です。C:\source>

原作者更新日:2017/1/2

转载地址:http://zcqyo.baihongyu.com/

你可能感兴趣的文章
vue自定义指令实现v-tap插件
查看>>
Hibernate主键生成策略及选择
查看>>
linux 淘宝开源监控工具tsar
查看>>
JavaScript 新语法详解:Class 的私有属性与私有方法 ...
查看>>
Java性能优化之JVM GC(垃圾回收机制)
查看>>
积累各种好的链接
查看>>
如何在招聘中考核.NET架构师
查看>>
zabbix3.2监控linux磁盘IO
查看>>
长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
查看>>
Semaphore
查看>>
k8s使用glusterfs实现动态持久化存储
查看>>
我们雇佣了一只大猴子...
查看>>
2017-12-24 手机编程环境初尝试-用AIDE开发Android应用
查看>>
pyqt5的下载进度条 实现模板
查看>>
Flink1.7.2 local WordCount源码分析
查看>>
盘点抖音源码中的广告变现方式
查看>>
星际荣耀获鼎晖投资A+轮投资,上半年将进行首枚入轨运载火箭
查看>>
Linux基础命令---显示路由表route
查看>>
金三银四,2019大厂Android高级工程师面试题整理
查看>>
SSL证书过期替换之踩坑总结
查看>>