1. 标识符
标识符可以简单的理解成一个名字。
在Java中,我们需要标识代码的很多元素,包括类名、方法、字段、变量、包名等等。我们选择的那个名称就称为标识符,一个正确的标识符需要遵循以下规则:
- 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符
- 不能以数字开头。如:123name 就是不合法
- 标识符严格区分大小写。
- 标识符的命名最好能反映出其作用,做到见名知意。
- 标识符不能是Java的关键字
2. 关键字
3. 注释
- 单行注释:
格式: 每行都以”//”开头.
快捷方式: Ctrl+/ 添加注释,同样的快捷键,再按一次取消注释 - 多行注释:
格式: 以” /* ”开头, 以” * / ”结束.
快捷方式: Ctrl+shift+/ 添加注释, Ctrl+shift+\ 取消注释, 也可以输入”/*”之后按回车添加注释 - 文档注释:
格式: 以” /** ”开头。 以” */ ”结尾.
快捷方式: 输入“/**” 之后按回车添加注释
4. 变量
我们通过三个元素来描述变量:变量类型 变量名以及变量值。
int age = 18; //声明int类型的变量并赋值
String tel ; //声明String类型的变量
注意:
- 变量名必须是一个有效的标识符
- 变量名不可以使用java关键字
- 变量名不能重复
5. 数据类型
package cn.tedu.basic;
/**
* 本类用于查看基本类型的最大值与最小值
* Ctrl+Alt+向下键 快速向下复制一行
*/
public class TestTypeScope {
//必须要写入口函数,否则代码无法执行,因为没有入口
public static void main(String[] args) {//入口函数
//进行整形类型的测试 byte1 short2 int4 long8
//1.定义变量,用变量分别保存最大值与最小值
//定义变量 数据类型 变量名 变量值 Ctrl+Alt+向下键 快速向下复制一行 换位置:Alt+方向键
/**JAVA提供了对应的基本类型的工具箱*/
byte byteMax = Byte.MAX_VALUE;
byte byteMin = Byte.MIN_VALUE;
System.out.println("byte类型的最大值是:"+byteMax);//127
System.out.println("byte类型的最小值是:"+byteMin);//-128
short shortMax = Short.MAX_VALUE;
short shortMin = Short.MIN_VALUE;
System.out.println("short类型的最大值是:"+shortMax);//32767
System.out.println("short类型的最小值是:"+shortMin);//-32768
int intMax = Integer.MAX_VALUE;
int intMin = Integer.MIN_VALUE;
System.out.println("int类型的最大值是:"+intMax);//2147483647
System.out.println("int类型的最小值是:"+intMin);//-2147483648
long longMax = Long.MAX_VALUE;
long longMin = Long.MIN_VALUE;
System.out.println("long类型的最大值是:"+longMax);//9223372036854775807
System.out.println("long类型的最小值是:"+longMin);//-9223372036854775808
//浮点型测试 float double
//1.4E-45(1.4乘以10的负45次方)
float floatMax = Float.MAX_VALUE;
float floatMin = Float.MIN_VALUE;
System.out.println("float类型的最大值是:"+floatMax);//3.4028235E38
System.out.println("float类型的最小值是:"+floatMin);//1.4E-45
double doubleMax = Double.MAX_VALUE;
double doubleMin = Double.MIN_VALUE;
System.out.println("double类型的最大值是:"+doubleMax);//1.7976931348623157E308
System.out.println("double类型的最小值是:"+doubleMin);//4.9E-324
//布尔型boolean true真 false假
boolean b1 = true;
boolean b2 = false;
//字符型char
char c1 = 'a';//可以保存一个字符
char c2 = 97;//可以保存一个数字
char c3 = '中';//可以保存一个汉字
//char类型可以存数字,但是在打印时,会去查ASCII码表,把数字对应的字符拿出来使用
//ASCII码表值规定了数组0-127对应的字符,128-65535默认按照字符?来处理
System.out.println(c1);//a
System.out.println(c2);//a
System.out.println(c3);//中
}
}
6. 类型转换
箭头开始的地方是小类型,箭头指向的地方是大类型
我们此处所指的"大"和"小",指的是对应类型的取值范围,不是字节数哦
6.1 口诀
小到大,直接转 大到小,强制转 浮变整,小数没 低 ------------------------------------> 高
byte,short,char→ int→ long→float→double
6.2 运算规则
- 计算结果的数据类型,与最大数据类型一致
System.out.println(3/2);//1,int/int,得到的结果类型还是int
System.out.println(3/2d);//1.5,int/double。得到的结果是double
- byte,short,char三种比int小的整数,运算时会先自动转换成int
byte a = 1;
byte b = 2;
byte c = (byte)(a+b);
//a+b会自动提升成int类型,右面得运算结果就是int大类型
//给左面的byte小类型赋值,不可以,需要强转。
- 整数运算溢出
//溢出的现象:
//因为做了大的整型数据的运算,会超出int取值范围。解决方法:把整数提升成long类型。
System.out.println(300000000L * 60 * 60 * 24 * 365);
-
浮点数运算不精确
-
浮点数的特殊值
Infinity 无穷大 3.14/0
NaN not a number 0/0.0 或 0.0/0