因为基础知识不牢固,自己找了java的基础课程来听。
目前进度:
基础视频看到了第五页,剩余两页大概47个小节,预计三天内可以完成。
之后计划重新过一下项目的参考视频,开始总结知识点,总结尽量在七天之内完成,力求弄懂每一句代码。
这个月将完成代码部分。
可能遇到的问题:
通过基础知识的学习来看,现在有信心掌握项目的代码部分,如果项目所需要的知识还是不够,将及时与老师联系寻求指导(三天)
以下是基础知识的学习收获:
输出控制符:
t 空出八个空格
n 换行
数据类型:
char 字符型
int 整型
double 双精度
String 字符串
声明变量:
数据类型,变量名称,变量的值、
逻辑运算符只能对布尔boolen类型的值操作
字符串做比较时使用 判断if(sex.equals("男")){
switch case案例常量 break跳出 default默认
重点:switch结构中小括号里只能出现int类型和char类型,case案例的个数可以随便定义但后面一定要跟常量
a>100 ? 200:500;成立时取200,不成立取500;
while 内部定义的变量不能在外部使用;do while 先执行再判断,起码执行一次
for(int i=0,j=number;i<=j;i++,j--)
Java中比较两个字符串是否相等,用equals() if(flag.equals("yes"))
continue的使用:跳过当前程序,直接执行下一次程序
比较break和continue{
使用场合:break可用于switch结构和循环结构中
continue只能用于循环结构中
作用(循环结构中):break语句终止某次循环,程序跳转到循环外的下一条语句
continue跳出本次循环,进入下一次循环
}
循环结构总结
区别1:语法
while循环: do-while循环 for循环
while(<条件>){ do{ for(初始化;条件;迭代){
//循环体 //循环体 //循环体
} }while(<条件>) }
区别2:执行顺序
while循环:先判断,再执行
do-while循环:先执行,再判断
for循环:先判断,再执行
区别3:适用情况
循环次数确定的情况,通常选用for循环
循环次数不确定的情况,通常选用while和do-while循环
System.out.println();不输入内容时只起到换行作用
JVM java虚拟机
java内存分四块
1.栈区:存放参数的函数值,局部变量
2.堆区:存放new创建的对象和数组
3.静态区
4.代码区

栈内存 堆内存
int a=9
int b;(b=9,指向已经创建的)
Scanner in new Scanner(System.in)
String[] arr =new String[5];
System.ot.println(arr[1]); //null为空
arr.length int型数组长度
Arrays.sort(arr);升序排列数组数据
Arrays.sort(arr);
for(int i=arr.length-1;i>=0;i--) {
System.out.println(arr[i]);
逆序输出字母
//冒泡排序 默认数组是升序排列
void 无参无返回
Person类中 eat()方法 name属性
类与对象
必须使用new关键词创建一个对象
使用对象属性(对象名,成员变量)
使用对象方法(对象名,方法名)、
同一个类的每个对象有不同的成员变量的存储空间
同一个类的每个对象共享该类的方法

Public int getAge(){} 注意:get即为取值的意思,set赋值

有参有返回时必须调用一个参数才能使用
例:public String print(String n,int a,char b) {
System.out.println("n"+n);
System.out.println("a"+a);
System.out.println("b"+b);
return "哈哈";
}
A.print("小明", 15, '男');调用需使用完整参数,返回一个String类型的值
局部变量(main主函数中定义)只声明不赋值会报错,
成员变量(在class类中定义的)不赋值显示为0或Null等
Java就近原则,相同名称的变量,靠近哪个用哪个
return关键字
返回方法指定类型的值(这个值是一定的)public int sleep(){} 这里返回一个常数 return 1;
结束方法的执行(仅仅一个return语句)
参数允许有多个,调用时也应有多个,需传多个实参进去(可见Test_can_shu.Java)
toString()方法(每个类的默认方法,用于把类以字符串显示)
1.在java中,所有的对象都有toString()这个方法。
2.创建类时没有定义toString方法输出对象时会输出对象的哈希码值(对象内存地址)
3.它通常只是为了方便输出,比System.out.println(XX),括号里面的“XX”如果不是String类型的话,就自动调用XX的toString()方法
4.它只是sun公司开发java的时候为了方便所有类的字符串操作二特意加入的一个方法
(可见toString.java)
this关键字(细节可见this_guan_jian_zi)
1.在类的方法定义中使用this关键字代表使用该方法的对象的引用
2.有时使用this可以处理方法中成员变量和参数重名的问题
3.this可以看作一个变量,他的值是当前对象的引用(this就等于该对象他本身)
面向对象三大基本特征之一封装(可见feng_zhuang.java)
1.封装(encapsulation)就是把不想或者不该告诉别人的东西隐藏起来,把可以告诉别人的公开
2.做法:修改属性的访问权限来限制对属性的访问(private)。并为每一个属性创建一对取值方法(getGender)和赋值方法(setGender),用于对这些属性的访问。保证属性的合法。
方法的重载(可见chong_zai.java)
方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法,调用时会根据不同的参数列表选择相应的方法。
构造方法
1.没有构造方法时,自动构建一个构造方法Cat(){},
当有一个构造方法Cat(String name,int age),不能直接 Cat one=new Cat();
可以Cat two=new Cat(“小花”,18)
2.使用new + 构造方法 创建一个新的对象
3.构造函数是定义在java类中的一个用来初始化对象的函数
4.构造函数与类同名且没有返回值 student one=new student()
完成了一些java程序的练习


