class FirstJava {
public static void main(String[] args) {
System.out.println("你好");
}
}
编译Java代码使用的工具
javac.exe 编译.java文件使用的工具,
.java文件 ==> 编译 ==> .class文件(字节码文件)
.class是交给JVM(Java虚拟机)运行使用
执行Java程序使用的工具
java.exe 执行.class字节码文件运行Java程序
【重点 格式】
编译Java代码
javac FirstJava.java
==> javac XXXXX.java文件
执行Java代码对应的.class字节码文件
java FirstJava
计算机中最小存储单元是【字节】 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
互联网时代:得数据者得天下
十进制
十二进制 二十四进制 六十进制 七进制
开发中使用的进制:
二进制 八进制 十进制 十六进制
进制 | 基数范围 | 进制关系 |
---|---|---|
二进制 | 0,1 | 逢二进一 |
八进制 | 0~7 | 逢八进一 |
十进制 | 0~9 | 逢十进一 |
十六进制 | 0~9 A~F | 逢G进一 |
转换过程:
十进制转二进制
112 ==> 0111 0000(2)
除二取余倒叙
56 0
28 0
14 0
7 0
3 1
1 1
0 1
二进制转十进制
1011 1110 ==> 190(10)
128
32
16
8
4
2
十六进制的一位 ==> 对应二进制四位
八进制的一位 ==> 对应二进制的三位
十六进制展示:
0x 或者 0X 开头
0x1234 0X1234
0xabcd <==> 0xABCD
八进制展示
0开头
01234 077
常量:
数值
π E C G
文本:
先帝创业未半…
北国风光,千里冰封
文字:
A B C D
你 我 他
1 2 3
即:
常量在生活中就是不能发生改变的量
数值,文本,文字…
开发来源于生活,最终高于生活,反馈于生活
代码运行的过程中不会发生改变的数据就是常量!!!
开发中使用的常量
整数
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"
class Demo1 {
public static void main(String[] args) {
/* 整数常量 */
System.out.println(100);
System.out.println(-100);
/* 浮点数常量 */
System.out.println(3.14);
System.out.println(0.618);
/* 布尔类型 */
System.out.println(true);
System.out.println(false);
/* 字符常量 */
System.out.println('A');
System.out.println('1');
System.out.println('a');
/* 字符串常量 */
System.out.println("zfy");
System.out.println("zhu");
}
}
常量在代码中是无法修改的量,主要功能是提供给程序运行使用的数据,存在整数,小数,真假关系(布尔类型),
字符常量,字符串常量。
时间,温度,电量,发量,音量…
变量特征:
1. 可变性
2. 存在一定的计量单位
3. 会存在一个名字用来称呼
规范:
数据类型 变量名 = 对应数据类型的初始化数据;
数据类型:
告知开发者,编译器,当前变量中保存的数据类型是什么?
【数据类型一致化】
变量名:
对于当前变量的称呼,可以更好的使用当前变量
=:
赋值号!!!赋值号右侧的数据,赋值给左侧的【变量】
对应数据类型的初始化数据:
考虑数据类型一致化的情况下,给予当前变量一个初始化数据。
| 整型 | 占用内存空间大小 | 数据范围 |
| :—: | :--------------## 标题: | :--------------: |
| 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 |
浮点型 | 占用内存空间大小 | 数据范围 |
---|---|---|
float | 4字节(32bit) | ±3.4*10^38 |
double | 8字节(64bit) | ±10^308 |
字符型 | 占用内存空间大小 | 数据范围 |
---|---|---|
char | 2字节(16bit) | 能够保存中文 |
布尔类型 | 占用内存空间大小 | 数据范围 |
---|---|---|
boolean | 视情况而定 | true,false |
什么是标识符:
程序员自己对于代码中一些内容起的名字,变量名,方法名,类名…
规范
1. Java中的标识符有且只能使用英文字母(A ~ Z a ~ z), 数字(0 ~ 9) 以及唯一可以使用的标点符号 下划线_ 。其他任何字符都不可以使用!!!
2. 标识符要求英文字母开头。
3. 标识符没有严格的长度限制,但是会根据实际的使用情况来约束标识符长度
4. Java中的标识符严格区分大小写
5. 标识符要符合【见名知意,动宾结构】
推荐方式
getStudentAge setStudentAge
studentScore studentGender
不允许
lg lp yy nn ez gjz 采用拼音简写是不允许的!!!
laoGong 不行!!!
payTime peyBeiZhu 不允许!!!
6. 标识符要求符合一定的命名要求
a. 驼峰命名法:
小驼峰
一般用于变量名,方法名
首字母小写,之后的每一个单词首字母大写
getStudentAge setStudentAge
studentScore studentGender
大驼峰
一般用于类名,接口名
所有单词首字母大写
FirstJava Demo1 Person UserService
StudentDao
b. 下划线命名法:
一般用于Java中的常量
MAX_VALUE 最大值
DEFAULT_CAPACITY 默认容量
7. Java中已经被占用的关键字和保留字不能用于自定义标识符
变颜色的都不可以使用。
/* 整型变量演示 */
class Demo3 {
public static void main(String[] args) {
/* 数据类型 变量名 = 初始化数据; */
// 变量定义一行只定义一个,并且初始化操作
byte byteNumber = 10;
short shortNumber = 20;
int intNumber = 30;
// 40L是告知编译器这里是一个long类型
long longNumber = 40L;
// 使用对应变量,直接使用变量名即可!!!
System.out.println(byteNumber);
System.out.println(shortNumber);
System.out.println(intNumber);
System.out.println(longNumber);
}
}
/* 浮点型变量演示 */
class Demo4 {
public static void main(String[] args) {
float floatNumber = 3.14F;
/*
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;
*/
double doubleNumber = 0.618;
System.out.println(floatNumber);
System.out.println(doubleNumber);
}
}
/* 字符类型变量演示 */
class Demo5 {
public static void main(String[] args) {
/* 要求字符类型的常量有且只能使用字符本身 */
char ch1 = 'A';
char ch2 = '我';
System.out.println(ch1);
System.out.println(ch2);
}
}
/* boolean类型变量演示 */
class Demo6 {
public static void main(String[] args) {
boolean ret1 = true;
boolean ret2 = false;
System.out.println(ret1);
System.out.println(ret2);
}
}
变量定义一行只定义一个,并且初始化操作,赋予当前变量一个符合当前数据类型的初值
使用对应变量,直接使用变量名即可!!!
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中变量未赋值不能使用