Java学习指南(02) 变量

本文是《Java学习指南》原书的网络版,作者邵发,拥有本书的全部权利。相关视频课程在此查看

目录

第2章 变量

2.1 使用变量

2.2 整数,小数,字符串

2.3 布尔类型

2.4 其他类型


第2章 变量

2.1 使用变量

2.1.1 引例

现在,我们已经学会了使用System.out.println() 可以来输出一个值。进一步的,我们用来显示简单算术运算的结果。例如,

System.out.println("乘积: " +  (123 * 456)  );

其中,小括号中123*456表示123与456的乘积。此句代码能够将两者的乘积打印输出到控制台窗口。

进一步的,我们可以写一段代码,用于计算一个数的平方和立方的值。例如,

System.out.println("数值: " + 12 );

System.out.println("平方: " + (12* 12) ); // 平方

System.out.println("立方: " + (12* 12* 12)); // 立方

看起来写程序也不是很难嘛!

但是,现在问题来了,如果求22的平方和立方呢?如果不嫌麻烦,我们可以修改上面的代码,修改为:

System.out.println("数值: " + 22);

System.out.println("平方: " + (22* 22) ); // 平方

System.out.println("立方: " + (22* 22* 22)); // 立方

修改6处之后,即可以完成新的要求。但这,明显是有点麻烦了是吧!

2.1.2 变量

下面,我们学习一个新的概念:变量。

变量,variable,就是“可以变化的量”。在Java编程里,变量是最常见的概念。

例如,

int year =2017;

这行代码就定义了一个变量,名字叫year, 类型为int,值为2017。其中,int类型是integer的综写,表示一个整数。

再来见识一下更多的变量的写法,

int a = 123;
int year =2017;
int yue = 7;
int dongaohuishinanian=2022;
int bbb333 = 1234590;
int days_of_2017 = 365;

可以发现,每一个变量都有3个要素:名称、类型、值。

2.1.3 变量的命名

变量的命名,其实是较为随意的。我们只要记住最主要的几条规则就可以了。

v 英文字母、数字、下划线(但不能数字开头)

v 不一定要用英文单词,用拼音也是可以的

v 随便写也可以,但可读性差

v 区分大小写, Year 和 year 是不同的变量

下面,我们看几个写法:

int 2a = 0; // 错误,不能以数字开头。

int b2 = 1; // 正确。字母开头是没问题的。

int _c3 = 100; //  正确。可以用下划线开头。

int d4-size = 101; // 错误。不可以用横杠。

2.1.4 变量的简单运算

下面,我们学习一下变量的简单算术运算:加法,减法、乘法。和小学算术的用法是一样的,只是我们用星号来表示乘法。注意,现在不涉及除法运算。

加法    例 a =  b + 10;

减法    例 a =  b–10;   

乘法    例 a =  b * 10;

示例:

int b1 = 123;
int b2 = b1 + 10;
int b3 = ( b1 + b2 ) * 199;
System.out.println("b3 的值是" + b3 );

没有什么特别的,就是小学算术,一分钟就可以学完了,不是吗?

下面,我们就可以解决引例的问题。

int a = 12;   
int a2 = a * a;    // 平方
int a3 = a * a * a;    // 立方
System.out.println("数值: " + a );
System.out.println("平方: " + a2 );
System.out.println("立方: " + a3 );

如果想求22的平方和立方,那么只需要把第一行改一下就行了,

int a = 22;   // 改成22即可

显然,通过使用变量,就可以轻松解决问题。这是变量的基本作用之一,后面我们将进一步学习变量的更多用法。

2.2 整数,小数,字符串

2.2.1 整数与小数

在Java语言里,用int类型来表示整数。(int: 即integer ) 例如,

     int  a = 12345;

     int  b = -294;

显然,既可以表示正整数,也可以表示负整数。

 

用double类型表示小数,英文原意为double float point,表示双精度浮点型。浮点型是一个计算机硬件相关的术语,我们不必关心其背景意义;只需知道,使用double可以表示一个小数。例如,

 double c = 123.456;

 double d = -349;     // 相当于-349.0

我们还需知道,无论是 int 还是 double都只能表示有限的范围。

例如,

 int a = 12345; //OK

 int b = 111222333444555; // 错误!数字太大,超出范围

