学习了三周的Java,总的来说还算愉快,上课的时候讲的东西很多,所以课下的练习就显得尤为重要。
第一周
下载和安装JDK,配置环境变量,在控制台里运行命令;
了解Java语言一些最基本的概念,运行一些基本的程序;
第二周
涉及到了程序逻辑,循环分支结构
分支
if else if语句不能循环,if(boolean值){}else{};
switch (变量){
case :常量1;break;
case :常量2;break;
case :常量3;break;
default ;}
循环
while(boolean值){}
只要boolean值为true,循环就一直继续;boolean值为false;直接跳出循环;
do{}while(boolean);即使boolean值为false,循环也要进行一次;然后结束循环;
for(boolean)语句,
foreach语句;
for(int a: i){
system.out.println(a)};
将i依次放入数组a中,并依次打印数组a;
数组
创建数组:int []array=new int [10];
boolean []array=new boolean [30];
直接赋值给数组
int array[]={1,2,3,4,5,6,7,8,9};
很多时候要用到array.length;
注意数组下标越界;
数组的算法有冒泡排序
public static void chui(int []ann){
boolean is=true;
for(int i=1;i<ann.length-1&&is;i++){
is=false;
for(int j=0;j<ann.length-i;j++){
if(ann[j]>ann[j+1]){
int temp=ann[j];
ann[j]=ann[j+1];
ann[j+1]=temp;
is=true;
}
}
}
}
public static void main(String[] args)
{
int []a=new int [20];
for(int i=0;i<20;i++){
a[i]=i+1;
}
for (int i : a)
{
System.out.println(i);
}
}
第三周
这周主要讲了定义方法和面向对象,
先说方法
定义方法【访问修饰符-其他修饰符】-返回类型-方法名(【参数列表】)【异常声明】{....}
public void play(int a){
}
方法就是相对独立的可重复使用的功能模块;
public 公开的,谁都可以调用
default 默认的 只在同一个文件夹里的对象可见;
protected 受保护的,只对子类可见,其他对象不能调用;
private 受保护的,只有自己才能调用,其他都不行
访问难度由低到高;
修饰符
static 静态的 只能给类发消息,
abstract 抽象类,该方法只有声明,没有实现
final 子类不能继承,不能重写,final 变量相当于常量;
native 本地方法,不是用Java写的,而是用c或c++写的,不可见;
方法设计原则,高内聚,低耦合;
方法的重载和重写
重载:方法名相同,而参数类型或数量不一样;可用于实现多态
重写:对同一个方法,子类继承父类后,在子类中有不同的实现版本;
方法的递归调用:
只是耳熟加眼熟而已,并不会用;
好了,面向对象才是重点
对象:接收消息的实体叫类;万物都是对象,对象都属于类;对象都有属性和行为;
对象都是独一无二的;
类: 对象的模版叫类;类有属性,方法,还有构造器来构建方法
属性:数据抽象 方法: 行为抽象 构造器:构造方法
抽象类:不能被实例化,专用来被继承;而且只支持单一继承;
消息:让对象来使用方法;
消息的集合叫接口,接口比类更灵活,可以多重继承;一个类可以有多个接口;一个接口也可以被多个类实现;表能力,表约定,表角色;
面向对象四大支柱:
对象,继承,封装,多态
如何创建对象:
1.先定义一个类,2.在类中创建对象(1.属性 2.行为 3.构造器)3.给对象发消息