变量与常量
变量
在程序运行中,所有的数据都存储在我们的内存中,那我们如何来找到和使用这些变量呢?
所以我们需要给变量命名来找到我们所需要的数据,就像是我们每个人,有人需要我们去做事时,就需要叫到我们的名字。所以变量名是我们区分变量的标志。
变量三要素:
变量名,数据类型,数据值。
那么怎么声明一个变量呢?
在JAVA中声明变量的语法是:
数据类型 变量名 = 变量值;
例如:
int i = 10;
这就是定义了一个值为10的int类型变量。
注意事项:
1.变量必须先声明后使用。
2.变量在使用之前必须要有初始值。
3.变量有作用域。(以后会讲到)
变量的命名规则
1.变量只能用:字母,数字,下划_,$组成。
2.变量的命名不能使用数字开头。
3.变量名不能使用系统关键字或者保留关键字。
通常来说我们的命名,都会遵守一些命名的规范,主要有驼峰标记法,pascal标记法和匈牙利标记法。我们这里主要讲驼峰标记法,驼峰标记法主要采用首字母小写,然后接下来的每一个单词的首字母都要大写,我们一般都会使用驼峰标记法来给变量进行命名。一般不使用汉语拼音进行变量的命名。
常量
常量是指在运算过程中,其值不能改变的量。
int a = 1;
int b = 2;
a = a + b;
a,b的值在运算过程中都可以改变,所以他们不算是常量。
但是 例如:
int a = 3 +4;
在这个变量的定义中,3 4 就是常量 他们的值并不会随着程序的运算而发生改变。
基本数据的类型转换
自动类型转换
Java内部支持数据的自动类型提升,即可以将数值赋值给另一个数值范围更大的数据类型变量,这就叫做自动类型转换,所有的数字类型包括整型和浮点型都支持自动类型转换,但是Boolean类型不能和其他数据类型进行转换。
要实现基本数据类型的转换:
1.两种类型互相兼容
2.目标取值范围必须大于源类型
如图所示:
例如:
byte a = 3;
int b = a ;
int c = 11;
double d = c;
强制类型转换
Java内部不支持将一个数值赋值给范围更小的变量,除非使用强制类型转换,但是注意:强制类型转换可能会造成数据的丢失,就好比我们有一杯装满了水的杯子,我们往更大的杯子里装,完全没有任何问题能够装下,但是如果我们往一个更小的杯子里面装,那么完全有可能杯子里的水会溢出来。
强制类型转换的语法是什么呢?
int a =2;
byte b = (byte) a ;
这就是强制类型的转换语法。
运算符
运算符分为逻辑运算符,算术运算符,关系运算符,条件运算符。
我们这里主要介绍逻辑运算符,关系运算符和算术运算符。
算术运算符:+ ,= ,- ,/, *,%,++,–。
Java里的/代表除法 ,*代表乘法,%代表取余,++代表加一,–代表减一。
逻辑运算符: ! ,||,&&,|,&.
|| &&和| &都是或与且的意思,那他们有什么区别呢?
区别就是短路性,当使用 | & 的时候,没有短路性的时候不管前面是真是假是否有结果了也不会停止运行,而当我们使用|| &&的时候,比如false && true :
这是且的关系,只要这两个条件有一个为假的时候,就判断为假了,所以短路性下,前为假后面的真就不需要判断了,这段代码就返回false。就和电路一样,只要有一截电线坏了,后面的电路都没有电。这就是我们常说的短路性。
关系运算符:
三元运算符
也称为三目运算符
语法格式:
条件表达式 ? 表达式1:表达式2;
如果为true,运算后的结果就是表达式1,
如果为false,运算后的结果就是表达式2。
例如:
int a = 3;
int b = 4;
int c = a>b ? a:b;
//求出a和b谁的值比较大
System .out.println(c);
输出的结果是4。
int a = 5;
System.out.println((a%2==0 ? "奇数":"偶数"));
//判断a是奇数还是偶数
这就是三目运算符的基本内容。