1.引言
Java是一种面向对象的编程语言,由Sun Microsystems于1995年推出。Java语言的设计目标是可移植性、安全性和易开发性。它的语法结构类似于C++,但相比之下更加简洁和简单,同时具有更好的可扩展性和可移植性。Java的应用领域非常广泛,在企业应用、客户端应用、移动应用、Web开发等方面都有广泛的应用。2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官网即可:https://www.oracle.com 。
如今java语言分为三个版本:
JavaSE(标准版),用于桌面应用的开发;
JavaME(小型版),用于嵌入式消费类电子设备;
JavaEES(企业版),用于web方向的网站开发;
2.数据类型和变量
2.1数据类型
java中的数据类型分为基本数据类型和引用数据类型两种。
其中基本数据类型如下:
数据类型 | 关键字 | 内存占用 | 取值范围 |
---|---|---|---|
整数类型 | byte | 1 | -128~127 |
short | 2 | -32768~32767 | |
int(默认) | 4 | -2的31次方到2的31次方-1 | |
long | 8 | -2的63次方到2的63次方-1 | |
浮点类型 | float | 4 | 负数:-3.402823E+38到-1.401298E-45 正数: 1.401298E-45到3.402823E+38 |
double(默认) | 8 | 负数:-1.797693E+308到-4.9000000E-324 正数:4.9000000E-324 到1.797693E+308 | |
字符类型 | char | 2 | 0-65535 |
布尔类型 | boolean | 1 | true,false |
注意:
在java中整数默认是int类型,浮点数默认是double类型。
E-45表示10的负45次方,E+38表示10的38次方。
long类型需要在数值后面加上字母"L/l"来标识
float浮点数类型需要在数值后面加上字母"F/f"来标识
小知识:当整型最大值加一会变成整型最小值,原因是整型采用补码表示,整数溢出会导致回绕到最小值处。
例:
2.2变量
变量的声明和初始化:数据类型 变量名 = 初始值;
变量的作用域指的是变量的可见范围。在Java中,变量的作用域可以是局部的(在方法内部声明)或全局的(在类中声明,但方法外部的地方可见)。
变量的命名规则需要遵循以下规则:
- 变量名只能包含字母、数字和下划线、美元符号“$” 。
- 变量名不能以数字开头。
- 变量名不能是Java关键字。
- 变量名对大小写敏感。
3.运算符
3.1算术运算符
符号 | 作用 | 说明 |
---|---|---|
+ | 加 | 与“+”相同 |
- | 减 | 与“-”相同 |
* | 乘 | 与“×”相同 |
/ | 除 | 与“÷”相同 |
% | 取余 | 获取的是两个数据做除法的余数 |
例:
3.2赋值运算符
符号 | 作用 | 说明 |
---|---|---|
= | 赋值 | a=10,将10赋值给变量a |
+= | 加后赋值 | a+=b,将a+b的值给a |
-= | 减后赋值 | a-=b,将a-b的值给a |
*= | 乘后赋值 | a*=b,将a×b的值给a |
/= | 除后赋值 | a/=b,将a÷b的商给a |
%= | 取余后赋值 | a%=b,将a÷b的余数给a |
注意:
扩展的赋值运算符隐含了强制类型转换。
3.3关系运算符
符号 | 说明 |
---|---|
== | a==b,判断a和b的值是否相等,成立为true,不成立为false |
!= | a!=b,判断a和b的值是否不相等,成立为true,不成立为false |
> | a>b,判断a是否大于b,成立为true,不成立为false |
>= | a>=b,判断a是否大于等于b,成立为true,不成立为false |
< | a<b,判断a是否小于b,成立为true,不成立为false |
<= | a<=b,判断a是否小于等于b,成立为true,不成立为false |
注意事项:
关系运算符的结果都是boolean类型,要么是true,要么是false。
千万不要把“==”误写成“=”,"=="是判断是否相等的关系,"="是赋值。
3.4逻辑运算符
符号 | 作用 | 说明 |
---|---|---|
& | 逻辑与 | a&b,a和b都是true,结果为true,否则为false |
| | 逻辑或 | a|b,a和b都是false,结果为false,否则为true |
^ | 逻辑异或 | a^b,a和b结果不同为true,相同为false |
! | 逻辑非 | !a,结果和a的结果正好相反 |
&& | 短路与 | 作用和&相同,但是有短路效果 |
|| | 短路或 | 作用和|相同,但是有短路效果 |
&与&&,|与||的区别:
-
逻辑与&,无论左边真假,右边都要执行。
-
短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。
-
逻辑或|,无论左边真假,右边都要执行。
-
短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。
3.5三元运算符
三元运算符语法格式:关系表达式 ? 表达式1 : 表达式2;
解释:如果关系表达式为真,执行表达式1,否则执行2。
例:
4.控制流程
4.1条件语句
条件语句主要有if-else语句和switch语句。
if-else语句格式:
if (关系表达式1) {
语句体1;
} else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
例:
switch语句格式:
例:模拟计算器功能,对键盘录入的两个int类型的数据进行加、减、乘、除的运算,并打印运算结果。
4.2循环语句
循环语句主要有for循环、while循环、do-while循环。
for循环:
例:打印1~100之间所有奇数的和 。
while循环:
例:打印出20个3的倍数的和
do-while循环:
例:打印出3的倍数,如果这个数是7的倍数则结束程序。
三种循环的区别:
-
for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
-
do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)
for循环与while循环的区别:
for循环中的条件控制语句所控制的变量在for循环结束后就不能再被访问,而while循环可以