javase 基本语法
2018-07-08
HelloWorld
public class HelloWorld{
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
标识符
- 允许的字符
- 英文大小写字母(
a-zA-Z
)
- 数字字符(
0-9
)
$
和_
- 限制条件
- 数字不能开头
- 不可以使用关键字
- 严格区分大小写,不限制长度
数据类型
Java
语言是强类型语言,对于每一种数据都定义了明确的具体数据类型。
- 基本数据类型
- 整数类型:
byte
、short
、int
、long
- 小数类型:
float
、double
- 字符类型:
char
- 布尔类型:
boolean
四类 |
八种 |
字节数 |
数据表示范围 |
整型 |
byte |
1 |
-128~127 |
- |
short |
2 |
-32768~32767 |
- |
int |
4 |
-2147483648~2147483648 |
- |
long |
8 |
-2^63~2^63-1 |
浮点型 |
float |
4 |
-3.403E38~3.403E38 |
- |
double |
8 |
-1.798E308~1.798E308 |
字符型 |
char |
2 |
表示一个字符,如(‘a’,’A’,’0’,’家’) |
布尔型 |
boolean |
1 |
只有两个值true与false |
常量
- 整数类型
- 十进制表示方式:正常数字,如
13
、25
等
- 二进制表示方式:以
0b
(0B
)开头,如0b1011
、0B1001
- 十六进制表示方式:以
0x
(0X
)开头,数字以0-9
及A-F
组成,如0x23A2
、0xa
、0x10
- 八进制表示方式:以
0
开头,如01
、07
、0721
- 小数类型
- 布尔类型
- 字符类型
- 字符串类型
- 如
“我爱Java”
、“0123”
、“”
、“null”
注意
- 整形常量默认是
int
类型
- 小数常量默认是
double
类型
- 定义长整形数据如果值超过
int
取值范围后面要加L
- 定义
float
类型的数据后面要加f
否则默认是double
数据类型转换
- 表示范围小的数据类型转换成范围大的数据类型,这种方式称为自动类型转换
- 表示范围大的数据类型转换成范围小的数据类型,这种方式称为强制类型转换
运算符
常用运算符
运算符 |
运算规则 |
范例 |
结果 |
|
+ |
正号 |
+3 |
3 |
|
+ |
加 |
2+3 |
5 |
|
+ |
连接字符串 |
“中”+“国” |
“中国” |
|
- |
负号 |
int a=3;-a |
-3 |
|
- |
减 |
3-1 |
2 |
|
* |
乘 |
2*3 |
6 |
|
/ |
除 |
5/2 |
2 |
|
% |
取模 |
5/2 |
1 |
|
++ |
自增 |
int a=1;a++/++a |
2 |
|
– |
自减 |
int b=3;a–/–a |
2 |
|
= |
赋值 |
int a=2 |
2 |
|
+= |
加后赋值 |
int a=2,a+=2 |
4 |
|
-= |
减后赋值 |
int a=2,a-=2 |
0 |
|
*= |
乘后赋值 |
int a=2,a*=2 |
4 |
|
/= |
整除后赋值 |
int a=2,a/=2 |
1 |
|
%= |
取模后赋值 |
int a=2,a%=2 |
0 |
|
== |
相等于 |
4==3 |
False |
|
!= |
不等于 |
4!=3 |
True |
|
< |
小于 |
4<3 |
False |
|
> |
大于 |
4>3 |
True |
|
<= |
小于等于 |
4<=3 |
False |
|
>= |
大于等于 |
4>=3 |
True |
|
& |
与 |
false&true |
False |
|
| |
或 |
false |
true |
True |
^ |
异或 |
true^flase |
True |
|
! |
非 |
!true |
Flase |
|
&& |
短路与 |
false&&true |
False |
|
|| |
短路或 |
false||true |
True |
|
?: |
三元运算符 |
1>2?3:4 |
4 |
|
注意事项
- 加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。
- 除法
/
当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。
%
为整除取余符号,小数取余没有意义。结果符号与被取余符号相同。
- 整数做被除数,0不能做除数,否则报错。
- 小数做被除数,整除0结果为
Infinity
,对0取模结果为NaN
- 短路与
&&
:参与运算的两边数据,有false
,则运算结果为false
;
- 短路或
||
:参与运算的两边数据,有true
,则运算结果为true
;
- 逻辑非
!
: 参与运算的数据,原先是true
则变成false
,原先是false
则变成true
。
运算符优先级
优先级 |
描述 |
运算符 |
1 |
括号 |
()、[] |
2 |
正负号 |
+、- |
3 |
自增自减,非 |
++、–、! |
4 |
乘除,取余 |
*、/、% |
5 |
加减 |
+、- |
6 |
移位运算 |
«、»、»> |
7 |
大小关系 |
>、>=、<、<= |
8 |
相等关系 |
==、!= |
9 |
按位与 |
& |
10 |
按位异或 |
^ |
11 |
按位或 |
| |
12 |
逻辑与 |
&& |
13 |
逻辑或 |
|| |
14 |
条件运算 |
?: |
15 |
赋值运算 |
=、+=、-=、*=、/=、%= |
16 |
位赋值运算 |
&=、|=、«=、»=、»>= |
流程控制
流程控制方面Java
和C
语言基本一致,支持:
- 分支:
if(else)
、switch
- 循环:
while
、do...while
、for
,循环语句支持break
和continue
数组
- 一维数组定义
- 二维数组的定义
- 第一种定义格式
int[][] arr = new int[3][4];
- 上面的代码相当于定义了一个3*4的二维数组,即二维数组的长度为3,二维数组中的每个元素又是一个长度为4的数组
- 第二种定义格式(不推荐)
int[][] arr = new int[3][];
- 第二种方式和第一种类似,只是数组中每个元素的长度不确定
- 第三种定义格式
int[][] arr = { {1,2},{3,4,5,6},{7,8,9}};
- 二维数组中定义了三个元素,这三个元素都是数组,分别为
{1,2}
、{3,4,5,6}
、{7,8,9}
(本文完)
本作品采用知识共享署名-非商业性使用-相同方式共享
4.0 国际许可协议进行许可。