最近一段时间温习一下Java的基本语法,在此记录一下,也可以当成自己以后换工作面试前的准备。
Java基本语法的使用
关键字与保留字
关键字与保留字的定义以及特点
关键字定义
被java语言赋予了特殊含义,用作专门用途的单词。
保留字定义
现有的java版本尚未使用,但是其它语言有使用这些保留字的,java以后有可能会使用这些保留字。
特点
所有字母全部都是小写。
关键字与保留字大全
此列表为下方链接获取,并经过整理
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
标识符以及命名规则
标识符定义
在java中对各种类,方法,变量命名的时使用的字符被称为标识符,可以说凡是java中取名字的地方都可以被称为标识符。
标识符命名规则
- 由26个英文字母,0-9,_或$组成
- 不能以数字开头
- 不可以使用关键字以及保留字
- 严格区分大小写,长度没有限制
标识符命名规范
没有强制要求,建议遵守此规则,因为所有人都遵守此规则。
- 包名:单个单词全部小写,如果多个单词组成,所有单词都小写,例如:xxxyyyzzz
- 类名、接口名:单个单词首字母大写,多单词组成,所有单词的首字母大写,例如:Xxx 或XxxYzzZzz
- 变量名、方法名:单个单词全部小写,多单词组成,第一个单词首字母小写,以后单词的首字母大写,例如:xxx或xxxYyyZzz
- 常量名:所有字母大写,如果多个单词用下划线连接,例如:XXX_YYY_ZZZ
变量
变量的概念
- 内存中的一个存储区域
- 该区域内的数据可以在同一类型范围内不断变化
- 变量是程序中最基本的存储单位,包含变量类型、变量名和存储的值
变量的作用
用于在内存中保存数据
使用变量时的注意
- 变量必须先声明,后赋值使用
- 使用变量名来访问这块区域内的数据
- 变量只在作用域{}内有效
- 同一个作用域内,不能使用重复的变量名
变量分类
按照数据类型将变量分为两大类,看一张图了解一下。
整数类型(byte,short,int,long)
1.Java中各整数类型有固定的范围以及长度,不受OS(操作系统)的影响,以保证Java程序的可移植性
2.Java的整型常量默认为int类型,声明long类型常量后面需要加上‘l’或者‘L’(当不加L时,系统默认会将int类型提升为long类型,若此时数字范围超过int的最大范围,将会报错)
3.在Java程序中整型变量一般声明为int类型,除非特别大的数会声明为long类型
4.下面来看一下整数类型的范围:
5.简单再来了解一下比特与字节的关系:
在计算机中一个0或者1被存储为一个比特(bit),比特是计算机中最小的存储单位
计算机中最基本的存储单位是字节(byte),每个字节由8个比特组成
1KB = 1024B(byte)
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
浮点类型(float,double)
float(单精度):尾数可以精确到7位有效数字,占用空间4个字节(float的范围比long类型还要大)
double(双精度):精度是float的两倍,通常使用类型,占用空间8个字节(通常使用此类型)
注意:Java中默认浮点类型为double,如果声明为float类型,必须后面加上‘f’或‘F’,否则报错
字符类型(char)
1.一个字符(char)==2字节
2.定义char变量,通常使用’’,并且内部只能写一个字符
例如char = 'A’是正确的,char = ‘AB’ 则是错误的
3.char可以表示转义字符
例如:char n = ‘\n’; 表示换行符
4.可以用来表示字符串常量
例如:char a = ‘\u0041’; 表示大写A
char c = ‘\u0042’; 表示大写B
感兴趣的可以去搜索Unicode字符集去查看
布尔类型(boolean)
1.只有两个值true或false
2.常常用在循环获取判断语句中
基本数据类型转换
自动类型转换
当数范围小的数据类型变量与数范围大的数据类型变量做运算时,运算结果自动会提升为范围大的数据类型
小--------------------------------------------大
byte→short→int→long→float→double
注意:
当byte,char,short三种类型的变量做运算时,结果都为int类型
强制类型转换
自动类型转换的逆运算,由范围大的数据类型转换为范围小的数据类型,例如:
double a = 12.43;
int b = (int)a;
1.强转类型转换的时候需要使用强转符号:()
2.进行强制类型转换的时候,可能会导致精度损失
String的使用
1.String属于引用数据类型,我们习惯性称它为字符串
2.声明String时,使用""
注意:当我们使用String时,我们可以赋予空值,例如:
String s = "";
但是char赋值时不能赋予空值,有且仅能赋予一个值,例如:
char c = '';//编译将会报错
char c1 = 'A';//编译正确
3.不同String使用"+"进行连接
进制与进制之间的转换
所有的数字在计算机中都是以二进制存在的
对于数字,有四种表示方式
- 二进制:0,1,满2进1,以0B或者0b开头,例如:0b111
- 八进制:0-7,满8进1,以数字0开头,例如:0111
- 十进制:0-9,满10进1,例如:111
- 十六进制:0-9以及A-F,满16进1,以0x或0X开头,这里的A-F不区分大小写,例如:0x111
二进制转为十进制的计算:
下面来看一张图:
上面这张图应该都可以看懂的,同时也介绍了原码、反码、补码了解负数是怎么计算出来了。
十进制转为二进制的计算:
十进制转为二进制其实就是除2取余的逆运算
比如十进制13要取二进制
就拿13一直去除2,余数分别为10110000,
那13的二进制就是00001101
二进制转为八进制的计算:
0000000011101111
从右往左依次3个分离出来计算
011 -> 0 * 2 ^2 + 1 * 2 ^1 + 1 * 2 ^0 = 3
101 -> 1 * 2 ^2 + 0 * 2 ^1 + 1 * 2 ^0 = 5
111 -> 1 * 2 ^2 + 1 * 2 ^1 + 1 * 2 ^0 = 7
则计算出来的八进制为357
二进制转为十六进制的计算:
从右往左依次4个分离出来计算
1111 -> 1 * 2 ^3 + 1 * 2 ^2 + 1 * 2 ^1 + 1 * 2 ^0 = F
1110 -> 1 * 2 ^3 + 1 * 2 ^2 + 1 * 2 ^1 + 0 * 2 ^0 = E
则计算出来的十六进制为0xFE
总结
其实所有进制之间的转换都可以通过二进制作为媒介进行转换,
比如想要将十进制转为八进制,完成可以将十进制转换为二进制,然后将二进制转换为八进制。
总结
先记录到这里了,如果有什么错误的地方,欢迎提出
下一篇将总结关于运算符的相关知识
Java语法基础(运算符篇)