java笔记88888Word格式文档下载.docx
- 文档编号:4682955
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:23
- 大小:22.34KB
java笔记88888Word格式文档下载.docx
《java笔记88888Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《java笔记88888Word格式文档下载.docx(23页珍藏版)》请在冰点文库上搜索。
3.布尔类型
可以表示:
真或者假,类型是boolean
4.字符类型
表示单个字符,字符类型是char,chai是两个字节,可以存放汉字。
多个字符称为字符串,在java中用String表示,String属于类。
.
在java中,对char进行运算的时候,直接当做ascii码对应的整数对待。
(汉字则是unic码)
定义变量inta
初始化变量inta=45
给变量赋值inta;
a=45
基本数据类型转换
inta=1.2错误会损失精度
doublea=4正确数据类型可以自动从低精度向高精度转换。
byte<
short<
int<
long<
float<
double
在java中的小数默认是double,于是需要floata=3.4f
计算过程中的转换:
当一个整数和一个double进行运算时,会自动向高精度转换.
第三讲运算符流控制
1.+加
2.-减
3.*乘
4./除
5.%取模即取两个数相除的余数。
如5%3=2
pulicclassdemo1
Publicstaticvoidmain(String[]args)
Inta=2
Intb=4
If(b%a==0)//==表示判断是否等于0
System.out.println(“可以整除”);
}else{
System.out.println(“不能整除”);
++自加
--自减
1.intb=++a
(
a=a+1
b=a
)
2.intb=a++
算数运算符
1.+=左加
2.-=左减
3./=左除
4.%=左取模
如:
inta=90
a+=90;
=>
a=a+90
floatb=89.7
b+=a=>
b=b+a
a-=34;
b%=a
即:
a=a+34;
b=b%a
关系运算符
1.==等于2.>
大于3.<
小于4.>
=大于等于
5.<
=小于等于6.!
=不等于
逻辑运算符
1.&
&
与
2.||或
3.!
非
inta=90;
intb=90;
if(a==b||a>
8){System.out.print(“ok1”);
b--;
if(a>
b&
a>
45){System.out.println(“ok2”);
if(!
(a<
=b)){System.out.println(“ok3”);
java基本语法
一.顺序控制,让程序可以顺序执行。
二.分支控制,让程序有选择的执行。
1.单分支
if(条件表达式){
语句
2.双分支
3.多分支
}elseif(条件表达式){
}elseif(条件表达式){
}else{
三.流控制
swich(条件表达){
case常量1:
语句1;
break;
case常量2:
语句2;
…….
default:
语句;
1.条件表达式数据类型,应和case后的常量类型一致。
2.switch中可用的数据类型主要有byte,short,int,char,enum等。
enum枚举
三.循环控制
1.for循环。
例:
for(inti=0;
i<
10;
i++)
System.out.println(“你好”)
2.while循环。
例:
inti=0;
while(i<
10);
System.out.println(“你好”);
i++
先判断,再执行。
3.dowhile循环。
inti=0
do{
System.out.print(“你好”);
i++;
}while(i<
0);
先执行,再判断,不论条件如何都会执行一次。
经典案例:
金字塔打印:
intlay=4;
//表示有多少层
for(inti=1;
=lay;
//找出空格规律
//1=>
32=>
23=>
14=>
for(intk=1;
k<
=lay-i;
k++)
System.out.print(“”);
//打印*
12=>
33=>
54=>
7
for(intj=1;
j<
=(i-1)*2+1;
J++)
System.out.print(“*”);
//打出换行
System.out.print();
镂空的金字塔:
=lay-I;
//判断该层是否是顶层或底层.
if(i==1||i==lay){
System.out.print(“*”);
else
//如果是第一个*
if(j==1||j==(i-1)*2+1)
else{
课后题,镂空菱形。
Java面向对象编程-类与对象、构造方法
类是抽象的,概念的,代表一类事物,比如人类,猫类
对象是具体的,实际的,代表一个具体事物。
类的对象是模板,对象是类的一个个体,实例。
类----如何定义一个类。
package包名;
class类名extends父类implements
接口名{
成员变量;
构造方法;
成员方法;
成员变量--是类的一个组成部分,一般是基本数据类型也可以是引用类型(指向另外一个类)。
比如我前面定义猫类的intage就是成员变量。
(类名首字母为大写)
对象—如何创建对象
创建一个对象有两种方法
1.先声明再创建
对象声明:
类名对象名
对象创建:
对象名=new类名()
2.一步到位法
类名对象名=new类名()
对象---如何访问(使用)对象的成员变量
对象名.变量名;
如:
Persona=newPerson();
a.age=10;
a.namen=”小明”;
Personb;
b=a;
System.out.print(b.age);
//b,a指向内存同一块空间,修改b值也将导致a值变化。
类—类成员方法(成员函数)定义
public返回数据类型方法名(参数列表)
语句;
//方法(函数)主体
1.参数列表:
表示成员函数输入
2.数据类型(返回类型):
表示成员函数输出。
3.函数主体:
表示为了实现某一功能代码块
(方法名首字母为小写)如何定名字1.驼峰法myCry2.下划线法my_cry
类成员的方法—声明:
publicinttest(inta);
//方法声明
这句话的作用是声明该方法,声明的格式为:
访问修饰符数据类型函数名(参数列表)
return表达式;
方法可以没有返回值。
类的构造方法
1方法名和类名相同2没有返回值
3在创建一个类的新对象时,系统会自动的调用该类的构造方法完成对新对象的初始化。
类的构造方法小结
1.构造方法名和类名相同。
2.构造方法没有返回值。
3.主要作用是完成对新对象的初始化
4.在创建新对象时,系统自动的调用该类的构造方法。
5.一个类可以有多个构造方法。
6.每个类都有一个默认的构造方法。
练习:
编写一个成员函数,从键盘输入一个一个整数,打印出对应的乘法表
public公有的是java的访问修饰符!
看下访问修饰符
1.public(公有的):
可以被该类的和非该类的任何成员访问。
2.private(私有的):
仅仅可以被该类的成员访问,任何非该类的成员一概不能访问。
(主要是隐藏数据来保证数据的安全性)
3.protected(保护的):
仅仅可以被子类和类本身还有同一个包里的类访问。
//void是无返回值的意思。
比方说publicvoidwalk()
{
System.out.print("
你好!
"
如果别的地方调用这个方法就会打印出你好!
再看这里:
publicStringwalk()//注意这里的返回类型是String不是void了
return"
哈喽"
;
//注意这里这个return如果不写就会报错!
原因就是因为上面的返回类型必须是String型。
如果写的是void意思就是不需要返回类型。
所以就没必要写return了。
如果方法上面写了某种返回类型就必须写return后面跟相应的类型值。
this代词
this是属于一个对象的,而不是属于一个类的。
类变量
类变量是该类的所有对象共享的变量,任何一个该类的对象去访问他时,取到的都是相同的值,同样任何一个该类的对象去修改他时,修改的也是同一个变量。
如何定义一个类变量:
static数据类型 变量名;
如何访问类变量:
类名.类变量名 或者 对象名.类变量名
类方法:
类方法是属于所有对象实例的,其形式如下:
访问修饰符 static数据返回类型 方法名(){}
注意:
类方法中布能访问非静态变量(类变量)。
使用:
类名.类方法名 或者 对象名.类方法名
publicclassdemo_1
/*staticinti=1;
static
//该静态区域块,只被执行一次。
publicdemo_1()
}*/
publicstaticvoidmain(String[]args)
demo_1t1=newdemo_1();
System.out.println(t1.i);
demo_1t2=newdemo_1();
System.out.println(t2.i);
stustu1=newstu(29,"
aa"
340);
stustu1=newstu(39,"
bb"
360);
}
//学生
classStu
intage;
Stringname;
intfee;
staticinttotalFee;
publicStu(intage,Stringname,intfee)
this.age=age;
this.name=name;
totalFee+=fee;
//返回总学费{这是一个类方法(静态方法)}
//java中规则:
类变量原则上用类方法去访问
publicstaticintgetTotalFee()
returntotalFee;
类变量小结
1.什么时候需要用类变量
案例:
定义学生类,统计学生共交多少钱?
用类变量,属于公共的属性
2.类变量于实例变量区别
加上static称为类变量和静态变量,否则称为 实例变量
类变量是与类相关的,公共的属性
实例变量属于每个对象个体的属性
类变量可以通过类名.类变量名直接访问。
封装-什么是封装
封装就是把抽象出得数据和对数据的操作封装在一起,数据被保护在内部,程序的其他部分只有通过被授权的操作(成员方法),才能对数据进行操作。
封装-访问控制修饰符
1.公开级别,用public修饰,对外公开
2.受保护级别:
用protected修饰,对子类和同义个包中的类公开
3.默认级别:
没有修饰符号,向同义个包得类公开。
4.私有级别:
用private修饰,只有类本身可以访问,不对外公开。
包-三大作用
1.区分相同名字的类
2.当类很多时,可以很好的管理类
3.控制方位范围
打包命令:
packagecom.shunping;
包-命令规范
小写字母 比如 packagecom.shunping
包-常用的包
一个包下,包含很多的类,java中常用的包有:
java.lang.*包 自动引入 java.util.*工具包
.*网络开发包 java.awt.*包 窗口工具包
包-如何引入一个包
第十讲
继承---解决之道
继承可以解决代码复用,让我们的变成可以更加靠近人类思维,当多个类存在相同的属性(变量)和方法时,可以从这些类冲抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过extengs语句来声明继承 父类:
class子类 extends 父类
这样,子类就会自动拥有父类定义的某些属性和方法。
继承―深入讨论
父类的public,protected,默认修饰符的属性和方和被子类继承了,private修饰符的属性和方法不能被子类继承。
子类最多只能继承一个父类。
//说明继承的必要性
publicclassDmeo1{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Pupilp1=newPupil();
p1.printName();
//继承
//将学生的共有属性提出,做一个父类。
//小学生类
classStu//父类
publicintage;
publicStringname;
privatefloatfee;
publicvoidprintName()
System.out.println("
学生是:
+this.name);
classPupilextendsStu
{
//缴费
publicvoidpay(floatfee)
this.fee=fee;
//中学生类
classMiddleStuextendsStu{
this.fee=fee*0.8f;
//大学生类
classColStuextendsStu{
this.fee=fee*0.1f;
方法重载(overload):
例 请编写一个类(Abc),编写方法可以接受两个整数,返回两个数中较大的数,请编程实现。
packagedemo2;
publicclassAbc
publicvoidmain(String[]args)
Abc1a1=newAbc1();
System.out.println(a1.getMax(12,4));
System.out.println(a1.getMax(12.5f,4.5f));
classAbc1{
//返回较大整数
publicintgetMax(inti,intj){
if(i>
j)
{
returni;
}else
returnj;
}
publicfloatgetMax(floata,floatb){
if(a>
b)
returna;
returnb;
简单的说:
方法重载就是类的同一种功能的多种实现方式,到底采用哪种方式,取决于调用者给出得参数。
注意事项:
1.方法名相同
2.方法的参数类型,个数,顺序至少有一项不同
3.方法的返回类型可以不同
4.方法的修饰符可以不同
只是访问修饰符或者返回类型不一样不能构成重载。
方法覆盖(override)
//主函数及调用略。
classAnimal
publicvoidcry()
System.out.print("
不知道怎么叫"
classCatextendsAnimal
//覆盖父类
喵喵叫"
第十一讲
方法覆盖(override)-注意事项
1子类的方法和返回类型,参数,方法名称,要喝父类方法的返回类型,参数,方法名称完全一样,否则编译出错。
2子类方法不能缩小父类方法的访问权限。
第十二讲多态
多态是指一个引用(类型)在不同情况下的多种状态。
也可以这样理解多态是指通过指向父类的指针,来调用在不同子类中实现的方法。
注意事项
java允许父类的引用变量引用他的子类的实例(对象)
Animalanimal=newCat();
这种转换时自动完成的。
第十三讲 抽象类 接口
抽象类- 父类方法不确定性。
用abstract关键字来修饰该方法,
abstractclassAnimal
abstractpublicvoidcry();
//当一个类继承的父类是抽象类的话
//我们需要把抽象类中的所有抽象方法全部实现
//实现父类的cry
}
1.抽象类不能被实例化
2.抽象类不一定要包含abstract方法。
也就是说,抽象类可以没有abstract方法。
3.一旦类包含了abstract方法,则这个类必须声明为abstract
4.抽象方法不能有主体 如 abstract viodaaa(){X};
接口
接口就是给出一些没有内容的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来。
接口用interface定义,语法:
class类名 implements接口{
方法;
变量
}
小结:
接口是更加抽象的抽象类,抽象类的方法可以有方法体,接口里的所有方法都没有方法体。
接口体现了程序设计的多态和高内聚低偶合的设计思想。
原则:
如果一个类实现了一个接口,就要该类把这个接口的方法,统统实现。
1.接口不能被实例化
2.接口中所有方法都不能有主体
3.一个类可以实现多个接口
4.接口中可以有变量[但变量不能用private和protecetd修饰]
a接口中的变量,本质上都是static的,而且是final,不管你是否用static修饰.
b在java开发中,我们经常把经常用的变量,定义在接口中,作为全局变量使用.访问形式:
接口名.变量名
5.一个接口不能继承其他的类,但是可以继承别的接口.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 笔记 88888