Java,世界上最安全的编程语言
JavaSE (Round Two)
一.基本数据与运算
1.Java的关键字
{暂时先不讲解,以后都会用到的}
2.标识符
程序中出现的一些事物所起的名称,称之为标识符。
为了便于管理一般公司会制定规则
1.标识符必须遵守以下规则:
- 标识符是由字母、数字、下划线 _ 和美元符 $ 构成的字符序列
- 标识符必须以字母、下划线 _ 或美元符 $ 开头,不能以数字开头
- 标识符不能是关键字
- 标识符不能是Java内置关键字数据( this 、 true 、 false 、 null 、 super 等)
- 标识符不能是API里面的已知类的名称
- 标识符可以为任意长度,但必须是一个连续的字符序列
- 标识符严格区分大小写
2.标识符命名规范:
(1)大驼峰式:全部单词首字母大写,用于类、接口等的起名
(2)小驼峰式:除第一个单词外其他单词首字母大写,用于变量、函数等的起名
常量规范:所有单词大写,单词之间用下划线 _ 分隔
(3)包名规范:所有单词小写,单词之间用点 . 分隔
3.注释
注释用于解释说明程序的文字就是注释。有利于提高了代码的阅读性。
注释分类:
(1)单行注释 :
public class HelloWorld {//单行注释
public static void main(String[] args) {//单行注释
System.out.println("Hello Java,Hello World!");//单行注释
}//单行注释
}//单行注释
(2)多行注释 :
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello Java,Hello World!");
}
}
/*多行注释
多行注释
多行注释
多行注释*/
(3)文档注释 :
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello Java,Hello World!");
}
}
/**多行注释
多行注释
多行注释
多行注释*/
单行注解和多行注解会被JVM忽略,文档注解是Java特有的,它可以通过javadoc工具生成文档,当作手册来使用。
4.常量
程序中固定不变化的值。
常量分类:
- 整数常量:所有整数可以分为三类 正整数 零 负整数
- 小数常量:所有小数
- 布尔型常量:较为特有,只有两个数值:true和false
- 字符常量:将一个数字字母或者符号用单引号(’’)标识
- 字符串常量:将一个或者多个字符用双引号("")标识
- null常量:只有一个数值就是null
5.进制
任何数据在计算机中都是以二进制的形式存在的。
(通过半导体模拟的“0和1”)
起源:二进制早起由电信号开关演变而来。用开表示某一个数,用关表示某一个数,然后使用不同的开和关组合起来,就可以表示数据了。
一个整数在内存中一样也是二进制的
-
二进制:
每一个二进制数位用0,1 ,满2进1。
负数的二进制表示为:该负数所对的正数的二进制取反加1 -
八进制:
每一个八进制数位用0,1,2,3,4,5,6,7 ,满8进1。
用0开头表示。 -
十进制:
每一个十进制数位用0,1,2,3,4,5,6,7 ,8,9
满10进1。 -
十六进制:
每一个十六进制数位用0,1,2,3,4,5,6,7 ,8,9,A,B,C,D,E,F ;
满16进1 ,用0x开头表示
6.变量
变量表示内存中的一个存储区域,该区域用来不断的存放同一类型的常量数据,并可以重复使用这个区域。
并且这个区域有自己的名称(变量名)和类型(数据类型)。
1.定义变量的格式:
数据类型 变量名 = 初始化值;
2.变量使用注意:
变量在使用时,必须先给变量空间存放数据,即初始化。
(成员变量因为是存储在堆中,生命周期为程序结束或者被强制回收或释放。)
二.基本数据类型和引用数据类型
通常使用byte来作为计量单位,在计算机中数据以二进制的形式存在,1bit就代表一个二进制位,而1byte=8bit。
1.字节型byte
大小:1byte
数据在计算机底部存储的最根本的样子,虽然可读型几乎为零,但是传输是最快的,所有的数据要想进行传输都必须改为字节型数据
2.短整型short ,整型int,长整型long
大小:2byte 4byte 8byte
整型数据根据数据范围不同,需要使用不同的关键字来表示。
short、int、long这三个关键字都可以在内存中开辟出存放整型数据的空间。
short开辟2个字节空间,int开辟4个字节空间,long开辟8个字节空间。
3.单精度浮点型float,双精度浮点型double
大小:4byte 8byte
Java浮点型常量默认是double,则要声明一个常量为float型,则需在常量后加上f 或 F
Java浮点类型常量有两种表示方式:
- 十进制形式: 例如:3.14 ,168.0
- 科学计数法形式: 例如:3.14e2, 3.14E2
4.布尔型boolean
大小:1byte
boolean类型通常用于逻辑运算和程序流程控制
boolean 类型数据只允许取值true 或 false
5.字符型char
大小:2byte
char型数据用来表示通常意义上得“字符”,char占2字节,的范围是[0,65535],但是前256个表示特殊字符;
字符常量为用单引号括起来的单个字符。
例如:
java字符采用Unicode编码,可用十六进制编码形式表示 char c1 = ‘\u0061’;
1.转义字符
有部分符号在Java有特殊含义,当需要使用符号自身原有的意思时,这时可以通过转义字符表示。
如:双引号,在Java中使用双引号表示字符串,若想使用双引号本身含义,即可使用’\”’表示
2.字符编码表
从前面的介绍知道计算机中所有数据都是采用二进制表示的,怎么才能把生活中的这些字符转成二进制表示呢?
为了解决这个问题,专门制作了一张码表,这张码表中就存放所有字符与整数的对应关系。
例如:
‘A’-----> 65
‘B’----->66
‘a’------>97
‘b’------>97
…
所以当把一个整型数据赋值给char类型数据时,计算机会查码表中这个整数所对应的字符是什么,然后将这个字符存放在char类型的空间中,char ch = 65 其实是将A存放在ch中
6.数据类型转换
1.隐式类型转换:
当在存储整数数据时,Java中所有的整数默认都是int类型的。所以在将-128~127之间的数据存储在byte类型空间中时,JVM会把这个int类型的数据自动转换成byte类型,然后存放在byte空间中。
整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:
- 容量小的类型可自动转换为容量大的数据类型(类型自动提升)
- byte,short,char → int → long → float → double
- byte,short,char之间不会相互转换,他们在计算时首先会转换为int类型
2.强制类型转换:
容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度的降低或溢出,使用时要格外注意
long l = 123L;
int i = (int) l;
double d = 3.14;
float f = (float) d
三.运算符
1.算数运算符
运算符 | 作用 | 实例 |
---|---|---|
+ | 加 | 1+2 |
- | 减 | 2-1 |
* | 乘 | 1*2 |
/ | 除 | 1/2 |
% | 求余 | 2%1 |
1.对于除号“/”,它的整数除和小数除是有区别的:
整数之间做除法时,只保留整数部分而舍弃小数部
分。
2.对于加号“+”除字符串相加功能外,还能把非字符串转换成字符串 。
“+”运算符两侧的操作数中只要有一个
String类型,一个是基本数据类型时,编译成class文件后,两个操作数就被连接成了一个新的String值。
3.如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。
(但被模数是负数就另当别论。)
对于取模运算 m % n :
- 当 m 等于 n 时: m % n的结果为零
- 当 m 大于 n 时: m % n的结果为 m / n 的余数
- 当 m 小于 n 时: m % n的结果为 m
2.自增运算符
运算符 | 作用 | 实例 |
---|---|---|
++val | 前置自加 | a=++val |
val++ | 后置自加 | a=val++ |
- -val | 前置自减 | a=- -val |
val- - | 后置自减 | a=val- - |
当在一个运算表达式中包含自加运算时,当自加符号在变量右侧时,需要先将变量的值临时保存,然后给变量空间加1,接着用临时变量空间中的值去和其他运算符进行运算。
当自加符号在变量左侧时,需要先给变量空间加1,然后把加1后的值和其他运算符进行运算
3.赋值运算符
运算符 | 作用 | 实例 | 等价于 |
---|---|---|---|
+= | 加法赋值 | i+=8 | i=i+8 |
-= | 减法赋值 | i-=8 | i=i-8 |
/= | 除法赋值 | i/=8 | i=i/8 |
*= | 乘法赋值 | i*=8 | i=i*8 |
%= | 取余赋值 | i%=8 | i=i%8 |
注意:如果类型不同(指i和8),赋值运算符会完成强转
4.比较运算符
注意:它的返回结果为boolean型
5.逻辑运算符
- & :两边都为true,结果是true。否则为false。两边只要有一个false。结果必然是false。
- | :两边都为false,结果是false。否则为true。两边只要有一个true。结果必然是true。
- ^ :异或。两边相同为false。两边不同为true。
- !:非。非真为假,非假为真
6.移位运算符
运算符 | 名称 | 作用 |
---|---|---|
<< | 左移运算符 | num <<1,相当于num乘以2 |
>> | 右移运算符 | num >>1,相当于num除以2 |
>>> | 无符号右移 | 忽略符号位,空位都以0补齐(计算机中数字以补码存储,首位为符号位)。 |