包Package 本质:文件夹 源代码文件的命名空间
类Class 本质:源代码文件
每一个包都有独立的命名空间 namespace
不同包可以有相同文件名
四大核心
CPU 运算
网络 与外界交换数据,数据通信
内存 运算+临时存储
硬盘 永久存储
数据类型
数值
整数
byte -128~127-1
short -2^15~2^15-1
int -2^31~2^31-1
long -2^63~2^63-1
浮点数
float
double
字符
char
布尔
boolean
计算机存储只认二进制
内存
硬盘
最小的单位 bit比特 一个bit只能存储一个0或者一个1
每8个比特是一个存储空间称为byte(字节)
1.1注释
为什么要加注释
1.不要过度相信自己的理解能力,有注释过段时间也可以找回当初思路。
2.可读性第一,效率第二。随着时代发展,软件开发是团队协同作战,成员沟通很重要。
3.代码即文档,软件里最重要文档--源代码,一定要规范。
程序注释是代码最重要一部分,注释应占1/3以上,
java语言注释一共有三种类型
单行注释
多行注释
文档注释
1.1.1 单行注释和多行注释
单行注释:把//放在程序前,只能注释一行
多行注释:/* 代码 */ 可以注释多行,/*开始 , */结束
注释可以用于排错,把觉得有问题代码注释掉看程序能不能正常运行,逐步缩小范围
1.1.2 Java9增强文档注释
文档注释用于生成API文档
API文档用于说明类、方法、成员变量的功能
开始/** 结束*/
1.2标识符和关键字
1.2.1分隔符
分号(;):分隔语句,代表一句java语句结束,java语句可以跨多行书写,字符串、变量名不行
花括号({}):定义一个代码块,成对出现,条件语句中条件执行体,循环语句中循环体也放在代码块里
方括号([]):访问数组,紧跟数组变量名,方括号中指定访问索引
圆括号(()):定义方法时包含所有形参声明,调用方法时传入实参值,表达式中括出整体优先计算,强制类型转换
空格 :包含 空格符(space)、制表符(Tab)、回车(Enter),使用空格为了可读性缩进
圆点(.):类/对象和成员(包括成员变量、方法和内部类)之间分隔符,表明调用某类、某实例的指定成员
1.2.2Java9标识符规则
标识符是给程序中变量、类、方法命名的符号
1.标识符可由字母、数字、下划线、美元符$组成,不能用数字开头
2.标识符不能是Java关键字和保留字,但是可以包含
3.标识符不能有空格
4.标识符只能包含美元符$,不能包含@。#等其他特殊字符
1.2.3Java关键字
1.3数据类型分类
整数
byte -128~127-1
short -2^15~2^15-1
int -2^31~2^31-1
long -2^63~2^63-1
浮点数
float
double
字符
char
布尔
boolean true false
数值中使用下划线分隔
0000_0000_0000_0000
1.4类型转换
1.4.1自动类型转换
byte->short /char ->int->long->float->double
1.4.2强制类型转换
强制把int转为byte
int a=233;
byte b=(byte)a;
1.4.3表达式类型自动提升
所有byte、short、char提升到int
表达式中数据类型提升到最高等级操作数同类型
1.5直接量
int 直接量:二进制OB、Ob开头,八进制O开头,十六进制OX、Ox开头
float直接量:后面加f或F
double直接量:标准小数形式或科学计数法
Boolean直接量:true false
char直接量:单引号括起来、转义字符、Unicode
String直接量:双引号括起来
null直接量:null
1.6算术运算符
加减乘除和求余
自加自减
a++,a-- 先赋值后自加/减
++a,--a 先加/减后赋值
赋值运算符
=
位运算符
&:与,相同返回1
|:或,有一位相同返回1
~:非,取反
^:异或,相同为0,不同为1
<<:左移
>>:右移
>>>:无符号右移
>> 右位移
n >>m 取值公式: n /2^m
55 >> 3 55/2^3
0011 0111 >>3
0000 0110 ==6
0000 1011 >> 1
0000 0101 == 5
<< 左位移 ,将二进制数左移指定位数,低位补零
n<< m 取值公式: n*2^m
11 << 2 11*2^2
0000 1011 << 1
0010 1100 == 44
比较运算符
>大于
>=大于等于
<小于
<=小于等于
==等于
关系运算符是二元运算符,运算结果是Boolean类型,成立结果为TRUE 不成立结果为fasle
>、<、>=、<=、!=、==
>= :表示大于或者等于,3>=2 结果是true
<= :表示小于或等于 ,5<=7 结果是true
== :表示判断变量是否相等
基本类型变量,值不能和引用类型的变量,进行==比较
逻辑运算符
&&:短路与,前后操作数都为true才返回true,如果ab都为true,结果为true,如果a为false,b就不参与计算了,直接判断结果为false
&:逻辑与,a&b,a和b全是true,结果为true
||:短路或,a||b ,如果a,b有一个为true,结果为true,全为false,结果才是fasle,如果a是true,那么b就不参与运算,直接返回结果true
|:逻辑或,a|b,a和b全是false,结果为false
!:true返回false,反之亦然
^:异或不同返回true,相同false
三目运算符
条件运算符
语法 : 结果 = 条件 ? 值1 : 值2
如果条件成立,那么表达式最终结果是值1,如果条件不成立,最终的结果是值2