2.1关键字:被Java语言赋予特定含义的单词
特点:组成关键字单词的字母全部小写
注意:
A:goto和const是保留字
B:类似于Notepad++这样的高级记事本,针对关键字都有特殊的颜色标签。
2.2标识符:就是给类,接口,方法变量等起名字。
组合规则:
A:英文字母大小写
B:数字字符
C:$和_
注意事项:
A:不能以数字开头
B:不能是Java中的关键字
C:java语言严格区分大小写
2.3标识符(常见命名规则)
包:其实就是文件夹,用于把相同的类名进行区分
全部小写
单级:liuyi
多级:cn.itcast
cn
itcast
类或者接口:
一个单词:单词的首字母必须 大写
举例:Student,Dog
多个单词:每个单词的首字母必须大写
举例:HelloWorld,StudentName
方法或者变量:(加括号的是方法)
一个单词:单词的首字母小写
举例:main,age
多个单词:从第二个单词开始,每个单词的首字母大写
举例:studentAge,showAllNames()
常量:
一个单词:全部大写
举例:PI
多个单词:每个字母都大写,用_隔开
举例:STUDENT_MAX_AGE
2.4注释概述及其分类
注释:用于解释说明程序的文字
Java中注释的分类及格式
单行注释://注释文字
多行注释:/* 注释文字 */
注意:多行不可以嵌套使用,而单行是可以的
文档注释:被Javadoc工具解析生成一个说明书,面向对象部分讲解
2.5HelloWorld案例加入注释版
需求:我准备写一个Java程序,把“HelloWorld”这句话输出在控制台
分析:
A:要写一个Java程序,必须定义类
B:把数据能够输出,说明我们的程序是可以独立运行的,而程序要独立运行,必须定义main方法
C:把数据输出在控制台,必须使用输出语句
实现:
A:Java语言提供了一个关键字:class用来定义类,后面跟的是类名
B:mian方法的格式是固定的:
public static void main (String[] args){
}
C:输出语句的格式是固定的:
System.out.println("HelloWorld");
"HelloWorld"这个内容是可以改变的
2.6注释的作用
A:解释说明程序,提高程序的阅读性
B:可以帮助我们调试程序
2.7常量的概述和使用
常量:
在程序执行过程中,其值不发生改变的量
分类:
A:字面值常量
B:自定义常量
字面量常量:
A:字符串常量 用引号括起来的内容
案例:“hello”,“world”,“HelloWorld”
B:整数常量 所有的整数
案例:100,200
C:小数常量 所有的小数
案例:10.23,110.11
D:字符常量 用单引号括起来的内容
举例:'a','A','0'
错误的:'ab'
E:布尔常量 比较特殊
举例: true,false
F:空常量
举例:null
2.8进制概述以及二进制、八进制、十六进制图解
进制:是一种进位的方式。x进制,表示逢x进1。
计算机的电子原件的状态:开,关。
那么,我们表达数据的时候,也是按照开,关的状态来表示的
如果我们表达数据仅仅用两种状态,那么能够表达的数据是比较少的,而我们
常见的数据;英文字母,数字,标点符号。这就很多了。
两个状态肯定是不够的。
为了能够表示更多的数据,国际化标准组织就规定:用8个这样的信号来表示一个数据,
这个数据的单位叫:字节。
后来,我们就通过数字1,0分别来表示开和关。这个时候。我们把上面的数据用1,0改进。
由这样的1,0组成的数据就是二进制数据。
1 byte = 8bit
1 k = 1024byte
1 m = 1024k
1 g = 1024m
1 t = 1024g
把二进制的数据,从右开始,每三位一组合。最左边不够的时候,补0。然后,分别计算出
对应的十进制数值。最后。在把每个十进制的数据组合起来。就是一个八进制数据
把二进制的数据。从右开始。没四位一组合。最左边不够的时候。补0.然后分别计算出对应的十进制数值,
最后,再把每个十进制的数据组合起来,就是一个十六进制数据
规则:
进制越大,表现形式越短
2.9不同进制数据的表现形式
二进制
由0,1组合,以0b开头
八进制
由0,1...7组成,以0开头
十进制
由0,1.....9组成,整数默认是十2.10进制的
十六进制
由0,1.....9,a,b,c..f(大小写均可)。以0x开头
2.10任意进制到十进制的转换图解
系数:每一个位上的数据值本身就是系数。
基数:x进制的基数就是x
权:我们针对每一个位上的数据进行编号。从右边,并且是从0开始编号
这个编号就是该位上的数据的权值
2.11任意进制到十进制的练习
2.12十进制到任意进制的转换图解
2.13十进制到任意进制的练习
2.14快速的进制转换法
2.15原码反码补码的讲解
2.16原码反码补码的练习
2.17变量的概述及格式
变量:就是在程序的执行过程中,其值是可以在一定范围内发生改变的量。
变量的组成规则:
A:必须对其进行限定,用数据类型进行限定
B:我们在运算的时候,不可能是拿着这个空间去运算。我
们真正运算时使用的是该空间的值,我们就给该空间起
了一个名字。变量名
C:即使你有数据类型了,你有变量名了,但是如果没有值,这个空间是一个垃圾空间,没有任何意义。初始化值
定义变量的格式是:
数据类型 变量名 = 初始化值;
2.18数据类型的概述和分类
数据类型:Java是一种强类型的语言,针对每一种数据都定义了明确地数据类型。
数据类型分类:
A:基本数据类型
B:引用数据数据类型(类,接口,数值)
基本数据类型分类:4类8种
A:整数 占用字节数
byte 1
short 2
int 4
long 8
B:浮点数
float 4
double 8
C:字符
char 2
D:布尔
Boolean 1
注意:
整数默认是int类型
浮点数默认是double类型
2.19定义不同数据类型的变量
长整型后缀用L或者l标记。建议使用L
单精度浮点数用F或者f标记。建议使用F
2.20使用变量的注意事项
使用变量的时候要注意的问题:
A:作用域
变量定义在哪个大括号内,它就在这个大括号内有效。
并且,在同一个大括号内不能同时定义同名的变量
B:初始化值
没有初始化值的变量不能直接使用。
你只要在使用前给值就行,不一定非要在定义的时候立即给值
推荐在定义的时候给值
定义变量的格式:
A:数据类型 变量名 = 初始化值;
B:数据类型 变量名;
变量名 = 初始化值;
C:在一行上建议只定义一个变量,可以定义多个,但是不建议
2.21数据类型转换默认转换
一般来说,我们在运算的时候,要求参与运算的数据类型必须一致
注意:
Boolean类型不能转换为其他的数据类型
默认转换(从小到大的转换)
A:byte,short,char-int-long-float-double
B:byte,short,char不转换,他们参与运算首先转换为int类型
2.22不同数据类型变量参与运算图解
2.23数据类型转换强制转换
强制转换:
从大的数据类型到小的数据类型。
格式:
目标数据类型 变量 = (目标数据类型)(被转换的数据)
注意:
不要随意的去使用强制转换,因为它隐含了精度损失问题
2.24强制转换的思考题
思考题1:请问下面这个有没有问题
double d = 12.345;
float f =d;
思考题2:看看下面两个定义有没有区别呢?
float f1 = (float)12.345;
float f2 = 12.345f;
f1其实是通过一个double类型转换过来的。
而f2本身就是一个float类型。
2.25变量相加和常量相加的区别面试题
面试题:
byte b1=3;b2=4,b;
b=b1+b2
b=3+4
哪句是编译失败的呢?为什么呢?
b = b1 + b2;是有问题的。
因为变量相加,会首先看类型问题,最终把结果赋值的也会考虑类型问题
常量相加,首先做加法,然后看结果是否在赋值的数据类型范围内,如果不是,才报错
2.26强制转换数据溢出后的结果怎么算
分析过程:
我们要想知道结果是什么,就应该知道是如何进行计算的。
而我们又知道计算机中数据的运算都是补码进行的
而要得到补码,首先要计算出数据的二进制
A:获取130这个数据的二进制
00000000 00000000 00000000 10000010
B:做截取操作,截取byte类型的了
10000010
这个结果是补码
C:已知补码求原码
符号位 数值位
补码: 1 0000010
反码: 1 0000000
原码: 1 1111110
2.27字符数据参与运算
通过字符和整数相加,我们给出一张表:ASCII码表。
通过看完这张表以后,我们要记住三个值:
'a' 97
'A' 65
'0' 48
2.28字符串参与运算
字符串数据和其他数据做+,结果是字符串类型。
这里的+不是加法运算,而是字符串连接符
运用:字符串连接符和从左倒右的运算规则
参考网站:
https://www.bilibili.com/video/av37614313?p=26