文章目录
1. JVM JRE JDK
JVM是java虚拟机,其作用是解释java代码;
JRE是运行环境,其由jvm和一些核心类库组成的;
JDK是开发环境,由JDK和开发工作组成。
也就是说JDK包含了JRE和JVM,包含了开发工具,核心类库以及解释java代码的虚拟环境。
2.编译java文件
javac encoding utf-8 filename.java
3. 字节码的作用
字节码是java源码经过编译器后形成的,字节码由jvm进行翻译为机器码;C++没有字节码的概念,其直接将源码编译为机器码,这样的缺点是不同操作系统下的机器码不兼容,linux机器码只能在Linux下使用,而windows机器码只能在Windows下使用。
4. 输入输出
System.in.read();
var obj = new Scanner(System.in);
var val = obj.nextLine();
int val = obj.nextInt();
//val代表了键盘输入的东西
System.out.println("输出");
5.字符串
字符:‘ ’
字符串:“ ”
文本块:“““ ”””
字符串拼接: +
转义:\n换行 \t空格 \b退格 \r回车
6. 数字类型
byte:1个字节
short: 2个字节
int: 4个字节
long:8个字节
float:4个字节
double:8个字节
- 条件、循环语句
&& || ! (与 或 非)
if(case 1) {
}else(){
}
for(int i = 0; i < 100; i++) {
i--;
}
8. 方法
Class testMethod(){
static int add(int a, int b) {
return a + b;
}
}
//通过类名调用方法名
int count = testMthod.add(3,1);
//方法注释代码
/** 回车即可自动生成
9. package&jar
软件包一般命名为域名的颠倒,如com.baidu,然后这个包下在设置多个包
不在同一个包内的类需要通过import导入,import + 需要导入的类名;
同一个包内的类直接通过类名调用方法,不需要import
特例:java.lang下的类不需要import,如Math.pow(), String()
jar是java工程打包,IDE可以将这个项目打包为一个.jar压缩包,压缩包交给用户后,用户在终端先cd到压缩包所在目录,然后采用java -jar + 压缩包名字运行
10. 数组
//定义
int[] num = new int[3];
String[] str = new String{"goodo","morning"};
Char[] ch = {'a','b'};
//取值
str[0], int[1], ch[0];
//长度
str.length;
int.length;
ch.length;
//二维数组
String[][] str = new String[2][3]; //2行3列
str[0][1], str[2][2];
10. C/S架构
SpringBoot:它是一种框架,规定了代码的书写格式,同时提供了通用的具有实现具体目的的功能。
cs架构(Client-Sever)为客户端,服务器架构,它可以支持多个进程访问服务器,
服务器端由SpringBoot是一种框架,它内置Tomcat服务器程序,源源不断接受服务器请求,端口为8080;mysql的端口为3306。客户端通过一定协议访问服务器,其协议格式为
协议://主机地址:端口号[路径][参数]
如:http://wwww.baidu.com(localhost):443/add?a=1&b=2
骨架通过官网或者阿里云下载,需要在.xml文件里修改java版本和springboot版本;
maven可以自动帮助我们下载第三方的.jar包,需要修改镜像文件下载路径
11. Boot实现
自己创建一个类,类里面实现方法
例如:添加控制器实现输入输出
//纯输出
@Countroller //注解
public class countrolHello(){
@RequestMapping('/hello') //需要响应的映射地址
@ResponseBody() //处理响应的结构
return "hello world";
}
检查输入参数的异常
在配置文件里面加上:sever.error.include-message = always
抛出信息:throw new illegalArguementException(“输入有误,请重新输入”)