写在前面:本人是借助两本参考书自学的,其中部分例子和语句均是来自参考书。
第一本:《Java 编程指南》,[美] Budi Kurniawan 著,闫斌 贺莲 译
第二本:《第一行代码 Java 视频讲解版》,李兴华 马云涛 著
标识符与关键字
先介绍一下“Java字母”和“Java数字”:
- Java字母:拉丁字母A到Z、a到z、下划线“_”、美元符号“$”。
- Java数字:阿拉伯数字0-9。
再列出Java关键字
public class 类名称{
}
这里的类名称就属于一个标识符内容,除类名称外,属性名称、方法名称等都属于标识符范畴,定义标识符时有基本规则:
- 长度不受限制,以Java字母开头,由Java字母和Java数字组成
- 不能是关键字
举例有效标识符:
yootk
li_sd
_chu
x2
_x3
举例无效标识符:
2x(数字开头)
class(关键字)
hud chas(包含空格)
cuih+cah(包含加号“+”)
数据类型
首先介绍变量与常量
变量与常量:变量内容可以改变,常量内容不能改变。
变量 需要定义,定义变量要先定义数据类型,再定义名称(标识符),例如:
byte x;
char c;
这里byte和char是定义的数据类型,x和c是定义的变量名称,所有变量名称在同一块代码中只能定义一次。
常量 整数默认类型为int,小数默认数据类型为double,若常量超出int范围或需要定义其他类型数据常量,则需要进行数据转换,转换方式有两种,加前缀“(float)”或者加后缀标识符“F”或"f“,举例见代码firstestfive.java中11、12行。
数据类型 | 大小位 | 可表示范围 | 默认值 |
---|---|---|---|
byte(字节) | 8 | -128~127 | 0 |
short(短整型) | 16 | -32768~32767 | 0 |
int(整形) | 32 | -2147483548~2147483647 | 0 |
long(长整形) | 64 | -9223372036854775808~-9223372036854775807 | 0 |
float(单精度浮点) | 32 | -3.4E38·3.4E38 | 0.0 |
double(双精度浮点) | 64 | -1.7E308~1.7E308 | 0.0 |
char(字符) | 16 | 0~255 | ‘\u0000’ |
boolean(布尔) | - | true或false | false |
tips:
若想表示整数就使用int,表示小数就使用double。
若要描述日期时间数字或者表示文件或内存大小就用long。
若要处理中文就使用byte。
数据类型应用举例代码——firstestfive.java
public class firstestfive {
public static void main(String args[]) {
//定义整型数据
int x = 10; //定义x变量,常量10,为x赋值10
int y = x * 2; //定义变量y
System.out.println(x);System.out.println(y);
System.out.println(); //空行
//数据溢出
long longnum = 2147483650L; //该数据(常量)已经超出默认数据类型int的表示范围,故加后缀“L”表示此常量数据类型为long
int intnum = (int) longnum;
System.out.println(longnum);
System.out.println(intnum);
System.out.println(); //将long类型变量转换为int类型变量,但由于超出范围,故发生数据溢出
//定义浮点型数据
double xiaoshu1 = 7.7; //7.7是小数,所以默认属于double类型
System.out.println(xiaoshu1*2); //double 型*int 型(自动转化为double型,2.0) = double 型
float xiaoshu2 = 8.8F; //小数默认类型为double,故若需要定义float类型数据,加后缀F,“8.8F”也可以写成“(float) 8.8"
System.out.println(xiaoshu2);
int xiaoshu3 = 12;
int xiaoshu4 = 5;
System.out.println(xiaoshu3 / (double) xiaoshu4);
System.out.println();
//int 型除 int 型,结果还是 int 型,故若结果为整数,需要将其中一个 int 型数据(除数或被除数)转化为 double 型
//定义字符型数据
char zifu1 = 'A';
int zifu2 = zifu1;
System.out.println(zifu1); //输出字符
System.out.println(zifu2); //字符型和 int 型互换,int 型以编码的形式出现(A编码是65,故输出65)
System.out.println();
//定义布尔型数据
boolean buer1 = false; //布尔型数据只有两种取值:true、false
if (!buer1) {
System.out.println("Yes!");
System.out.println();
} //if函数
//定义String型数据
String str1 = "hello ";
str1 = str1 + "Yin"; //字符串连接
str1 += "!!!"; //字符串连接简化
System.out.println(str1);
System.out.println();
//取值语句:数据类型.MAX_VALUE
int maxint = Integer.MAX_VALUE; //取数据类型 int(integer的缩写)的最大值
int minint = Integer.MIN_VALUE; //取数据类型 int的最小值
short maxshort = Short.MAX_VALUE; short minshort = Short.MIN_VALUE;
byte maxbyte = Byte.MAX_VALUE; byte minbyte = Byte.MIN_VALUE;
long maxlong = Long.MAX_VALUE; long minlong = Long.MIN_VALUE;
double maxdoub = Double.MAX_VALUE; double mindoub = Double.MIN_VALUE;
System.out.println(maxbyte);
System.out.println(minbyte);
System.out.println(maxshort);
System.out.println(minshort);
System.out.println(maxint);
System.out.println(minint);
System.out.println(maxlong);
System.out.println(minlong);
System.out.println(maxdoub);
System.out.println(mindoub);
}
}
输出结果:
10
20
2147483650
-2147483646
15.4
8.8
2.4
A
65
Yes!
hello Yin!!!
127
-128
32767
-32768
2147483647
-2147483648
9223372036854775807
-9223372036854775808
1.7976931348623157E308
4.9E-324