写在开头
今天学的知识点比较多也比较零碎,大多和之前学过的c语言差不多
这个开头是第三天加上的,我觉得都加上开头会比较整齐。 😜
里面的知识点不可能都展现在标题,大家使用搜索功能
(很快就可以修复好)搜自己想要了解的知识点。
注释、关键字、标识符
注释
在Java的编写过程中我们需要对一些程序进行注释,除了自己方便阅读,更为别人更好理解自己的程序,所以我们需要进行一些注释,可以是编程思路或者是程序的作用,总而言之就是方便自己他人更好的阅读。注释是不参与程序的编译和运行过程的。
书写注释的必要性
编写代码时添加注释的好习惯是每一位优秀程序猿都应该具有的。
举个栗子,老板让你写一个程序,你才思泉涌,三下五除二就写出来一份非常优秀的代码,运行起来非常完美,内存控制的也非常好。老板很满意,奖金也大大地有。但是你没有写注释。过了好久,你又需要这个代码,翻箱倒柜找出来了,打眼一看你傻眼了,这都是些啥啊圈圈叉叉的,你已经没有看下去的欲望了,只想知道这是哪个傻逼写出来的,一想原来是自己…..
再来一个栗子,我们在公司写项目的时候很多时候都是需要多部门的配合的,你写完这一份程序后是要递交给下一个部门的,如果你没有写注释的话,你的程序是百分百会被打回来的,你知道最后写中文注释会比你边写代码边添加注释慢很多的。
注释的书写方法
对于java注释我们主要了解三种:
1 | //单行注释,只能写一行注释 |
关键字和常见关键字表
关键字: 系统定义的特殊的字符,字母,英文单词,在Java中有各自的功能和用途
不允许被用户单独定义的。
注:
- 所有的关键字都是小写的,java是严格区分大小写的语言,理论上说大写的关键字是可以被单独定义的,但是避免混淆一般没有这样做的。
- 所有的关键字再开发工具里,都是有特殊的颜色显示的,如果上面代码中的public、class、out等。
- 在给类,方法,变量,接口,枚举,起名字时,不能够使用关键字。
贴一张常见的关键字
类别 | 关键字 | 说明 |
---|---|---|
访问控制 | private | 私有的 |
protected | 受保护的 | |
public | 公共的 | |
类、方法和变量修饰符 | abstract | 声明抽象 |
class | 类 | |
extends | 扩充,继承 | |
final | 最终值,不可改变的 | |
implements | 实现(接口) | |
interface | 接口 | |
native | 本地,原生方法(非 Java 实现) | |
new | 新,创建 | |
static | 静态 | |
strictfp | 严格,精准 | |
synchronized | 线程,同步 | |
transient | 短暂 | |
volatile | 易失 | |
程序控制语句 | break | 跳出循环 |
case | 定义一个值以供 switch 选择 | |
continue | 继续 | |
default | 默认 | |
do | 运行 | |
else | 否则 | |
for | 循环 | |
if | 如果 | |
instanceof | 实例 | |
return | 返回 | |
switch | 根据值选择执行 | |
while | 循环 | |
错误处理 | assert | 断言表达式是否为真 |
catch | 捕捉异常 | |
finally | 有没有异常都执行 | |
throw | 抛出一个异常对象 | |
throws | 声明一个异常可能被抛出 | |
try | 捕获异常 | |
包相关 | import | 引入 |
package | 包 | |
基本类型 | boolean | 布尔型 |
byte | 字节型 | |
char | 字符型 | |
double | 双精度浮点 | |
float | 单精度浮点 | |
int | 整型 | |
long | 长整型 | |
short | 短整型 | |
变量引用 | super | 父类,超类 |
this | 本类 | |
void | 无返回值 | |
保留关键字 | goto | 是关键字,但不能使用 |
const | 是关键字,但不能使用 | |
null | 空 |
标识符、组成及写作规则 //严格区分大小写
标识符:Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。即用户自己定义
所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线( _ )开始
首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线( _ )或数字的任何字符组合
关键字不可以作为标识符,并且
严格区分大小写
。
举例:
_ 123(正确)
1$(错,数字不能开头)
ch(错,不能带有,符号中,只能有_ 或 $ )
charch123_567t$(正确)
常量、变量、数据类型
常量
常量的定义
常量:程序的执行过程中,数值不会发生变化的量
四种类型的常量
- 整数类型的常量 5
- 小数类型的常量 3.1415
- 字符类型 ‘A’ ‘ a ‘’7’ ‘家’
- 布尔类型 boolean true false
在代码中体现下:
1 | public class ChangLiang |
常量与默认类型
变量
变量的定义
变量:指在程序的执行过程中,数值可能会发生变化的量。例如体重, 每天都在变化,所以可以把体重定义成一个变量
变量的组成和定义方法
变量的定义格式:数据类型 变量名 = 变量值;
变量名: 符合标识符的组成规范
例如: Ch1 $4 a a1
= 表示赋值,将=号右边的数据赋值给左边的变量
; 在java中表示一句表达式的结束
我们在代码中体现下:
1 | public class BianLiang |
变量定义的注意事项⭐⭐⭐
A:作用域
变量定义在那个大括号内,它就在这个大括号内有效。
并且,在同一个大括号内不能同时定义同名的变量。
B:初始化值
没有初始化值得变量不能直接使用。
只要在使用前给值就行,不一定要在定义是给值。
定义变量的格式:
a:数据类型 变量名 = 初始化值;
b:数据类型 变量名;
变量名 = 初始化值;
C:在一行上建议只定义一个变量
可以定义多个,但不建议
我们在代码里体现下:
1 | public class BianLianZhuYi |
数据类型
数据类型定义
Java的基本数据类型也叫做内置类型是java语言本身提供的数据类型,是引用其他类型的基础。
四类八种基本数据类型 //内存分配
4种数据
- byte 1字节 -128–127
- short 2字节 1111111111111111 -32768–32767
- int 4字节 -2147483648–2147483647
- long 8字节 -2^63-1–2^63
小数类型
- float 4字节 单精度
- double 8字节 双精度
字符类型
- char 2字节
表示一个字符,写作方式英文’’,举例: ‘家’,’A’,’3’,字符中可能会是中文,中文在内存中需要两个字节,因此char2个字节
布尔类型:
- boolean true (真) false(假)
布尔类型一般用于进行数据的判断(3>4 结果可以使用false)或者是逻辑的判断(客户姓名正确 并且 客户的密码正确)
我们在代码中体现下:
1 | public class ShuJuLeiXing |
基本数据类型的大小排序
byte < short = char < int < long < float < double
char 字符,’’,占2个字节,范围0-65535
boolean 不参与大小比较
说明: 小数长度计算方式,与整数不一样,小数的范围大于整数范围
char字符类型
字符类型: char,每次表示一个字符,’7’
将每一个字符,转换成了一个10进制数
过程: 将一个字符,转换成一个十进制数(编码)
将十进制数,转换成了一个字符(解码)
这种编码和解码的过程,ASCII 码表
ASCII值 | 控制字符 | ASCII值 | 控制字符 | ASCII值 | 控制字符 | ASCII值 | 控制字符 |
---|---|---|---|---|---|---|---|
0 | NUT | 32 | (space) | 64 | @ | 96 | 、 |
1 | SOH | 33 | ! | 65 | A | 97 | a |
2 | STX | 34 | “ | 66 | B | 98 | b |
3 | ETX | 35 | # | 67 | C | 99 | c |
4 | EOT | 36 | $ | 68 | D | 100 | d |
5 | ENQ | 37 | % | 69 | E | 101 | e |
6 | ACK | 38 | & | 70 | F | 102 | f |
7 | BEL | 39 | , | 71 | G | 103 | g |
8 | BS | 40 | ( | 72 | H | 104 | h |
9 | HT | 41 | ) | 73 | I | 105 | i |
10 | LF | 42 | * | 74 | J | 106 | j |
11 | VT | 43 | + | 75 | K | 107 | k |
12 | FF | 44 | , | 76 | L | 108 | l |
13 | CR | 45 | - | 77 | M | 109 | m |
14 | SO | 46 | . | 78 | N | 110 | n |
15 | SI | 47 | / | 79 | O | 111 | o |
16 | DLE | 48 | 0 | 80 | P | 112 | p |
17 | DCI | 49 | 1 | 81 | Q | 113 | q |
18 | DC2 | 50 | 2 | 82 | R | 114 | r |
19 | DC3 | 51 | 3 | 83 | S | 115 | s |
20 | DC4 | 52 | 4 | 84 | T | 116 | t |
21 | NAK | 53 | 5 | 85 | U | 117 | u |
22 | SYN | 54 | 6 | 86 | V | 118 | v |
23 | TB | 55 | 7 | 87 | W | 119 | w |
24 | CAN | 56 | 8 | 88 | X | 120 | x |
25 | EM | 57 | 9 | 89 | Y | 121 | y |
26 | SUB | 58 | : | 90 | Z | 122 | z |
27 | ESC | 59 | ; | 91 | [ | 123 | { |
28 | FS | 60 | < | 92 | / | 124 | | |
29 | GS | 61 | = | 93 | ] | 125 | } |
30 | RS | 62 | > | 94 | ^ | 126 | ` |
31 | US | 63 | ? | 95 | _ | 127 | DEL |
关注的有哪些:
- 0-9 在ASCII码表中,对应的十进制数为: 48-57
- A-Z 在ASCII码表中,对应的十进制数为: 65-90
- a-z 在ASCII码表中,对应的十进制数为: 97-122
ASCII在代码中的应用:
字符与整数进行比较或者运算,这种情况,char类型的字符要先转换成对应的十进制数,然后再与整数进行比较或者运算
例如: i 问? 是不是一个小写字母
思路: i>=97 并且 i<=122 (比较) ; i+5(运算)
我们在代码中体现下:
1 | public class CharDemo |
数据类型的自动类型转换
不同的数据类型,能一起进行计算吗? 可以
自动类型转换: 小的数据类型范围,可以直接转换成大的数据类型范围
举例: 水瓶 500ml 杯子 100ml 过程: 杯子中的水装入水瓶中,可以(要求数据类型值一致)
byte < short = char < int < long < float < double
我们在代码中体现下:
1 | public class ZiDongZhuanHuan |
数据类型的强制类型转换
强制类型转换: 大的数据类型转换成小的数据类型
举例: 水瓶 500ml 杯子 100ml
过程: 水瓶中的水装入杯子中,可以(要求数据类型值一致),但是水溢出了
强制类型转换公式: 小的数据类型 变量名 = (小的数据类型)大的数据类型;
我们在代码中体现下:
1 | public class QiangZhiZhanHuan |
注意:
- 在强制类型转换中,可以回出现损失精度(数据可能不准确),所以强制需谨慎
- byte short char 在进行整数运算时,都会自动提升为int类型,运算结果也是int类型
我们在代码中体现下:
1 | public class Test |
字符串类型
字符串: 使用英文的””,双引号中,可以写入任意的内容
Java中,所有字面意义上的””,都是字符串类型
String类型,就表示字符串
数据类型分类:
- 基本数据类型: 用于表达一些比较简单的数据,共8中,不变
- 引用数据类型(类,数组,接口): 表示在内存中的地址值
比方: 你这个人本身,简单,名字(张三),可以看成基本数据类型家族,复杂,名字(张氏家族), 记录张氏在世界上的地址,看成引用数据类型
- String本身就是一个类(class),String是属于引用数据类型
String类型的定义格式;
String 变量名 = “78 65 0及”;
String使用的注意事项:
- String与任何的数据类型进行+,都表示字符串的拼接
- String与任意类型拼接后的结果,仍然是一个String类型
- “”,一定是英文的双引号
我们在代码中体现下:
1 | public class StringDemo |
晚安
今天就到这里了,明天见,加油!