二,基本语法
1,关键字和保留字
2,标识符
3,变量
4,运算符
5,程序流程控制
2.1关键字和保留字
关键字:被赋予了特殊的意义的单词,关键字的特点是字母都是小写的
class interface enum byte short int long float double char boolean void
if else switch case default while for do break continue return
public protected private等等
保留字:goto,const在java可以使用但是没有任何效果,需要注意的是自己定义的时候避免和关键字保留字重名。
在开发工具中关键字都是高亮的
2.2标识符
在java中对各种方法名,类名,变量名等命名时使用的字符序列称为标识符,凡是自己可以起名字的地方都叫做标识符
如何定义合法的标识符:
可以由26个英文字母大小写组成,0-9,_或者$组成
不能以数字开头
标识符不能使用关键字或者保留字,但是能包含
java中是严格区分大小写的,类名通常首字母是大写(大驼峰),函数名和变量名通常是首字母小写,采用小驼峰的命名规则
标识符不能包含空格
java中的常用标识符的定义规则:
1,包名:多单词组成所有字母均要小写
2,类名和接口名:多单词组成,第一个字母要大写,第二个单词开始首字母要大写:XxxxYyyyZzzz
3,变量名和方法名:多单词组成,第一个字母要小写,第二个单词开始首字母大写 xxxxYyyyZzzz
4,常量(不能被修改):所有字母均要大写,多个单词需要使用下划线连接:XXX_YYY_ZZZ
注意:1,在给标识符起名字的时候我们需要做到简明见名知意,望文生意 String name = "张三"
public void test(){
//函数名的声明此处时不规范的
}
2,java采用的时unicode编码字符集,就意味着标识符可以采用汉字,但是我们不建议使用汉字
2.3变量
变量:
内存中的一块存储区域,该区域内的数据可以在相同的类型范围内变化,变量是程序中最基本的存储单元,声明一个变量需要包含 变量的类型 变量名 = 变量的值
变量声明的语法:
数据类型 变量的名字 比如 int variable;
变量赋值:
变量名 = 变量值 variable = 10
在变量的声明的同时赋值:变量的类型 变量名 = 变量的值 int variable = 10
注意:
1,java中变量需要遵循是声明赋值再使用的规则
2,使用变量名就可以访问该变量的值
2.4变量的分类
变量分类:
1,按照数据类型去划分的,不同的类型的再内存中划分的空间大小是不同
基本数据类型:
数值型:整型(byte,short,int,long)
浮点型:(float,double)
字符型:char
布尔型:boolean
引用数据类型:
类:class
接口:interface
数组:[]
2,按照声明的位置不同去划分
声明再方体之外的变量称为成员变量
实例变量:不以static修饰的
类变量:以static修饰
声明再方法体内部的变量的称为局部变量
形参:方法,构造器中定义的变量
方法的局部变量:定义方法内部的
代码块局部变量:在代码快内定义
成员变量和局部变量的异同:
相同点都有声明周期,不同点:局部变量除了形参以为都必须显式初始化
2.5整型
整型:byte,short,int,long,在java中不同的类型有不同的范围和字段长度,不受操作系统的影响,目的是为了保证java的可移植性
在java中默认整型常量为int类型,声明long类型的变量的时候需要在后边加上小写的l或者大写的L
如果整型表示的数比较大用long
bit是计算机中最小的存储单位,byte是计算机基本存储单元
1mb=1024kb 1kb=1024b
自动类型提升:当运算的时候,小的类型会尝试转换为大的类型,这种方式叫做自动类型提升
如果是低转高(向上转型)没有问题,但是高转低(向下转型)可能会丢失精度
强制类型转换:在java中如果是高转低那么叫做强制类型转换,强制类型转换可能会丢失精度。
类型 | 占用的空间 | 表示范围 |
byte | 1字节=8bit | -128~127 |
short | 2字节 | -2^15~2^15-1 |
int | 4字节 | -2^31~2^31-1 约21亿个 |
long | 8字节 | 2^63~2^63-1 |
2.6 浮点型
浮点型也有其固定的长度和范围
float(单精度):最多可以保留小数点后七位
double(双精度):最多可以小数点后16位
java中浮点型常量的默认值是double,声明float需要在气候加f或者F
类型 | 占用的空间 | 表示的范围 |
float | 4字节 | -3.403E38~3.403E38 |
double | 8字节 | -1.798E308~1.798E308 |
2.6字符型
char类型用来描述是单个字符,占用两个字节(通常情况)
字符型变量的表现形式:
在java中字符型用单引号引起来
第一种表现形式:char c1 = 'a';char c2 = '男';
第二种表现形式:使用转义字符'\',可以将其后的字符转换为特殊的字符常量
第三种表现形式:使用unicode值表示字符常量 '\uxxxx' 其中xxxx位十六进制的整数 \u000a \n
2.7常见的编码
1,ASCLL:不能表示所有字符、
2,Unicode:可以解决乱码
3,UTF-8:是使用最多的编码表规定unicode的存储
4,gb2312:第一代中文编码表
5,gbk:gb2312的升级版本