那么,一个int可以表示的整数的范围是多大呢?这个范围很大,是-2147483648~2147483647 ,约21亿左右。double能表示的小数的范围也是很大的。

无论是现在,还是将来,这个范围是不需要我们精确记忆的。在入门学习中,int和double是够大的,足够我们学习使用。

2.2.2 字符串

在编程的时候,用String类型可以表示一个字符串。

例如,

String  name = "邵发";

这里定义了一个变量:名称为 name,类型为String, 值为"邵发"。

现在,我们做一个小练习:

说有一个同学的名字叫小张,今年18岁,体重67.8kg,生日1994年8月3日。用代码表示这些量。

String name = "小张";

int age = 18;

double weight = 67.8;

String birthday = "1994-8-3";

在这段代码中,我们用String来表示字符串类型的值,用int表示整数类型的值,用double表示小数类型的值。

有的同学会问,使用String不能表示年龄吗?

String age = "18";

并非不可以,只能说不太合适。至于什么样的数据用什么样的类型,这是个很自然的事情,后面自然而然就知道了。

2.2.3 变量的赋值

前面我们说过,变量,就是可以变化的量。也就是说,一个变量的值是可变的。例如,

int a = 0;
System.out.println("a:" + a );
int b = 5;
a = b *b; // 此处a的值发生变化
System.out.println("a变为:" + a);

其中,我们用等号来进行赋值操作,将等号右边的值计算出来,赋值左边的变量。这里,把等号称为“赋值操作符”。

其计算过程为:①求得右侧式子的值,②把值赋给左边的变量。

2.3 布尔类型

2.3.1 引例

现在,我们希望用变量表示以下的值。

同学的名字叫小张,

年龄:18岁

体重:67.8kg

生日:1994年8月3日

性别:男

在这里,添加一项性别。那么,性别该怎么表示呢?

第一种办法:  用String型表示

String   sex1 = "male";  //  规定 "male" 或 "female"

第二种办法: 用int型表示

int  sex =  1;  // 规定 1 表示男 0 表示女

无论是用String,还是用int,都存在一个缺点:就是可能存在非法的值。例如,如果不小心把 sex设为-1,那就没法理解了。

int sex = -1;  // 一个非法的值,但编译器不会报错

所以,我们需要一种新的类型,来表示这种非此即彼、二选一的值。

2.3.2 boolean类型

在 Java语言里,boolean类型表示“是”/“否”这种二选一的值。一般译作布尔类型。例如,

boolean  a =  true;

boolean  b =  false;

其中,boolean是变量类型,a是变量名称,true是变量的值。规定boolean类只能取值为true或false。

以下写法是错误的,

boolean c = 1;   // 错误! 只能是true/false !

boolean d = "yes";  // 错误! 只能是true/false !

实际上,true和false在Java语言里都是特殊的词,称为关键词。

使用int, double, String, boolean这四种类型,就可以表示前面引例中的题目。例如,

String name = "小张";
int age = 18;
double weight = 67.8;
String birthday = "1994-8-3";
boolean  sex = true;  // true表示男性, false表示女性

boolean类型是我们学习Java的第一道思维门槛,大家在第一天、第二天的时候,应该是对boolean是完全懵掉的;但是第三天以后,就会慢慢习惯它。毕竟人类是智慧生物嘛!

其实我们可以类比一下,

int a = 1;

int b = 0;

boolean c = true;

boolean d = false;

从形式上看,对于int类型来说,它的值是整数,所以可以为1或0。而对boolean来讲,它的值就只能为true或false。

记住:true和false是值!不是字符串!

2.3.3 常见问题

(1) boolean变量能加减乘除吗?

不能。可以类比一下,String类型也不能乘法。

String  a= "good";

String  b= "bad";

String  c = a * b ; //???? 这啥意思,完全没意义嘛!

 

(2) boolean变量还能赋第三种值吗

不能。boolean类型的值要么为true, 要么为false

(3) boolean值如何打印输出

boolean类型的值打印输出时,显示为true或false

例如:

boolean sex = true;

System.out.println("性别: " + sex );

 

2.4 其他类型

在 Java语言里,还存在其他的数据类型,但是目前我们并不需要了解。例如,

表示整数的有:byte, short, int , long

表示小数的有:double, float

在本篇教程中,用的最多的就是int, double, String, boolean这4种类型。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿发你好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值