1、注释
1.1单行注释:只能注释当前行,以//开始,直到行结束。
1.2多行注释:注释一段文字,以/*开始,*/结束,idea的注释快捷键crtl+/。
1.3文档注释:用于生产API文档,配合JavaDoc。
2、标识符
关于 Java 标识符,有以下几点需要注意:
2.1所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始。
2.2首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合
2.3不能使用关键字作为变量名或方法名。
2.4标识符是大小写敏感的
合法标识符举例:
age
、
$salary
、
_value
、
__1_value
【注】
JAVA
不采用通常语言使用的
ASCII
字符集,而是采用
unicode
这样的标准的国际字符集。因此,这里的 字母的含义:可以表示英文、汉字等等。可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low。
3、数据类型
Java
的数据类型分为两大类:基本类型(
primitive type
)和引用类型 (reference type)
【注】引用数据类型的大小统一为
4
个字节,记录的是其引用对象的地址!
4、类型转换
不能对boolean类型进行类型转换。
不能把对象类型转换成不相关类的对象。
在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
转换过程中可能导致溢出或损失精度
4.1自动类型转换
自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型。
例如
: short
数据类型的位数为
16
位,就可以自动转换位数为
32
的
int
类型,同样
float
数据类型的位数为32,可以自动转换为
64
位的
double
类型。
4.2强制类型转换
强制类型转换,又被称为造型,用于显式的转换一个数值的类型. 在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。
如此处将double类型的x转换为int类型,并赋值给y
double x=10;
int y = (int)x;
【注】JDK7为我们直接提供了二进制整数的类型。我们只要以:0b开头即可。
int x = 0b0101;
int y = 1_0000_0000;//此处jdk7及以上都会自动识别这个_是个标识符,方便阅读
5、变量和常量
Java
是一种强类型语言,每个变量都必须声明其类型。
Java
变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
变量作用域
类变量(静态变量:
static variable
):独立于方法之外的变量,用
static
修饰。
实例变量(成员变量:
member variable
):独立于方法之外的变量,不过没有
static
修饰。
局部变量(
local variable
):类的方法中的变量。
public class Variable{
static int allClicks = 0; //类变量
String str = "helloworld"; //实例变量
public void method(){
int i = 0; //局部变量
}
}
局部变量:方法或语句块内部定义的变量。
生命周期是从声明位置开始到”}”为止。 在使用前必须先声明和初始化(赋初值)。 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
实例变量:方法外部、类的内部定义的变量。
从属于对象,生命周期伴随对象始终。 如果不自行初始化,他会自动初始化成该类型的默认初始值。
类变量:使用static定义。
从属于类,生命周期伴随类始终,从类加载到卸载。
常量(Constant)
:初始化
(initialize)后不能再改变值!不会变动的值,
final
常量名
=
值
;
6、运算符号
算术运算符
: +
,
-
,
*
,
/
,
%
,
++
,
--
赋值运算符
=
关系运算符
: >
,
<
,
>=
,
<=
,
==
,
!= instanceof
逻辑运算符
: &&
,
||
,
!
位运算符
: &
,
|
,
^
,
~
,
>>
,
<<
,
>>>
条件运算符?:
扩展赋值运算符
:+=
,
-=
,
*=
,
/=
整数运算:
如果两个操作数有一个为
Long,
则结果也为
long
没有
long
时,结果为
int
。即使操作数全为
shot,byte
,结果也是
int
浮点数运算:
如果两个操作数有一个为
double,
则结果为
double.
只有两个操作数都是
float,
则结果才为
float.
java中的乘幂处理:
Math
.
pow
(
3
,
2
)=3^2。Math
类提供了很多科学和工程计算需要的方法和常数。
位运算:
位运算符
: &
,
|
,
^
,
~
,
>>
,
<<
,
>>>
A = 0011
B = 1010
A&B 与 0010
| 或 1011
^ 异或(相同为0,不同为1)1001
~取反 ~A 1100
<< *2
>> /2 (运算速度快) 2<<3=2*2*2*2
字符串连接符:+
int a = 10;
int b = 20;
System
.
out
.
println
(""+
a
+
b
); 1020 //字符串在前直接进行拼接
System
.
out
.
println
(
a
+
b+""
); 30 //字符串在后先进行了运算,后拼接
三元运算符?
y = x?a:b
如果x为真则y = a
否则y = b