1. Java第一个程序
1.1 Notepad++准备
菜单栏
设置 --> 首选项

1.2 Java第一个代码
class FirstJava {
public static void main(String[] args) {
System.out.println("Hello world");
}
}
1.3 编译执行Java程序
需要使用的工具:
1. java.exe
2. javac.exe
需要在命令提示符中使用
首先需要使用javac.exe 编译Java文件 ==> .class字节码文件
格式:
javac XXXX.java
javac FirstJava.java ==> FirstJava.class
需要使用java.exe执行对应的Java程序,真正执行的是.class字节码文件
格式
java XXX
java FirstJava
1.4 第一个代码问题
1. 代码格式
2. 拼写错误
3. 标点符号
开发中使用的标点符号都是英文(半角符)
成双成对的标点符号一次搞定 () {} [] "" ''
4. 代码中的错误,需要心存感激!!!
2. 计算机存储单位和方式
2.1 计算机存储单位
计算机中的最小存储单位是 字节 byte
1024进制关系 ==> Windows
1024 byte ==> 1 KB
1024 KB ==> 1 MB
1024 MB ==> 1 GB
1024 GB ==> 1 TB
1024 TB ==> 1 PB
1024 PB ==> 1 EB
硬件设备和macOS系统中,采用的进制关系是 1000
1. 对于硬件设备,1000进制关系便于生产
2. macOS采用1000进制是是因为macOS系统和硬件关系是定制关系。
字节 byte
是最小单位
一个字节 ==> 8 Bit 比特位
0101 0101 8个二进制位
100M 带宽 ==> 实际最高峰值速度 12.5mb/s
2.2 进制关系和转换
进制 |
基数范围 |
进制规则 |
十进制 |
0 ~ 9 |
逢十进一 |
二进制 |
0, 1 |
逢二进一 |
八进制 |
0 ~ 7 |
逢八进一 |
十六进制 |
0 ~ 9 A ~ F |
逢G进一 |
十进制转二进制
118(10) ==> 0111 0110(2)
辗转相除,取余倒叙
59 0
29 1
14 1
7 0
3 1
1 1
1
二进制转十进制
0111 1110(2) ==> 0 + 2 + 4 + 8 + 16 + 32 + 64 + 0
==> 126
八进制展示方式
要求八进制数展示数据时 需要使用 0开头
0777 0123 正确情况
十六进制展示方式
要求十进制展示数据时,需要使用0x或者0X开头
0x1234 0xffff
0xabcd == 0XABCD 十六进制字母abcdefg不区分大小写
如果在实际操作过程中需要使用进制转换,请使用计算器!!!
2.3 原码,反码和补码 [听懂了赚,听不懂不赔 仅做了解]
计算机之父:
冯·诺依曼
1. 二进制思想
2. 文件存储思想
编程之父 人工智能:
艾伦·图灵
原码,反码和补码的使用,是为了简化计算机运算逻辑复杂度
举例说明:
这里使用正整数和负整数演示原码,反码和补码
118
正整数原码,反码和补码一致
118(2) ==> 0111 0110
-118
原码:
对应正整数二进制位,同时最高位表示符号位 改为1
-118 ==> 0111 0110 ==> 1111 0110
反码:
原码按位取反,符号位不变
1111 0110 ==> 1000 1001
补码:
反码 + 1
1000 1001 + 1 ==> 1000 1010
0111 0110
1000 1010
1 0000 0000
1 超出范围舍去 ==> 0
3. 常量
3.1 生活中的常量
单位 进制
重力加速度 G 光速 C 一天24小时 一分钟60秒
文字
A B C D E F G
你 我 他
1 2 3 4 5 7
数值
10 100 200
文本
北国风光,千里冰封,万里雪飘...
常量就是生活中不可以发生改变的量。
3.2 开发中的常量
整数:
1 2 3 4 5
-1 -2 -3 -4 -5
小数(浮点数):
3.141592653
0.618
9.8
真假关系(布尔类型):
true false
T F
字符:
'A' 'B' '你' '他'
Java语言中规定,字符常量是【英文单引号】包含的【单个元素】
字符串:
"这是一个字符串"
Java语言中规定,字符串常量是【英文双引号】包含的所有内容
class Demo1 {
public static void main(String[] args) {
System.out.println(789456123);
System.out.println(3.1415);
System.out.println(true);
System.out.println(false);
System.out.println('A');
System.out.println("字符串");
}
}
3.3 字符
3.3.1 字符集
计算机中所有的文字都是一个图片,不同的编码集组合不同的图片样式,然后进行展示。
常用编码集:
GB2312: 老国标,只有所有的简体汉字和一部分少数民族文字
GBK: 新国标,所有的简体汉字和所有少数民族文字,目前也是常用编码集之一
UTF-8: 万国码,支持目前所有的文字 【重点】
BIG5: 中文繁体字编码 主要使用于 中国香港,中国澳门,中国台湾省,新加坡
ASCII: 美国XXXXXX标准协会制定的编码
对于ASCII码表,需要了解的内容
1. 0 ~ 31 对应字符是不可见字符
2. 英文字母,大写字母编码值小于小写字母
3. 英文字母大小写非连续
4. 开发中如果需要使用字符,绝对不允许使用编码值

