2022-12-06
1、介于src和java文件之间要有一层结构,叫包,其本质也是文件夹
一、java简介
詹姆斯高斯林,java之父,90年代初
java最初想做机顶盒,没成功,随后就转型成一门面向互联网的语言
Spring、SpringMVC、Mybatis
二、java的特点
半编译半解释
跨平台(平台无关性,平台,即硬件+操作系统)jdk
面向对象
健壮、安全、多线程、分布式、高并发
三、java的版本
JavaSE 标准版,包括变量、运算符、流程控制语句、方法、面向对象、java常用api、集合、异常、多线程、文件和流
JavaEE 企业版
JavaME 嵌入式版
四、注释
1、文档注释 标识当前java代码的作者、何时创建、版本
2、单行注释
3、多行注释
五、标识符
程序员需要命名的单词,项目名、包名、类名、方法名、变量名
六、为标识符命名的规则、规范
1、规则
(1)不能使用关键字(编译软件变色)、保留字(const、goto)
(2)首位可以是字母、美元符号、下划线
(3)其余位可以是数字、字母、美元符号、下划线
(4)不能有空格
2、规范
(1)项目名 全部小写
(2)包名 全部小写,用.表示层次结构
公司 com/cn.公司名.xxx.xxx.xxx...
非营利性组织 org.组织名.xxx.xxx.xxx...
(3)类名 帕斯卡规范 每个单词首字母大写,其余字母小写
例:OldUglyMan
(4)方法名 驼峰规范 从第二个单词开始每个单词首字母大写,其余字母小写
例:getUserName
(5)变量名 驼峰规范
例:oldUserName
(6)常量名 所有字母大写,单词之间用下划线分隔
例:MAX_AGE
七、变量
存储一条数据的载体
要使用变量,需要经过声明和初始化两步
声明
数据类型 变量名;
初始化(第一次赋值)
变量名 = 值;
例:声明一个数据类型为int的叫a的变量,赋值1
八、变量的相关说明
1、变量一定要经过声明、初始化两步才能使用
2、在相同作用域内,变量不能重复声明
(变量的作用域,包在变量外离它最近的{})
3、在相同作用域内,变量不能更改数据类型
4、变量可以重复赋值
5、变量要接收合适类型的数据
九、数据类型
1、基本数据类型
(1)整型
byte字节型 占一个字节,有八位
表数范围
![](https://img.haomeiwen.com/i11005784/c67ed4886ca65b9e.png)
short短整型 占两个字节,有16位
表数范围
![](https://img.haomeiwen.com/i11005784/84d178007cc59949.png)
int整型 占四个字节,有32位
表数范围
![](https://img.haomeiwen.com/i11005784/67fc525ea08c122b.png)
long长整型 占八个字节,有64位
表数范围
![](https://img.haomeiwen.com/i11005784/025c0e5a35a0aa84.png)
(2)浮点型
float 单精度浮点,占4个字节,有32位
表数范围
![](https://img.haomeiwen.com/i11005784/94ec8605e97c6256.png)
double 双精度浮点,占8个字节,有64位
表述范围
![](https://img.haomeiwen.com/i11005784/6d7971c3e75fff04.png)
(3)字符型
char,占2个字节,有16位
表数范围
![](https://img.haomeiwen.com/i11005784/ddb94790b68a50cb.png)
(4)布尔型
boolean 不研究占多大
只有两个值true、false
2、引用数据类型
(1)数组
(2)类
(3)接口
十、数据类型相关说明
1、人为规定![](https://img.haomeiwen.com/i11005784/67fc525ea08c122b.png)
这个范围内的数,都是int
2、比如1,尽管人为规定是int型,但是也在byte、short、long范围内,因此上述类型的变量接收1值时,有兼容,不会报错
3、long类型的值后边要写一个l或L,建议用L
![](https://img.haomeiwen.com/i11005784/6d7971c3e75fff04.png)
范围内的浮点数,都是double类型
5、float类型的值,后边加一个f或F
6、
字符型:char(属于基本数据类型),值用''包围
字符串型:String(属于引用数据类型),值用""包围
十一、数据类型的转换
1、自动类型转换(隐式类型转换)
(1)转换前后的类型要兼容
(2)取值范围小的类型的数据与取值范围大的类型的数据运算时,结果为取值范围大的类型
(3)byte、short、char两两运算要首先转换成int,再运算,结果也是int型
![](https://img.haomeiwen.com/i11005784/6c9940cab85b16e7.png)
2、强制类型转换(显式类型转换)
(1)转换前后的类型要兼容
(2)(目标类型)源数据
容易造成浮点数精度丢失,慎用
十二、运算符
1、按照运算性质划分
算数运算符
+
(1)正号
(2)加法
(3)字符串拼接符:当+两端任意一端出现了字符串,+就变为字符串拼接符,另一端被同化为字符串
-
(1)负号
(2)减法
*
(1)乘法
/
(1)除法
%
(1)求余
++
int a = 1;
int b = 1;
//先自增再打印
System.out.println(++b);
//先打印再自增
System.out.println(a++);
--
关系运算符(比较运算符),比较结果是boolean
>
<
>=
<=
==
!=
逻辑运算符
&
|
&和|除了能做逻辑运算外,还能做位运算
赋值运算符
2、按照运算数据个数划分
一元运算符
二元运算符
三元运算符
运算符补充
位运算
&
(1)与
|
(1)或
![](https://img.haomeiwen.com/i11005784/713df9b51a68a300.png)
>>
(1)右移
<<
(1)左移
^
(1)异或 位运算时,相同为0,相异为1
![](https://img.haomeiwen.com/i11005784/f5d3a29a6100e4e7.png)
作业
1、交换两个变量中存储的值
提示
![](https://img.haomeiwen.com/i11005784/5e5ed855f199d9c6.png)
打印格式
int a = 1;
int b = 2;
System.out.println("a = " + a + ",b = " + b);
2、从控制台输入一个大写字母,把它转换成小写字母
例子:从控制台输入内容
System.out.println("输入一串字符串");
//2、创建Scanner对象,获取输入流
Scanner sc = new Scanner(System.in);
//3、根据sc对象,获取控制台输入的内容
String str = sc.next();
//4、打印控制台输入的内容
System.out.println(str);
char a = str.charAt(0);
System.out.println(a);
3、异或求两个变量值交换的运算截图