冒泡排序
package jichu;
import java.util.Arrays;
public class maopao {
public static void main(String[] args) {
int[] arr= {4,9,5,3,7,6};
sotr(arr);
System.out.println(Arrays.toString(arr));
}
public static void sotr(int[] arr) {
for(int j=0;jarr[i+1]) {
int d=arr[i];
arr[i]=arr[i+1];
arr[i+1]=d;
}
}
}
}
}
选择排序:先找最大值或者最小值放到最前面,再找次小值
package jichu;
import java.util.Arrays;
public class maopao {
public static void main(String[] args) {
int[] arr= {4,9,5,3,7,6};
sotr(arr);
System.out.println(Arrays.toString(arr));
}
public static void sotr(int[] arr) {
for(int j=0;j
插入排序
package jichu;
import java.util.Arrays;
public class maopao {
public static void main(String[] args) {
int[] arr = {5,7,4,2,0,3,1,6};
sort(arr);
System.out.println(Arrays.toString(arr));
}
public static void sort(int[] arr) {
for(int j =0;j=0;i--) {
if(arr[i]>arr[i+1]){
int temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}else {
break;
}
}
}
}
}
希尔排序
先把一组数例如56 95 36 45 56 88 32 45
按顺序写成一棵完全二叉树在最下自右向左逐个建堆(仅供个人理解)在交换后要看一下交换后的是否符合。然后提出最大的那个。再将最底下的放到第一个
Servlet
编程思路:面向对象:面向对象:首先区抽离出参与的对象,然后,调用对象相关方法完成执行程序需求
面向过程:执行一次程序
1 类以及类的成员属性方法构造方法代码块内部类等
2 面向对象的持征封装继承多态抽象接口
3 关键字this super static final等
public static void main(String[] args) {
fadsf id=new fadsf();
//类的实例化,实质就是在堆内存中开辟内存空间
//Cat() :实际开辟内存空间的类型
// new :关键字--》告诉虚拟机在内存中开辟空间的标志l /cat :具体的对象
//Cat :具体的数据类型
}
封装:属性私有化 同时提供访问器和更改器
private String name;
//访问器
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public class Dog {
public static void main(String[] args) {
Cat cat=new Cat();
System.out.println(cat.getName());
}
source 里的set get可以直接生成
1、需有访问权限修饰符public private protected不写
2、要有方法的返回值类型,如果没有返回值,返回值类型写void
3、需有方法名,在同-类中方法的签名不能重复(方法签名:方法名+参数列表(参数的类型,参数的个数,参数的顺序))
4、方法重载指的是方法名相同,参数列表不同的方法们。意义统一了方法名5、要有参数列表(有括号),但是参数列表可以为空
6、可以使用关键字static final等进行修饰,由他们修饰分别由不同的含义
方法名相同 参数 参数类型不同
1、构造方法是一种特殊的方法,不需要有返回值类型,方法名与类名必须一致,用于初始化对象2、构造方法在对象被创建时调用
3、一个类中默认有一个无参的构造方法,一旦自行书写了任意构造方法,就会覆盖原无参构造方法
4、一类当中可以有一个或者一个以上的构造方法,就是说构造方法也有方法重载
5、书写任意构造方法,就会覆盖原无参构造方法,如果仍然需要使用无参构造方法,就需要明确的书写出来
public class Cat {
//构造方法
public Cat() {
}
//构造方法的方法重载
public Cat(String a) {
System.out.println(a);
}
public class Dog {
public static void main(String[] args) {
new Cat("s");
}
}
1、哪个对象调用该方法,那么this指的就是该对象,this代表当前对象
2、this可以修饰属性,可以省略,但是当方法中局部变量名跟属性名一样,要区分时必须使用this 3、 this可以修饰方法,在一个对象方法中调用另一个对象方法, this可以省略
4、在类方法中不能使用this ,static关键字是对类而言,this关键字是对对象而言,类比对象要早出现,所以不能使用5、this(可以在构造方法中调用其他构造方法
6. this0不能普通方法中使用,只能在构造方法中使用
7 this0在构造方法中使用必须是第一行
8、在一个类中两个构造方法不能通过this0相互调用心
java面向对象编程的基石,继承是子类继承父类的特征和行为,实质是提炼共有特征和行为的父类,到达高内聚,低耦合的作用
public class Per {
public void eat() {
System.out.println("人在吃");
}
}
public class son extends Per{
public void run() {
System.out.println("儿子在跑");
}
}
public class Test {
public static void main(String[] args) {
son so=new son();
so.eat();
so.run();
}
}
人在吃
儿子在跑
方法重载与方法重写的区别
方法重载:理论上发生在同一个类中,方法名必须相同,参数列表必须不同,方法返回值可以相同,发生在编译阶段
方法重写:发生在父子类中,方法签名必须一致,如果方法名相同,参数列表不同,则是方法重载,发生在运行阶段;子类的返回值范围小于等于父类,子类的访问权限修饰符范围要大于等于父类;如果父类方法访问修饰符为private,则子类就不能使用该方法以及重写该方法。
super
第—个用途: super调用父类的方法和属性
第二个用途: super0调用父类的构造方法,superD必须是第一句
访问权限修饰符:public protected private 默认。
public可以修饰方法和变量,在一个java中只能有一个来修饰class
包装类
包装类产生的意义:
在面向对象中,“一切皆为对象”,但是基本类型不合符这样概念,所有要把基本类型包装成类子
包装类主要用于不同类型的转化
基本类型: byte short int long float double char boolean
对应的包装类型:Byte Short Integer Long Float Double Character Boolean/包装类的基本操作以Integer为例
int a=10;
Integer d=new Integer(a);
Integer a_obj=new Integer(10);
int a=a_obj.intValue();
字符串转Integer
String a="458";
Integer d=new Integer(a);
Integer转字符串
Integer d=new Integer(10);
String a=d.toString();
string转int
String a="ss";
int fd=Integer.parseInt(a);
/* int a=6;
String s=String.valueOf(a);*/
在键盘上输入
Scanner sc =new Scanner(System.in);
int add=sc.nextInt();
接口
反射
1、概念:能够分析类信息的能力叫做反射
2、类信息:比如属性、方法、构造方法、访问权限修饰符等
3、java反射机制的核心是在程序运行时动态加载类并获取类的详细信息,从而操作类或对象的属性和方法
4 获得class对象的方式
通过反射获得类对象
1包名加类名
Class.forName("demo1.Person")
2类名.class
3对象名getClass()
什么是spring在实际开发中,通常服务器端在采用三层体系架构,分别为表示层(Web),页面前端、业务逻辑层(Service)、持久层(Dao)持久层就是数据库, Spring对每一层都提供了技术支持。
Springl 核心容器:Spring为我们提供了两种核心容器,分别为BeanFactory和ApplicationContext
通过ClassPathXmlApplicationContext创建
ApplicationContext applicationContext =
new ClassPathXmlApplicationContext(String configLocation);
在src目录下,创建一个com.itheima.ioc包,并在包中创建接口UserDao,然后在接口中定义一个say()方法
在D盘新建一个文件夹 在eclipse里点击flie下的 switchworkpace other 选择刚才新建的文件夹
转换为package explore 点击window 然后点show view 界面other 找package explore
然后建一个Dynamic项目 将 那四个jar放到lib目录下
定制 src的菜单 windows--> persperctive -> customize perspective
创建一个接口
写首字母自动弹出单词windows perferences java Editor content Assist .那里加
复制要粘贴的文件:
下的doc 下的
html->index.html 7.2.1
业务逻辑层点调用Dao方法