1.编写源代码→.java文件
2.编译成字节码文件→.class
3.运行字节码文件
4.编译工具:notepad++只是用来查看文件的,平时不用来写程序。
5.关键字:官方赋予特殊能力的字
6.标识符:自己起的符合规范的名字
要求:不能以数字开头。,不能使用关键字:字母,数字和_和$
软要求:类命名:单词首字母都大写
方法名/变量:首字母小写
7.常量:程序运行期间固定不变的量
常量分类:字符串常量:用双引号引起的部分:“abc”
整型常量:直接写的数字,没有小数点:110
浮点数常量:有小数点:2.5
字符常量:用单引号引起的单个字符:'a'
布尔常量:true、false只有这两个值
空常量:null:没有任何数据,也不能使用
8. 基本数据类型:整数型(byte(1个字节)、short(2个字节)、int(4个字节)、long(8个字节))、浮点型(float(4个字节)、double(8个字节))、字符型(char(2个字节))、布尔型(boolean(1个字节))
引用数据类型:字符串、数组、类、接口、Lambda
注意事项:字符串不是基本数据类型而是引用数据类型。
浮点型可能是一个近似值,而不是一个准确值。
数据范围与字节数不一定相关。比如:float的数值范围与long表示的大,float是四个字节,long是8个字节。
浮点数默认使用的是double,使用float要加F
整数默认为int,使用long要加L。
9.变量:程序运行期间,内容可以发生改变的量。也就是说变量只是临时用来存放数据的地方。
是一个容器,每次只能存一个数据。可能会被其他变量替换。
创建变量及使用的格式:
数据类型 变量名 = 数据值;
int a = 10;
整型变量a被赋值为10
=把右边的值交给左边。
10.变量的使用:
1.数据类型 变量名;
变量名=数据值;
2.数据类型 变量名 = 数据值;
11.数据类型的转换:当数据类型不一样时,会发生数据类型的转换。
1.自动类型转换:代码不需要特殊处理,自动完成
规则:数据类型从小的到大。也就是容器小的放进大的里面。
2.强制类型转换:数据类型从大到小的时候。也就是大容器放进小容器里面。
int a = (int) 1024.11L;
注意事项:
1.强制类型转换不推荐使用,有可能产生精度损失,数据溢出。但是如果数组范围没有超过小的那也是可以装的。如果不够装,则是直接丢失数据的。
2. 基本数据类型中:byte、int、char三种类型都可以发生数学运算,三种数据类型计算的时候,也提升成int在进行计算。例如:加法运算。
字符也可以当做数字表示的。因为计算机中只有01,计算机的底层会用个二进制的数字来表示字符,对照ASCll表。
一旦字符进行了计算则会对照着ascll表转换成数字再进行计算。
3.布尔类型不能发生任何数据类型的转换。
12.ascll:美国信息交换标准表
unicode:万国表
UTF-8:
GBK:
13.运算符:
三元运算符:+ - */
取模(余)运算符:%:取的是余数
自增运算符:a++(先把值传出去再进行计算),++a(先进行自增计算,再把值传出去)
自减运算符:
赋值运算符(=):1.基本赋值运算符:=:将右边的数据交给左边的变量进行存储。
2.复合赋值运算符:+=:就是a+=1就是a=a+1
比较运算符:==表示数学当中的=
逻辑运算符:与(&&):并且:两个布尔条件都必须都有、或(||):或者:一个布尔条件成立即可、非(!):取反
三元运算符:需要三个数据才可以进行操作的运算符
格式:数据类型 变量名称 = 条件判断(A>B)?表达式A:表达式B:如果条件判断为true,则结果为A,如果false则为B。
表达式:
注意事项:最后的结果的数据类型是计算中数据类型最大的。
只有变量才可以使用自增和自减运算符。
复合赋值运算符隐含了一个强制转换
比较运算符的最后结果一定是布尔值 成立就是true
程序当中不允许:1<a<3这种连个比较的写法
&&和||具有短路效果:如果左边已经可以判断得到最终结果,那么右边的代码则不在执行,从而节省一定的性能。
逻辑运算符只能用于布尔值。
&&和||可以多个布尔值连着写。
三元运算符的结果必须被使用。
14.加号的多种用法:
1.对于字符串String(首字母大写,并不是关键字),加号代表字符串连接操作。
2.任何数据类型和字符串类型连接起来,最后都是都变成字符串。