1.java基础概念:jdk(java开发工具),jre(java运行环境),jvm(java虚拟机)
2.java中的psvm:public static void main(String[] args){}
3.数据类型:int long float double String char
其中float,double类型表示方法:0.0f,0.0d;
4.类型转换:(float)num //强制类型转换
5.java中项目内容的结构:项目->包->类/接口等
6.输出:System.out.print();
输入:scanner
import java.util.scanner;
Scanner scanner = new Scanner(System.in);
String str;
str=scanner.next();
scanner.close();
next()和nextline()的区别:next()遇到空格就会停止,nextline()碰到回车才停止。
输入hello world
next():hello
nextline():hello world
针对不同的数据类型还有nextInt(),nextFloat()等等。
7.三大结构:顺序,选择,循环:
选择:if{...}else if{...}else{...}
switch(常量){
case 常量:{... break;}
...
default: {...}//可以没有
}
如果case后面没有break,则会依次执行。
循环:while结构,至少执行0次
while(执行条件){...}
do while结构:至少执行一次
do{...}while(结束条件)
for循环:和c类似
增强for循环(用于遍历数组)
for(int a:Array){...}
8.c/c++中的函数,java里叫方法,名字变了
9.重载:方法名字相同,参数不同。//注意不是重写
10.数组:声明:int[] a = new int[];
11.toString():把内容变成字符串 //其实输出时都会隐式调用
12.对数组的操作:首先导入包:import java.util.Arrays;
操作有:Arrays.sort(数组)//升序排序,Arrays.sort(数组,Collections.reverseOrder());//降序排序
Arrays.fill(arr, //初始位置,//末尾位置,填充数值)//:可忽略参数
Arrays.toString(arr) 返回个字符串,把数组内容打印出来。
Arrays.equal(arr1,arr2)比较数组是否相等
Arrays.binarySearch(arr,value)二分查找值,返回其位置:从零开始
Arrays.copyOf(arr,index)//截取前index个和Arrays.copyOfRange(arr,begin,end)//截取范围[begin,end)
13.面向对象:
{
1.方法的重写:@override 子类重写父类的方法
public class father{
public void run(){
System.out.print("Father run");
}
}
public class son extends father{
public void run(){
System.out.print("Son run");
}
}
2.构造器:类默认有个无参构造
public class father{
public father(){
}
}
当类中有有参构造时,默认的无参构造就会失效
public class father{
int age;
public father(){}//一般在写有参构造的时候会默认写上无参构造
public father(int x){
this.age = x;
}
}
public class son extends father{
public son(int x){
super(x);//要先调用父类的构造方法
}
}
3.继承和组合:组合:一个类里有其他类
继承:子类继承父类,拥有父类的所有属性和方法,但无法对父类的私有属性直接操作
子类可以对父类进行拓展(更加具体化)
java中可以多层继承,但不能多继承。
关键字:extends
4.封装:把属性定义为私有(不让外界调用或更改)
利用类本身提供的方法去调用或更改本身私有的属性
5.多态:存在的三个条件:
1.存在继承关系
2.子类重写父类方法
3.父类引用指向子类对象。
结果:->父类的方法为静态:返回父类的方法
父类的方法为动态:返回子类的方法
public class father{
public void run(){
System.out.print("father run");
}
}
public class son extends father{
public void run(){
System.out.print("son run");
}
public static void main(String[] args){
father person = new son();
person.run();//son run
}
}
6.instanceof:左边是对象,右边是类,若对象是右边类所创建的对象时返回true否则false
7.抽象类:类中含有抽象方法(但可以有非抽象的方法)
public abstract void run();
抽象的方法不能实例化,只是个约束,没有方法体。
8.接口:其中全是抽象的方法,
关键字是interface
public interface person{
public void run();
}
public class personimpl implement person{
public void run(){
System.out.print("run");
}
}
}
9.异常
try{
代码段
}catch(异常类型 e){代码段
}finally{无论是否抛出异常都要执行的东西}
throw,throws
public void run() throws 异常类型{//throws:方法准备抛出一个异常
if(条件)
{throw new 异常类型(异常的描述);}//throw:向外抛出一个异常
}
抛出后需要一个try{run();}catch(Expection e){...}结构来接收异常