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 国际许可协议进行许可。