3.3.2 转义字符
编程语言中,有很多标点符号是带有特定含义的
'' ""
如果代码中需要使用单引号或者说双引号,这里就需要使用转义字符来完成对于特定字符变为无意义字符的过程
\ 反斜杠
可以将带有含义的字符 ==> 无意义字符
\' \" \\ ==> 一个反斜杠 \\\\ ==> 两个反斜杠
可以将部分无意义字符 ==> 带有特定含义的字符
\n ==> Enter
注意:
转义字符\标记 有且只能处理\之后的第一个字符
3.3.3 面试巨坑题
请问:
\40是什么???
\40 ==> 空格
\之后的数字默认是八进制,且八进制开头的标记0可以省略。
要求:
1. 开发中不得使用,字符就老老实实使用字符本身,否则死无葬身之地
2. 面试其他人不得使用
4. 变量【伪重点】
4.1 生活中的变量
银行卡余额,年龄,体重,温度,湿度。
生活中描述变量,都会有一定的名字,甚至于有一定的单位。
还存在一定的容器概念。
4.2 开发中的数据类型【重点】
4.2.1 整型
整型 |
占用内存空间大小 |
数据范围 |
byte |
1字节(8bit位) |
-128 ~ 127 |
short |
2字节(16bit位) |
-32768 ~ 32767 |
int |
4字节(32bit位) |
- (2 ^ 31) ~ 2 ^ 31 - 1 |
long |
8字节(64bit位) |
- (2 ^ 63) ~ 2 ^ 63 - 1 |
4.2.2 浮点型
浮点型 |
占用内存空间大小 |
数据范围 |
float |
4字节(32bit位) |
±3.2 * 10 ^ 38 |
double |
8字节(64bit位) |
10 ^ 308 |
4.2.3 布尔类型
布尔类型 |
占用内存空间大小 |
数据范围 |
boolean |
视情况而定 |
true false |
4.2.4 字符类型
字符类型 |
占用内存空间大小 |
数据范围 |
char |
2字节(16bit位) |
能够保存中文 |
4.3 定义变量的格式
格式要求:
数据类型 变量名 = 初始化数据;
数据类型
目前使用八大基本数据类型,针对不同的情况下,选择合理的数据类型
变量名
操作当前变量的名字
=
赋值
初始化数据
针对当前变量对应数据类型,选择合理的初始化数据,对于当前变量进行初始化操作。
4.4 变量名规范【标识符命名规范】
标识符 ==> 名字
开发中会是使用到的名字 变量名 方法名 数据类型名...
注册邮箱
6~18个字符,可使用字母、数字、下划线,需要以字母开头
标识符命名规范 【AJCG 阿里巴巴Java开发规范】
1. 标识符有且只能使用 数字字符(0 ~ 9) 英文字符(A ~ Z a ~ z)以及唯一可以使用的标点符号 _
2. 标识符要求英文字母开头
3. 标识符没有严格的长度限制,但是会根据实际的开发要求,来约束标识符的长度。
4. Java中标识符严格区分大小写
5. 标识符要求【见名知意,动宾结构】【重点】
studentAge studentName setStudentName getStudentName
int a, b, c, d, e, f, g; 【非常严重的错误!!!】
imgLogo.jpg imgBanner.jpg img3.jpg img4.jpg 【错误演示】
xueShengXingMing studentXingMing studentXM 【不允许】
tsgly ==> 图书管理员 【不能用】
lg lp ez yy1 yy2 yy3 【不允许】
老公 老婆 儿子
6. 标识符要求符合命名要求
a. 驼峰命名法
小驼峰
iPhone iPad iTouch iWatch
studentAge studentName setStudentName getStudentName
要求首字母小写,之后的每一个单词首字母大写
适用于:
变量名, 方法名
大驼峰
FirstJava
所有单词首字母大写
适用于:
类名,接口名
b. 下划线命名法
MAX_VALUE 最大值
MAX_FILE_SIZE 最大文件大小
DEFAULT_CAPACITY 默认容量
针对的是带有名字的常量
7. 已经被Java占用的关键字或者保留字,不得用于自定义标识符使用。
在代码中所有带有颜色的内容,不得作为标识符使用,
4.5 变量定义格式演示【三遍】
/* 该代码最少三遍 */
class Demo3 {
public static void main(String[] args) {
/* 整型变量 */
byte byteNumber = 10;
short shortNumber = 20;
int intNumber = 30;
long longNumber = 40;
System.out.println(byteNumber);
System.out.println(shortNumber);
System.out.println(intNumber);
System.out.println(longNumber);
}
}