一、Notepad++准备
二、Java第一个行代码【重点】
1.FirstJava.java
文件名:FirstJava.java(类名和文件名一致)
class FirstJava {
public static void main(String[] args) {
System.out.println("欢迎来到Java课堂");
}
}
2. 编译执行代码
a、编译Java代码使用的工具
javac.exe 编译.java文件使用的工具,
.java文件 ==> 编译 ==> .class文件(字节码文件)
.class是交给JVM(Java虚拟机)运行使用
b、执行Java程序使用的工具
java.exe 执行.class字节码文件运行Java程序
【重点 格式】
a)编译Java代码
javac FirstJava.java
==> javac XXXXX.java文件
b)执行Java代码对应的.class字节码文件
java FirstJava
==> java XXXXX文件
3. 常见问题
a. 切记养成习惯!!!
class之后的名字和文件名一致,并且一定要保存成.java文件
b. 拼写错误!!!
大小写,单词错误
c. 标点符号错误!!!
中英文符号,或者说漏掉一些标点符号,所有的成双成对标点符号一次写完
例如:() [] {} "" '' <>
d. 记得保存!!!
e. 记得保存之后重新编译!!!
f. 编译之后检车有没有对应的.class文件
三、计算机中的存储
1、计算机数据存储单位
※计算机中最小存储单元是【字节】 byte
※一个字节对应8个bit位,8个二进制位 01011010
1024 Byte ==> 1 KB
1024 KB ==> 1 MB
1024 MB ==> 1 GB
1024 GB ==> 1 TB
1024 TB ==> 1 PB
1024 PB ==> 1 EB
2、进制关系
开发中使用的进制:二进制 八进制 十进制 十六进制
转换过程:
a、十进制转二进制:除二取余倒叙
112 ==> 0111 0000(2)
56 0
28 0
14 0
7 0
3 1
1 1
0 1
b、二进制转十进制
1011 1110 ==> 190(10)
128
32
16
8
4
2
c、十六进制
十六进制的一位 ==> 对应二进制四位
十六进制展示:
0x 或者 0X 开头
0x1234 0X1234
0xabcd <==> 0xABCD
d、八进制
八进制的一位 ==> 对应二进制的三位
八进制展示
0开头
01234 077
3、原码反码和补码[了解]
目的:原码,反码和补码的使用是用来解决计算机运行逻辑复杂度
※正整数和负整数来演示原码,反码和补码
a、正整数:原码,反码和补码是一致的,都是对应当前正整数的二进制展示方式
123 ==> 0111 1011(2)
原码 0111 1011
反码 0111 1011
补码 0111 1011
b、负整数:
-123
原码:对应正整数二进制展示方式,但是最高位表示符号位,占位为1
-123 ==> 0111 1011 ==> 1111 1011(2)
反码:按位取反,但是符号位不变
1111 1011 ==> 1000 0100(2)
补码:反码 + 1
1000 0100 + 1 ==> 1000 0101(2)
--------------------------------------------------------
123 ==> 0111 1011
-123 ==> 1000 0101
1 0000 0000 ===> 0 (1 舍去)
4、常量【伪重点】
a、生活中的常量
b、开发中使用的常量
整数
1 2 3 4 5
-1 -2 -3 -4 -5
小数(浮点型)
3.14 0.618 9.8 1.0 0.0
布尔类型(boolean)
true 对/真 false 错/假
字符常量
【重点】使用【英文单引号】包含的【单个元素】:
'A' 'B' 'C' 'a' 'b' 'c'
'你' '我' '他' '1'
※'123' 啥也不是
字符串常量
【重点】使用【英文双引号】包含的所有内容
"骚磊的锤子最骚..."
"壮哉我大中华..."
"1"
c、代码演示常量使用
d、字符常量相关知识点
①编码集
ASCII码
美国XXXXX协会制定的一个标准编码
关注点:
1. 大写英文字母编码集编号是小于小写字母
2. 大写小写字母之间非连续
3. 0 ~ 31字符是不可见字符
4. 【重点】任何时候使用字符常量有且只能是'字符本身'
'A' true、65 false
②转义字符[了解]:
a)代码中有些标点符号有特殊含义
例如:" ' 如果需要在代码中使用到" '作为其他操作,这里需要使用 \ 做转义字符
b)代码中也存在一些本身没有含义的字符,通过 \ 转义之后,变成有一定含义的字符
\n 回车、\t 制表符、\r 换行
e、常量使用总结
※常量在代码中是无法修改的量,主要功能是提供给程序运行使用的数据,存在整数,小数,真假关系(布尔类型),字符常量,字符串常量。
【重点】字符使用不允许使用字符对应的编码,有且只能使用字符本身!!!
5、变量【伪重点】
a、生活中的变量
b、 Java中定义变量的格式规范
规范:数据类型 变量名 = 对应数据类型的初始化数据;
数据类型:告知开发者,编译器,当前变量中保存的数据类型是什么?【数据类型一致化】
变量名:对于当前变量的称呼,可以更好的使用当前变量
=:赋值号!!!赋值号右侧的数据,赋值给左侧的【变量】
对应数据类型的初始化数据:考虑数据类型一致化的情况下,给予当前变量一个初始化数据。
c、 数据类型【重点】
①整型
②浮点型
③字符型
④布尔类型
d、变量名/标识符规范【重点】
在注册邮箱时,可以发现邮箱中有要求
6~18字符,可以使用字母,数字,下划线,要求必须是字母开头
以下规范参考AJCG 阿里巴巴Java开发手册,码出规范,码出高效。
※ 什么是标识符:程序员自己对于代码中一些内容起的名字,变量名,方法名,类名...
规范
①. Java中的标识符有且只能使用英文字母(A ~ Z a ~ z), 数字(0 ~ 9) 以及唯一可以使用的标点符号 下划线_ 。其他任何字符都不可以使用!!!
②. 标识符要求英文字母开头。
③. 标识符没有严格的长度限制,但是会根据实际的使用情况来约束标识符长度
④. Java中的标识符严格区分大小写
⑤. 标识符要符合【见名知意,动宾结构】
推荐方式
getStudentAge、setStudentAge、studentScore、studentGender
不允许的方式
拼音简写: lg lp yy nn ez gjz 不允许!!!
全拼:laoGong 不允许!!!
英文拼音混合:payTime peyBeiZhu 不允许!!!
⑥. 标识符要求符合一定的命名要求
a) 驼峰命名法:
小驼峰:一般用于变量名,方法名。
首字母小写,之后的每一个单词首字母大写。
例如:getStudentAge setStudentAge studentScore studentGender
大驼峰:一般用于类名,接口名
所有单词首字母大写
例如:FirstJava Demo1 Person UserService StudentDao
b)下划线命名法:一般用于Java中的常量
例如:MAX_VALUE 最大值、 DEFAULT_CAPACITY 默认容量
⑦. Java中已经被占用的关键字和保留字不能用于自定义标识符:变颜色的都不可以使用
e、Java中定义变量使用
①整型变量演示
②浮点型变量演示
③char字符类型变量演示
④ boolean类型变量演示
⑤ 错误演示
f、变量定义总结
①. 变量定义一行只定义一个,并且初始化操作,赋予当前变量一个符合当前数据类型的初值
②. 使用对应变量,直接使用变量名即可!!!
③. double类型到float类型精度丢失问题
Demo4.java:4: 错误: 不兼容的类型: 从double转换到float可能会有损失
float floatNumber = 3.14;
^
1 个错误: 计算机保存数据,考虑第一原则是数据的精度,double类型精度,是远远高于float类型,计算机会将所有的小数都看作是double类型数据。3.14默认为double类型,这里赋值给float是存在精度不一致报错。这里需要告知计算机,这里3.14是一个float类型,在3.14之后
解决方案:加上一个大写F
float floatNumber = 3.14F;
④. 【推荐】:保证数据类型一致化,在给long类型变量赋值时加上一个大写L,告知编译器这里使用的是一个long类型数据
⑤. 要求字符类型的常量有且只能使用字符本身
⑥. 变量名未定义不能使用
⑦. Java中变量未赋值不能使用
6、作业
a、 整理笔记
b、今天代码最少三遍
c、默写八大基本数据类型重点
d、练习打字,要求200APM 200英文字母/分钟