java 标示符、变量、常量
2.1 java是严格区分大小写
2.2 java标示符
Java中的包、类、方法、参数和变量的名字,可由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是关键字。
下面是合法的标识符:
indentifier,
username
user_name
_userName
$username
下面是非法的标识符:
class
98.3
Hello World
建议:标示符永远用字母开头,尽量不要包含其他的符号就行了。
2.3 java中关键字
java和C、C++等其他语言一样也存在关键字,如:public、break等,这些保留字不能被当做标示符来识别,下面是常见的一些关键字:
abstract boolean break byte case catch char
class continue default do double else extend
false final finally float for if implement
import instanceof int interface long native new
null package private protected public return short
static strictfp super switch this throw throws
transient true try void volatile while synchronized
注意:Java 没有sizeof、goto、const这些关键字,但不能用goto、const作为变量名。
2.4 常量
程序执行过程中,值保持不变的量
1、整形常量
整型常量可以分为十进制,十六进制和八进制来表示:
2、浮点型常量
浮点数常量有float(32位)和double(64位)两种类型,分别叫做单精度浮点数和双精度浮点数,表示浮点数时,要在后面加上f(F)或者d(D),用指数表示也可以。 注意:由于小数常量的默认类型为double型,所以float类型的后面一定要加f(F),用以区分。如:
2e3f 3.6d
.4f 0f
3.84d 5.022e+23f
都是合法的。
3、布尔常量:
布尔常量用于区分一个事物的正反两面,不是真就是假。其值只有两种:true和false。
4、字符常量:
字符常量是由英文字母、数字、转义序列、特殊字符等的字符所表示,它的值就是字符本身。
5、字符串常量:
符串常量和字符型常量的区别就是:前者是用双引号括起来的常量,用于表示一连串的字符。
2.5 变量
程序执行过程中,值可以改变的量
整型变量、实型变量、字符型变量、字符串变量、布尔变量等
java 的四类八型:
其中四种数据类型用来存储整数,它们具有不同的取值范围,分别如图所示:
这些类型都是有符号的,所有整数变量都无法可靠地存储其取值范围以外的数据值,因此定义数据类型时一定要谨慎。
其中有两种数据类型用来存储浮点数,它们是单精度浮点型(float)和双精度浮点型(double)。
2.6 java的一些转义字符
\r表示接受键盘输入,相当于按下了回车键;
\n表示换行;
\t表示制表符,相当于table键;
\b表示退格键,相当于Back Space;
\'表示单引号,\"是双引号;
\\表示一个斜杠“\”。
2.7 基本数据之间的转换
在编写程序过程中,我们经常会遇到的一种情况,就是需要将一种数据类型的值赋给另一种不同数据类型的变量,由于数据类型有差异,在赋值时就需要进行数据类型的转换,这里就涉及到两个关于数据转换的概念:自动类型转换和强制类型转换。
◆ 自动类型转换(也叫隐式类型转换)
要实现自动类型转换,需要同时满足两个条件,第一是两种类型彼此兼容,第二是目标类型的取值范围要大于源类型。例如,当byte型向int型转换时,由于int型取值范围大于byte型,就会发生自动转换。所有的数字类型,包括整型和浮点型彼此都可以进行这样的转换。
请看下面的例子:
byte b=3;
int x=b; //没有问题,程序把b的结果自动转换成了int型了
◆ 强制类型转换(也叫显式类型转换)
当两种类型彼此不兼容,或目标类型取值范围小于源类型时,自动转换无法进行,这时就需要进行强制类型转换。强制类型转换的通用格式如下:
目标类型 变量=(目标类型)值
例如:
byte a;
int b;
a = (byte) b;
类型的自动提升,Java定义了若干适用于表达式的类型提升规则。
第一,所有的byte型、short型和char的值将被提升到int型。
第二,如果一个操作数是long型,计算结果就是long型;
第三,如果一个操作数是float型,计算结果就是float型;
第四,如果一个操作数是double型,计算结果就是double型。
java实例:
//类型的自动提升 public class Promote { public static void main(String args[]){ byte b = 50; char c = 'a'; short s = 1024; int i = 50000; float f = 5.67f; double d = .1234; double result = (f * b) + (i / c) - (d * s); System.out.println((f * b) + " + " + (i / c) + " - " + (d * s)); System.out.println("result = " + result); } }