一、变量命名与应用.
变量定义:在内存中开辟的一块内存空间,用来存放运算过程中需要用到的数据。
【可以理解为一个专用抽屉,想命名什么都行(maybe】**
一般来说,一个变量名对应一块区域。
通过给变量赋值,也将数据与一些能够描述的名字连接起来,简单说,就是给数据一个能让人理解的名字。
*变量声明:
int age; // 声明一个整数变量
double score; // 声明一个双精度浮点数变量
char grade; // 声明一个字符变量
String name; // 声明一个字符串变量
boolean passed; // 声明一个布尔变量 true/false
-数据类型:*
1.基本数据类型(如int,double,float,char等):不同的数据类型所占据的内存空间,可以修饰的对象都有相应的限制。
2.引用数据类型***:分为数组、类、接口.(具体还没讲doge)
二、运算及运算符
1)算术运算符:+, -,* , /,%(取余)等
2)关系运算符:==,!=, eg(对于1):
int num1 = 20;
int num2 = 6;
int ans = num1 % num2;
System.out.println(ans);
最后会输出结果为2.
三、控制语句
1)选择语句
主要语法为if-else,switch(后者不常用)
对于if-else,则根据不同情况来使用else if等语法.
if (condition1) { // 当条件1为真时执行的代码块
} else if (condition2) { // 当条件2为真时执行的代码块
} else if ( condition3) { // 当条件1和条件2都为假时执行的代码块
}
需要注意的是,若条件都不满足,则会跳转到else,执行其中的命令.
对于switch,则有以下语法
switch (表达式)
{ case 值1: // 当表达式的值等于值1时执行的代码
break;
case 值2: // 当表达式的值等于值2时执行的代码
break;
case 值3: // 当表达式的值等于值3时执行的代码
break; // 可以有更多的 case 分支
default: // 当表达式的值与所有的 case 值都不匹配时执行的代码
break;
}
其中break一定要加上,否则它会一直运行后面的代码,直到遇到下一个break才会停止.
2)循环语句
一般分三类:for,for-each,while(do-while型不常见,故忽略)
~for 一般格式为
for(initialization;condition;update){//循环体代码 }
其中initialization是循环的初始条件;condition 是循环的条件,只有当条件为 true 时,循环才会执行;update 是循环控制变量的更新,它会在每次循环迭代完成后执行.其中initialization是循环的初始条件;condition 是循环的条件,只有当条件为 true 时,循环才会执行;update 是循环控制变量的更新,它会在每次循环迭代完成后执行.;
~for each 一般格式为
for (elementDataType elementVariable : collection) { // 循环体代码 }
elementDataType 是集合元素的数据类型,elementVariable 是每次循环迭代时用于表示当前元素的变量名,collection 是要遍历的数组或集合.(讲的时候没听懂,概念有些许抽象doge)
~while 一般格式为
while (condition) { // 循环体代码 }
此处的condition类似于布尔变量,只有当满足该条件的时候循环才能继续下去,若不满足则循环终止,输出结果.*
根据以上循环,可以类似地做出以下成果
**for(int i = 1; i <= 9; i++){
int k = 1;
`for( k = 1; k 对象(Object):对象是Java程序的基本单元。对象表示现实世界中的事物或概念,并且可以具有状态(属性)和行为(方法)。例如,一个名为"Car"的类可以用于创建表示不同汽车的对象。
类(Class):类是对象的蓝图或模板,它定义了对象的属性和方法。类是用于创建对象的模型,它包括数据成员和方法。类(Class):类是对象的蓝图或模板,它定义了对象的属性和方法。类是用于创建对象的模型,它包括数据成员和方法。类(Class):类是对象的蓝图或模板,它定义了对象的属性和方法。类是用于创建对象的模型,它包括数据成员和方法。类(Class):类是对象的蓝图或模板,它定义了对象的属性和方法。类是用于创建对象的模型,它包括数据成员和方法。
定义方法如下:public class 类名 { }
除此之外,静态方法可以应用到许多方面(如getMemory,setMemory,创造Calculator等)
eg:
//求最大公约数的静态方法
public static int gcd(int num1, int num2) {
while (num1 != num2) {
if (num1 > num2) {
num1 = num1 - num2;
} else { num2 = num2 - num1;
}
} return num1;
}
五、异常处理
try { // 程序代码 }catch(ExceptionName e1) { //Catch 块 }
1)异常分类.
checked exception 强制处理异常 (非运行时异常)
unchecked exception 非强制处理异常 (运行时异常)
(并没有那么重要)
2)异常处理.
可以使用try-each语句(此处省略doge)来修正
ps:1个try语句跟多个catch语句
六、方法重写与继承
这一部分没太听懂,嘶 只能多引用了
·重写(rewrite)只能在继承中遇到【这点与重载(reload)不一样】
继承(Inheritance):继承是一种机制,允许一个类(子类/派生类)继承另一个类(父类/基类)的属性和方法。子类可以继承父类的成员,然后扩展或修改它们。
1.子类中方法名、参数列表与父类中的方法名、参数列表一样时发生重写
2.返回值类型必须一致(新版本:返回值类型必须小于或者等于父类方法的返回值类型,可以类型转换 )
3.子类方法访问权限>=被覆盖的父类方法
4.子类不能重写父类中用final修饰的方法
5.子类不能重写父类的构造方法
6.子类无法继承父类的构造函数
7.父类被重写后,子类使用super调用的是父类的方法(被重写前的),其他情况下,直接调用被重写的方法,调用的就是子类中的方法。
8.java不支持super.super的用法
9.关键字final定义的方法,可以在同一个类中有重载(overloading)方法。(被继承后不能重写)
10.子类和父类的方法必须都是实例方法才会实现重写,若父类是静态方法,子类是实例方法或者相反都会报错,若父类和子类都是静态方法,那么子类会隐藏父类的静态方法,而不是覆盖。