一、java的特点
半编译半解释
跨平台(平台:硬件+操作系统,jdk有windows、macos、linux不同操作系统的版本,给同一个字节码会出现同样的执行效果)
面向对象:同一场景更关注个体,比如取钱,更关注谁取钱、在哪取钱、取得什么、用什么取的钱
(与面向对象相反,面向过程更关注先进银行、插卡、输密码、输入取多钱、取钱、拔卡)
健壮、安全、分布式、多线程
二、java语法
数据类型、变量的概念、标识符、运算符、表达式、流程控制语句、数组、
方法、面向对象、java常用api、集合、异常、多线程、io
三、标识符
凡是需要程序员起名的地方,都是标识符
标识符命名规则:
1、不能使用关键字、保留字
(关键字:java中有特殊含义的单词
保留字:现在没有特殊含义,以后可能会有特殊含义的单词
关键字一般在编译器中变色
保留字:const、goto)
2、首位可以是大小写字母、下划线、美元符号
其余位可以是大小写字母、下划线、美元符号、数字
3、不能出现空格
标识符命名规范
1、
工程名 全部字母小写
包名 全部小写
公司:com/cn.单位名.xxx.xxx.xxx .代表层次结构
组织:org.组织名.xxx.xxx.xxx
类名 帕斯卡规范:每个单词首字母大写,其余字母小写
public class BakedColdNoodles
public class Test
方法名 驼峰规范:从第二个单词开始每个单词首字母大写,其余字母小写
getUserName
变量名 驼峰规范
常量 所有字母大写,每个单词之间用下划线连接
2、见文知义
3、尽量简洁
四、变量
1、存储一条数据
代码执行过程中,往往涉及到数据的传输、处理,为了方便进行这些操作,我们需要一种介质,存储数据,因此引入变量
饭盒
2、变量想使用需要经过声明、赋值两步
(1)声明
数据类型 变量名;
(2)赋值(第一次赋值又叫初始化)
变量名 = 值;
练:声明一个int类型的,叫a的变量,并且赋值1
3、关于变量的说明
(1)变量的作用域:即有效范围,包在变量外离变量最近的那层大括号
(2)变量必须经过声明和初始化方可使用
(3)变量不准重复声明
(4)变量一旦确定类型,不准更改
(5)变量要放入对应类型的值
(6)变量可以多次放入数据
(7)
int a = 5;
int b = 8;
//把b中的值拷贝一份,送到a中
a = b;
System.out.println(a);
System.out.println(b);
练习:a的是5,b的值是8,交换两个变量的值
![](https://img.haomeiwen.com/i11005784/f38b8b9acb6a5e49.png)
五、常量
常量 值不变,两层含义,一特指一个值,二特指一个由final修饰的值不变的量
变量 值可变
六、数据类型
1、基本数据类型
(1)整型
byte 字节型 字节是计算机中数据的基本单位,占1个字节,表数范围
![](https://img.haomeiwen.com/i11005784/cff495047428fdeb.png)
1024b=1kb
1024kb=1M
1024M=1G
1024G=1T
每个字节,在计算机中是由一个8位二进制数表示
short 短整型,占2个字节,表数范围
![](https://img.haomeiwen.com/i11005784/7a95fd8c1c47aa15.png)
int 整型,占4个字节,表数范围
![](https://img.haomeiwen.com/i11005784/e75b2cd8ec7b586b.png)
人为规定,在int范围内的数都是int
long 长整型,占8个字节,表数范围
![](https://img.haomeiwen.com/i11005784/a6081337e4e25a89.png)
long类型的数,需要在结尾加上l或者L
(2)浮点型 小数
float 单精度浮点,占4个字节,表数范围
![](https://img.haomeiwen.com/i11005784/96b60654b02be2a0.png)
一个小数如果想成为float类型,需要在最后加上f或者F
double 双精度浮点,占8个字节,表数范围
![](https://img.haomeiwen.com/i11005784/01fd6002e46c0706.png)
人为规定,在double范围内的小数,都是double类型
(3)字符型
char,占2个字节,表数范围
![](https://img.haomeiwen.com/i11005784/1e7caa5ae67e565e.png)
(4)布尔型
boolean,不考虑占多大内存,只有两个值,一个是true、一个是false
2、引用数据类型
数组
类
接口
sun开源了很多自家研发的技术
oracle主打产品oracle、java、mysql
七、数据类型之间的转换
1、显式转换(强制类型转换)
(1)转换前后数据类型兼容
(2)(目标类型)源数据
2、隐式转换(自动类型转换)
(1)转换前后数据类型兼容
(2)表数范围大类型的数据与表数范围小类型的数据运算,结果为表数范围大类型的数据
(3)byte、short、char两两运算,先转换成int再运算
![](https://img.haomeiwen.com/i11005784/2df91e76de317231.png)
八、运算符
1、按照运算性质划分
(1)算数运算符
+
正号
加法
字符串拼接符:加号两端任意一端出现字符串,加号变为字符串拼接符,另一端也被同化成字符串
-
负号
减法
*
乘法
/
除法
%
求余
++
自增
--
自减
(2)关系运算符(比较运算符)运算的结果都是boolean类型
>
<
==
!=
>=
<=
(3)逻辑运算符
![](https://img.haomeiwen.com/i11005784/c6183fb737d72a12.png)
&
|
&和|还可以做位运算符
![](https://img.haomeiwen.com/i11005784/cb79dcc9554153a7.png)
^
异或也可以做位运算
![](https://img.haomeiwen.com/i11005784/23d94ab6784a6adf.png)
&&
||
&和|可以做位运算,也可以做逻辑运算,没有短路现象
&&和||只能做逻辑运算,有短路现象
!
(4)赋值运算符
=
赋值过程中也是有返回值的
+=
-=
*=
/=
%=
2、按照运算数据个数划分
元:运算数据
一元运算符
二元运算符
三元运算符:逻辑判断
式子①?式子②:式子③
(1)判断式子①是true还是false
(2)若式子①为true,整个结果为式子②
(3)若式子①为false,整个结果为式子③
九、运算符的优先级
按照运算性质划分,算数>关系>逻辑>赋值
按照运算数据个数划分,一元>二元>三元
作业
1、在控制台输入一个大写字母,回车,控制台显示出它对应的小写字母
2、在控制台输入一个三位数,求该三位数每位数加在一起的和
3、交换a和b的值,以a=?,b=?的格式打印出来
网友评论