JAVA基础
1.常用的Dos命令
cd \ # 回到根路径
c: #切换到C盘
d: #切换到d盘
e: #切换到e盘
2. JRE和JDK
JRE( Java Runtime Environment ): java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的
JDK(Java Development Kit): java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序
3.Java程序的开发流程
Java程序的运行包括两个非常重要的阶段
- 编译阶段
- 运行阶段
3.1 编译阶段
编译阶段主要的任务是检查Java源程序是否符合java语法,符合Java语法则能够生成正常的字节码文件(xxx.class),不符合Java语法规则则无法生成字节码文件。
字节码文件中不是纯粹的二进制,这种文件无法在操作系统中直接执行。
编译阶段的过程:
1.程序员需要在硬盘的某个位置新建一个.java扩展名的文件,该文件被称为java源文件,源文件中编写的是Java源代码,源代码必须符合Java语法规则
2.Java程序员需要使用JDK当中自带的javac.exe 命令对java程序进行编译
3.javac是一个java编译工具
4.一个java源文件可以生成多个字节码文件.class
5.字节码文件是最后需要执行的文件,所以.class文件生成之后,java源文件删除并不会影响java程序的运行,但是一般不删除java源文件
6.编译结束之后, 可以将class文件拷贝到其他操作系统当中执行。
3.2 运行阶段
JDK安装后, 除了自带javac.exe之外, 还有另一个工具/命令,叫做java.exe, java.exe命令主要负责运行阶段。
运行阶段的过程:
执行java A java.exe 命令会启动虚拟机(JVM), JVM会启动类加载器classLoader
classLoader会去硬盘上搜索A.class文件, 找到改文件则将该字节码文件装载到JVM
JVM 将 A.class 字节码文件解释成二进制数据
操作系统执行二进制数据和底层硬件平台进行交互
3.3 hello world 程序
在一个java源文件中可以声明多个class,但是最多有一个类声明为public
idea 新建-project-maven-修改goupid为 com.sthl.helloWorld
在src/main/java 下新建package com.sthl, 然后新建class helloWorld
package com.sthl;
/*
Java程序最基本的组成部分是类
类定义的格式:
public class 类名 {
}
*/
public class helloWorld {
/*
main 方法是程序的入口方法,代码的执行都是从main方法开始的
*/
public static void main(String[] args) {
System.out.println("helloworld");
}
}
4.java基础
4.1 关键字
- 关键字的字母都是小写
- 代码编辑器对关键字有特殊标记
4.2 常量
在程序运行过程中,值不发生改变的量
常量类型 | 说明 | 举例 |
---|---|---|
字符串常量 | 用双引号括起来的内容 | “helloworld” |
整数常量 | 不带小数的数字 | 5555 |
小数常量 | 带小数的数字 | 22.6 |
字符常量 | 用单引号括起来的内容 | 'xxxx' |
布尔常量 | 布尔值,表示真假 | true, false |
空常量 | 一个特殊的值,空值 | null |
package com.sthl;
public class constantDemo {
public static void main(String[] args) {
// 字符串常量
System.out.println("helloworld");
// 整数常量
System.out.println(6666);
System.out.println(-88);
// 小数常量
System.out.println(22.6);
// 字符常量
System.out.println('A');
System.out.println('0');
System.out.println('我');
// 布尔常量
System.out.println(true);
System.out.println(false);
// 空常量
// 空常量不能直接输出
}
}
4.3 数据类型
大类分为基本数据类型和引用数据类型
基本数据类型有整数,浮点数,字符, 布尔
引用数据类型有 类,接口,数组
4.4 变量
- 名字不能重复
- 变量未赋值,不能使用
- long类型的变量定义的时候,为了防止整数过大,后面要加L
- float类型的变量定义的时候,为了防止类型不兼容,后面要加F
4.5 标识符
- 由数字、字母、下划线和美元符组成
- 不能以数字开头
- 不能是关键字
- 区分大小写
4.6 类型转换
4.6.1 自动类型转换
把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量
例如 double d = 10;
package com.sthl;
public class typeConvert {
public static void main(String[] args) {
// 自动类型转换
double d = 10; // 自动转换为浮点数
System.out.println(d);
// 定义byte类型的变量
byte b = 10;
short s = b;
int i = b;
System.out.println(i);
}
}
4.6.2 强制类型转换
把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量
- 格式:目标数据类型 变量名 = (目标数据类型)值或变量
package com.sthl;
public class typeConvert {
public static void main(String[] args) {
// 自动类型转换
double d = 10; // 自动转换为浮点数
System.out.println(d);
// 定义byte类型的变量
byte b = 10;
short s = b;
int i = b;
System.out.println(i);
// 这是不可以的
// char c = b;
// 强制类型转换
int xxx = (int)99.333;
System.out.println(xxx);
}
}
4.7 算数运算符
4.7.1 运算符和表达式
-
运算符:对常量或者变量进行操作的符号
-
表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式
不同运算符连接的表达式体现的是不同类型的表达式
-
举例
int a =10;
int b =20;
int c = a + b;
+: 是运算符,并且是算数运算符
a + b: 是表达式,由于+是运算符,所以这个表达式叫算数运算符
package com.sthl;
public class mathSymbol {
public static void main(String[] args) {
// 定义两个变量
int a = 6;
int b = 4;
System.out.println(a + b);
System.out.println(a - b);
System.out.println(a * b);
System.out.println(a / b); // 除法得到的是商
System.out.println(a % b); // 取余得到的是余数
// 整数相除只能得到整数, 要想得到小数,必须有浮点数参与
System.out.println(55.0 / 5);
}
}