必看
由于此博客顺序参考黑马速成课:BV1ur4y1G7Dc
视频中涉及到了javaWeb知识,这里暂不多叙述,了解即可
开发Web程序
C/S架构
如果客户端为浏览器,则为B/S架构
服务器:tomcat,端口号:8080
数据库:mysql,端口号:3306
springboot
spring全家桶之一,是当今java后端开发最为流行的框架(framework)之一
何为框架?
1.条条框框,必须按照框架的规则来编写代码
2.通用功能,框架提供了很多通用的功能,能够节省开发时间,提升开发效率
前置知识:javaWeb,Maven,spring,springMVC等
数组
1.创建数组
public class Test {
public static void main(String[] args) {
//Array 数组,可以存多个值
//1.类型[] 变量名 = new 类型[长度]
String[] array = new String[10];
array[0] = "hello";//元素 索引(下标)
array[2] = "world";
System.out.println(array[0]+" "+array[2]);
System.out.println("-------------------------");
//2.类型[] 变量名 = new 类型[]{元素1,元素2,...}
String[] array2 = new String[]{"hello", "world"};
System.out.println(array2[0]+" "+array2[1]);
}
}
运行结果
此外还有创建数组的第三种方式:类型[ ] 变量名 = {元素1,元素2, ...}
但是可读性较差,用的也很少,仅作了解即可
2.数组长度
public class Test {
public static void main(String[] args) {
String[] a = new String[]{"北京","上海","深圳"};
System.out.println("数组的长度:"+a.length);
}
}
显然,结果为3(数组a的元素个数)
3.遍历数组
这里就要借助到前面学到的for循环了
public class Test {
public static void main(String[] args) {
String[] a = new String[]{"北京","上海","深圳"};
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
}
运行结果
4.默认值
如果我们定义了一个数组且拥有长度,不赋值,这时访问这个数组的元素是什么呢?
public class Test {
public static void main(String[] args) {
String[] a = new String[5];
System.out.println(a[0]);
}
}
运行结果为null,即数组元素的默认值 但这是String数组的默认值
而像int这样的整型,默认值为0
double,float这样的浮点型,默认值为0.0
boolean(布尔类型)的默认值为false
5.数组越界
即访问的元素位置不存在(比如一个数组a只有2个元素,你访问a[3])
则会报错:ArrayIndexOutOfBoundException(数组索引越界异常)
6.二维数组
格式为:
数据类型[ ][ ] 变量名 = new 数据类型[外层长度][内层长度]
参数校验
卫语句
卫语句就是把复杂的条件表达式拆分成多个条件表达式,减少嵌套。嵌套了好几层的if - then-else语句,转换为多个if语句,实现它的逻辑,这多条的if语句就是卫语句。
卫语句将某些关键条件优先判断,简化程序流程走向。卫语句往往用于对 if 条件嵌套代码的优化。
在《阿里巴巴Java开发手册》中强制规定:超过 3 层的 if-else 的逻辑判断代码可以使用卫语句、策略模式、状态模式等来实现,其中卫语句即代码逻辑先考虑失败、异常、中断、退出等直接返回的情况,以方法多个出口的方式,解决代码中判断分支嵌套的问题,这是逆向思维的体现。
自定义方法check
将卫语句提取到一个自定义方法check中,来进行实参的校验
打包
Maven项目中存在生命周期,其中一个阶段是package,用来打jar包的
面向对象
什么是面向对象?
OOP,Object Oriented Programming
即将一个物体抽象,抽取其中属性
举个例子,一个手机,它的属性有品牌,内存,尺寸,颜色,价格等
在oop这些是字段,也就是用来确定对象是什么样子
类和对象
1.新建一个java class(类),取一个类型名字
2.定义字段,属性
public class Phone {
//类型 名字
String brand;
String memory;
String size;
String color;
double pirce;
}
3.也可以定义方法
public Phone(String brand, String memory, String size, String color, double pirce) {
this.brand = brand;
this.memory = memory;
this.size = size;
this.color = color;
this.pirce = pirce;
}
4.在main方法中new 一个对象
public class Blog {
public static void main(String[] args) {
Phone p1 = new Phone("xiaomi","128G","6.5寸","星光色",3000);
Phone p2 = new Phone("vivo","256G","6.2寸","天蓝色",4100);
Phone p3 = new Phone("apple","128G","6.1寸","午夜黑",5300);
p1.pirce = 3200;
}
}
默认值
根据数据类型不同而不同,详见上文数组->默认值
以下为需要深入理解的几个面向对象的基础,由于篇幅限制,这里不再细说