- 一、基本概念
- 二、语法规范
- 三、命名法
- 四、标识符命名规则
- 五、注释
- 六、Windows快捷键
- 七、数据类型
- 1.基本数据类型
- 自动类型转换
- 2.引用类型
- 数据类型在内存空间的分配
一、基本概念
| 类 | 类是一个模板,是对事物特征(变量)和行为(方法)的描述;具有相同属性和相同行为的事物,才能被归为一类 ; |
| 对象 | 对象是类的一个实体(或者实例);类只是一种对事物的定义描述,对象则是根据类的定义创建的个体; |
| 变量 | 变量是类对象的特征 |
| 方法 | 方法是类对象的行为 |
public class Hello{//创建Hello类
//变量
String name;
//方法
void print(String str) {
System.out.println(str);
}
public static void main(String[] args){
Hello hello = new Hello();//创建Hello类的类对象hello
hello.print("hello!");
}
}
二、语法规范
- 大小写敏感
- 类名首字母大写,遵循驼峰命名法
- 方法名首字母小写,遵循驼峰命名法
- 源文件名必须和类名相同,后缀是.java,编译文件后缀是.class
命名法:类名、变量名、方法名
- 驼峰命名法(推荐):由若干单词组成,每个单词首字母大写,如:UserName
- 下划线命名法(数据库命名推荐):单词小写,每个单词之间用下划线连接,如:user_name
- 匈牙利命名法:首字母用变量的数据类型缩写,后面遵循驼峰命名法,如:String sUserName
标识符: 在java语言中,对各种变量、方法和类等资源命名时使用的字符序列称为标识符, 简单来说,标识符就是开发人员给类、变量、方法等资源起的名字;
- 由26个英文字母大小写、数字(0-9)、符号 _ 和 $ 组成
- 标识符应以字母、_、$开头,不能以数字开头
- 标识符不能是关键字、保留字和字面量
关键字:在Java语法中有特殊语法意义的单词,如class,static,String
Java 关键字列表 (依字母排序 共50组):
abstract、assert(断言)、boolean、 break、 byte、 case、 catch、 char、 class、 const(保留关键字)、 continue、 default、 do、 double、 else、 enum、 extends、 final、 finally、 float、 for、 goto(保留关键字)、 if、 implements、 import、 instanceof、 int、 interface、 long、 native、 new、 package、 private、 protected、 public、 return、 short、 static、 strictfp(精确浮点)、 super、 switch、 synchronized、 this、 throw、 throws、 transient、 try、 void、 volatile、 while
保留字:指现有Java版本尚未使用,但以后版本可能会作为关键字使用的单词
保留字列表 (依字母排序 共14组):
true、false、null、byValue、cast、future、generic、inner、operator、outer、rest、var、goto(保留关键字)、const(保留关键字)
goto和const是保留字也是关键字。
字面量:true、false、null
五、注释被注释的代码只起到解释说明的作用,不会被编译,不参与代码的执行。
单行注释 ctrl+/ //[注释内容] 多行注释 ctrl+shift+/六、Windows快捷键
| 待更新 | |
|---|---|
| F2 | 重命名 |
| F5 | 刷新 |
| Ctrl+A | 全部选中 |
| Ctrl+S | 保存 |
| Ctrl+C | 复制 |
| Ctrl+V | 粘贴 |
| Ctrl+X | 剪切 |
| Ctrl+Z | 撤销 |
| Shift+Home | 选中-从光标位置到行头 |
| Shift+End | 选中-从光标位置到行尾 |
| Ctrl+Alt+Delete | 任务管理器 |
| Tab | 缩进 |
| Win+E | 打开我的电脑 |
| Win+R | 打开控制台 |
变量就是申请内存来存储值,也就是说,当创建变量的时候,需要在内存中申请空间。
内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型的数据。
因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。
| 整数类型 | byte、short、int、long |
| 浮点型 | float、double |
| 字符型 | char |
| 布尔型 | boolean |
- byte
1 内存占用8位,1字节
2 有正负号
3 取值范围 -27 ~ 27-1 (-128 ~ 127)
4 默认值 0
5 应用:byte类型用在大型数组中节约空间,主要代替int类型,因为byte类型的变量占用的内存空间只有int类型的四分之一 - short
1 内存占用16位,2字节
2 有正负号
3 取值范围 -215 ~ 215-1 (-32768 ~ 32767)
4 默认值 0
5 应用:Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一 - int
1 内存占用32位,4字节
2 有正负号
3 取值范围 -231 ~ 231-1 (-2147483648~ 2147483647)
4 默认值 0
5 Java中整数的默认类型 - long
1 内存占用64位,8字节
2 有正负号
3 取值范围 -263 ~ 263-1 (-9,223,372,036,854,775,808~ 9,223,372,036,854,775,807)
4 默认值 0L
5 这种类型主要使用在需要比较大整数的系统上
注:"L"理论上不分大小写,但是若写成小写"l"容易与数字"1"混淆,不容易分辩,所以最好大写
long n1 = 2; long n2 = 2i; long n3 = 2L;
- float
1 float数据类型是单精度,32位,4字节
2 最小值 1.17549435E-38f = 1. 17549435*(10-38)
3 最大值 3.4028235e+38f
4 默认值 0.0f
5 单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。当你需要小数部分并且对精度的要求不高时,单精度浮点型的变量是有用的。例如,当表示美元和分时,单精度浮点型是有用的。
float f1 = 1.123f; float f2 = 1.123F;
- double
1 float数据类型是双精度,64位,8字节
2 最小值 2.2250738585072014E-308
3 最大值 1.7976931348623157e+308
4 默认值 0.0d
5 在一些现代的被优化用来进行高速数学计算的处理器上双精度型实际上比单精度的快。所有超出人类经验的数学函数,如sin( ),cos( ) ,和sqrt( )均返回双精度的值。当你需要保持多次反复迭代的计算的精确性时,或在操作值很大的数字时,双精度型是最好的选择。
double d1 = 1.123; double d2 = 1.123d; double d2 = 1.123D;
- char
1 char类型是一个单一的 16 位 Unicode 字符,2字节
2 最小值 ‘u0000’(即为0)
3 最大值 ‘uFFFF’(即为65535)
4 作用:char数据类型可以储存任何字符
5 给char类型赋值,必须要用单引号
char c1 = 'a'; char c2 = '2'; char c3 = ',';
- boolean
1 boolean数据类型表示1位的信息
2 只有两个取值:true 和 false;
3 默认值是 false;
根据精度的由低到高排序为:
byte -> short,char -> int -> long -> float ->double
根据上面顺序,低精度数据类型的变量自动地转为高精度类型的变量
数据类型转换规则:
1 不能对boolean类型进行类型转换;
2 把高精度类型转换为低精度类型时,必须使用强制类型转换,转换过程中会导致溢出或损失精度;
3 浮点数到整数的转换,舍弃小数部分,而不是四舍五入;
默认值是null
引用类型包括三部分:对象名,对象的引用,对象
User user = new User(); //栈中保存的是:user = 对象的引用,即对象名和对象的内存地址 //堆中保存的是:new User();,即对象本身数据类型在内存空间的分配
java的内存模型中保存数据的有两部分: 堆(heap) 和 栈(stack) 。
1.基本类型的变量放在栈里;
2.引用类型中,对象本身放在堆里,对象的引用放在栈里
引用 就是指向对象在堆heap中的地址
判断:byte a = 1; byte b = a + 1;
答:× 。a为byte类型,1为int类型。高精度类型不能直接向低精度类型转换。
判断:short a = 1; a += 1;
答:√ 。 += 左右两边类型不同是会自动强制转换,+号不会进行强制类型转换。



