目录
一. 使用的环境及工具
JDK以及IDEA
二. 基本名词概念的辨析
JVM(Java Virtual Machine):Java虚拟机,主要负责加载并运行.class字节码文件
JRE (Java Runtime Environment):Java运行环境,包含有JVM,还包含了运行程序的 环境.
JDK(Java Development Kit):Java开发工具包,包含了JRE,还包含了Java开发所需要 的工具.
三. JAVA编译的运行过程
.java(源文件) ------经过编译 ----生成.class字节码文件
四. 使用java进行开发的几个步骤
- 新建Java项目/工程 -----------------相当于开个小区
- 新建一个Java的包 -----------------相当于建楼+单元
- 新建一个Java的类 -----------------相当于建房子
/*
写上注释性文本(中间每行可以用*点缀,但不必要)
*/
五. 快捷键
直接输入并回车即可
1. main(能够直接补全public static void main(String[] args))
2. sout(能够直接补全System.out.println();)
3. command + option + l(能快速整理代码)
4. command + /(能够实现快速注释多行代码)
六. 数据类型
两大种: 基本数据类型 和 引用数据类型
变量占多大内存,取决于当前变量的类型!
基本数据类型常规有8种:
byte,short,int,long(整数类型)
float,double(浮点数类型,但一般用double,因为精度更高)
char,boolean(字符、布尔类型)
不常用:byte(涉及IO相关内容使用,存储空间太小)、short 及float (保留C语言中的类型)
所以常用的为剩下的5种。
详细讲解:
整数类型
int类型
- 在内存中占用4个字节。存储的范围为:-2147483648 ~ 2147483647。(20多亿)
- 整数的直接量默认为int类型,直接量是不可以超过当前类型可存储的范围。
- 直接量:直观的数字,比如1000
- 整数若参与运算时,其结果是不会保留小数位!
- 整数参与运算时,若超过类型范围则溢出!溢出数据没有实际参考价值!
- 若赋予的int的数量超出存储范围,会报错!
public class DataTypeDemo {
public static void main(String[] args){
int number = 100
//int b = 2147483648; 编译错误:整数直接量超过了int类型可存储的最大范围!
int a = 5;
int b = 2;
// System.out.println( 5 / 2);//2 (两个整数运算时,不会保留小数位)
int num = 2147483647;//int最大值!
int result = num + 3;
System.out.println(result);
/**
* 最大值+1 -------------------(-2147483648)(溢出)
* 最大值+1 +1 -------------------(-2147483647)
* 最大值+1 +2 -------------------(-2147483646)
* */
}
}
注意!溢出后,会自动变成最小/最大值,再进行加减!
long类型
- 内存中占用8个字节,存储的范围:-900万万亿 ~ 900万万亿
- 长整数类型的直接量,需要在直接量后方缀上大写的L。eg: 1000L,避免溢出
- 长整数类型运算时,建议要在处理的第一个数据后缀加上L,运算结果自动变为long类型
long b = 1000L;//声明一个long 类型的变量 并存储了1000
long a = 1000000000 * 2 * 10L;
//System.out.println(a);//200亿
//30亿已经超过了int的存储范围
long a1 = 1000000000 *3 * 10L;
//System.out.println(a1);//溢出
//long类型的直接量在参与运算时,建议在第一个数据后缀L
long b1 = 1000000000L * 3 * 10;
System.out.println(b1);//300亿
小数类型
- double(双倍精度浮点数),占用8个字节,可以存储的数据非常大
- 浮点型(小数)直接量默认为double类型
- 在进行运算时,可能存在误差!
- 直接量可以在后缀加上大写D,这样能够明确表示是double类型,也可以不加
//3.14 --->小数的直接量 默认为double类型!
double a = 3.14;//声明了double的变量名为 a 并为其赋值3.14
// double a1 = 3.1415926D; 也可以加上后缀D 表示double类型的直接量
double b = 3.0;
double c = 2.9;
//System.out.println(b - c);//可能存在误差
double d = 6.0;
double f = 4.9;
//System.out.println( d - f);//可能存在误差
double g = 6.0;
double e = 1.9;
System.out.println(g - e);//可能存在误差 4.1
字符类型
-
字符:键盘上的字母、数字、特殊符号等......
-
Unicode收录的全球的特殊字符,也称之为万国码,我们使用的是Unicode中最常用的ASCII码表.
-
一个字符对应一个码:表象是字符,本质上其实是个码 (0~65535).
-
字符占用2个字节,直接存储的是字符直接量,字符直接量直接用单引号来表示.(只能存单个字符,空格也算一个字符)
-
char temp = 'A';
char temp = 'a';
// char temp1 = 'AB'; 编译错误,char类型只能存单个字符
char temp2 = ' ';//空格也算一个字符!
System.out.println(temp);//a
System.out.println((int)temp);//会输出小写a转换后的ASCII码:97
char t = '\'';
System.out.println(t); //只会输出一个单引号,因为\是转义字符!
char t1 = '\\';
System.out.println(t1);//这个时候会输出一个\
char sex = '男';中文可以
布尔类型
boolean类型占用了内存1个字节,里面只能存1个数据 (true(成立)/false(不成立))
boolean result = false;
System.out.println(result);
补充:
1. 字节转换:
GB(吉字节) 1GB = 1024MB
2. Java的编译方式:
1和2基本不用。
3. java里面变量可以设置为中文,但是一般不建议!