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