Java
重要特点
1) Java
语言是面向对象的
(
oop
)
2) Java
语言是健壮的。
Java
的强类型机制、异常处理、垃圾的自动收集等是
Java
程序健壮性的重要保证
3) Java
语言是
跨平台性的
。
[
即
:
一个编译好的
.class
文件可以在多个系统下运行,这种特性称为跨平台
]
4) Java
语言是解释型的
[
了解
]
解释性语言:
javascript,PHP, java
编译性语言
: c / c++
区别是:解释性语言,编译后的代码,不能直接被机器执行
,
需要解释器来执行
,
编译性语言
,
编译后的代码
,
可 以直接被机器执行, c /c++
Java
核心机制
-Java
虚拟机
[JVM java virtual machine]
基本介绍
1) JVM
是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在 JDK 中
.
2)
对于不同的平台,有不同的虚拟机。
3) Java
虚拟机机制屏蔽了底层运行平台的差别,实现了
“
一次编译,到处运行
”
Java
常用的转义字符
在控制台,输入
tab
键,可以实现命令补全
\t
:一个制表位,实现对齐的功能
\n
:换行符
\\
:一个
\
\" :
一个
"
\'
:一个
'
\r :
一个回车
Java
中的注释类型
1)
单行注释
//
2)
多行注释
/* */
3)
文档注释
/** */
单行注释:
基本格式
格式:
//
注释文字
多行注释:
基本格式
格式:
/*
注释文字
*/
1)
被注释的文字,不会被
JVM
(java 虚拟机)解释执行
2)
多行注释里面不允许有多行注释嵌套
文档注释
Java代码规范
字符类型可以表示单个字符,字符类型是 char,char 是两个字节(可以存放汉字),多个字符我们用字符串 String
自动类型转换的逆过程,
将容量大的数据类型转换为容量小的数据类型
。使用时要加上强制转换符
( )
,但可能造成
精度降低或溢出
,
格外要注意。
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
1)
算术运算符
2)
赋值运算符
3)
关系运算符
[
比较运算符
]
4)
逻辑运算符
5)
位运算符
[
需要二进制基础
]
6)
三元运算符
1)
关系运算符的结果都是
boolean
型,也就是要么是
true
,要么是
false
2)
关系表达式 经常用在
if
结构的条件中或循环结构的条件中
1)
关系运算符的结果都是
boolean
型,也就是要么是
true
,要么是
false
。
2)
关系运算符组成的表达式,我们称为关系表达式。
a > b
3)
比较运算符
"=="
不能误写成
"="
逻辑运算符用于连接多个条件(多个关系表达式),最终的结果也是一个
boolean
值。
分为两组学习
1)
短路与
&&
, 短路或
||
,取反
!
2)
逻辑与
&
,逻辑或
|
,
^
逻辑异或
逻辑运算规则:
1) a&b : &
叫逻辑与:规则:当
a
和
b
同时为
true ,
则结果为
true,
否则为
false
2) a&&b : &&
叫短路与:规则:当
a
和
b
同时为
true ,
则结果为
true,
否则为
false
3) a|b : |
叫逻辑或,规则:当
a
和
b
,有一个为
true ,
则结果为
true,
否则为
false
4) a||b : ||
叫短路或,规则:当
a
和
b
,有一个为
true ,
则结果为
true,
否则为
false
5) !a :
叫取反,或者非运算。当
a
为
true,
则结果为
false,
当
a
为
false
是,结果为
true
6) a^b:
叫逻辑异或,当
a
和
b
不同时,则结果为
true,
否则为
false
&&
和
&
基本规则
短路与
&&
条件
1&&
条件
2
两个条件都为
true
,结果为
true,
否则
false
逻辑与
&
条件
1&
条件
2
两个条件都为
true
,结果为
true,
否则
false
&&
短路与:如果第一个条件为
false
,则第二个条件不会判断,最终结果为
false
,效率高
& 逻辑与:不管第一个条件是否为 false,第二个条件都要判断,效率低
开发中, 我们使用的基本是使用短路与&&, 效率高
短路或
||
条件
1||
条件
2
两个条件中只要有一个成立,结果为
true,
否则为
false
|
逻辑或
条件
1|
条件
2
只要有一个条件成立,结果为
true,
否则为
false
||
短路或:如果第一个条件为
true
,
//
则第二个条件不会判断,最终结果为
true
,效率高
|
逻辑或:不管第一个条件是否为
true
,第二个条件都要判断,效率低
开发中,我们基本使用
||
!
非(取反)
!
条件
如果条件本身成立,结果为
false
,否则为
true
a^b:
叫逻辑异或,当
a
和
b
不同时,则结果为
true,
否则为
false
基本赋值运算符
=
int a = 10;
复合赋值运算符
+=
,
-=
,
*=
,
/=
,
%=
等
,
重点讲解一个
+=
,其它的使用是一个道理
a += b;
[
等价
a = a + b; ]
a -= b;
[
等价
a = a - b; ]
赋值运算符的左边 只能是变量
,
右边 可以是变量、表达式、常量值
复合赋值运算符会进行类型转换。
byte b = 2; b+=3; b++;
b += 2; //
等价
b = (byte)(b + 2);
b++; // b = (byte)(b+1);
三元运算符
条件表达式
?
表达式
1:
表达式
2;
运算规则:
1.
如果条件表达式为
true
,运算后的结果是表达式
1
;
2.
如果条件表达式为
false
,运算后的结果是表达式
2
;
口诀
: [
一灯大师:
一真大师
]
1)
表达式
1
和表达式
2
要为可以赋给接收变量的类型
(
或可以自动转换
)
2)
三元运算符可以转成
if--else
语句
int res = a > b ? a++ : --b;
if ( a > b) res = a++;
else res = --b;
int n1=553; int n2=33; int n3=123; int max = (n1>n2?n1:n2)>n3?(n1>n2?n1:n2):n3; System.out.println("最大数="+max);
1)
运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。如右表,上一行运算符总优先于下一行。
2)
只有单目运算符、赋值运算符是从右向左运算的。
3)
一览表
,
不要背,使用多了,就熟悉了
.