java面向对象
面向过程的设计思想 和 面向对象的设计思想
面向过程:必须涉及到过程的方方面面
面向对象:车,go ,传参数。————不用管对象的属性,调用方法。车的对象
简单的理解面向对象,当我碰到问题时,抽象出对象来。
——————————***********(1.当我们遇到问题时 ,应该先看在这个问题里有哪些类那些方法2.考虑每一种对象每一种类应该有哪些类哪些方法3.类和类之间具备了什么样的关系)*********——————————————————
面向对象的基本思想:从现实世界中客观存在的事物出发来构造软件系统,并在系统的构造中尽可能的运用人类的自然思维方式。面向对象更加强调运用人类自日常的思维逻辑中经常采用的思维方法和原则,如抽象,分类,继承,聚合多态等
对象和类的概念
以瓶子为例。对象用语言对问题域中事物的描述,对象通过“属性”和方法来分别对应事物所具有的静态属性和动态属性。
类是用来描述同一类型的对象的抽象的概念,类中定义了这一类对象缩影具有的动态和静态属性(成员变量和方法)
类可以看成是一类对性的模版。对象可以看成是类的具体实例。
类之间的关系
1.关联关系:学院 教授 研究生有一点关系,但是不很紧密
——————*****************映射到代码上,我的方法的参数是另一个类的对象**************——————
2。继承:封装一般的说法:XX是一种XX
3.聚合关系:整体与部分的关系
4.实现关系:对于任何车来说,都有一些方法。作为父类来说我知道有方法来实现一些操作。但是这些方法我不知道,而是由子类来实现。这样的关系叫做实现。
抽象出系统中的类和关系
抽象类:找名词
关系:
机票:时间。价格。班次
机票的方法:作废
注意:封装的时候和我们的整个业务无关不用封装
注释:单行双行和文档
————————*******************标识符****************————————————————
java语言基础组成
2.1关键字 2.2标识符 2.3注释 2.4常量和变量
2.5 运算符 2.6 语句 2.7函数 2.8数组
关键字:被赋予了特殊含义的单词
标识符:在程序中定义的一些名称
由26个英文字母数字0~9,符号:_$组成
定义合法的标示符的规则:1.数字不可以开头。2.不可以使用关键字
java中严格区分大小写
注意:在起名字时,为了提高阅读性,要尽量有意义
注意:包名:多单词组成时所有字母都小写
类名:多单词首字母大写
变量名和函数名:多单词组成时第一个单词首字母小写其他大写
常量名:所有字母大写 多单词时每个单词用下划线连接
main不是关键字,但是他是被虚拟机识别的。
———******************常量—————————————
1.整数常量:四种表现形式(10进制,8进制,16进制,2进制)
2.小数常量
3.布尔型常量
4.字符型常量
5.字符串常量
6.null常量:只有一个数值就是null型常量
对于整数来说,java有三种表现形式
10进制
8进制
18进制
——————————**************进制************——————————
负数的二进制表现形式
6 110
-6 010
————————————————*******变量*******——————————————
———————————**************类型转换***********———————————————
例子:
byte b=3;
b=b+3;
原则是小的向大的提升。类型提升
强制类型转换b=(byte)(b+2);
运算符 int x=4270;
x=x/1000*1000;
转移字符:通过\来改变后面的字母或者符号的含义
\n换行
\b退格
\r按下回车键
\t制表符 相当于tab键
注意:若要输出带双引号的语句,需将 “”转变含义
char 2字节可以装中文 int4
————————————**********位运算符************——————————————————
<<左移 2的倍数
2>>右移 除以2
>>:最高位补什么有原有数据的最高位的值而定。如果最高为0右移补0 非则1
>>>:无论最高位是什么,右移后都用0补
一个数异或同一个数,结果还是同一个数
实现两个数的交换方法:1第三方变量
2 和-
3 异或的原理
case语句是从case开始进行的。
switch语句结束:break 结束 default
case的内容执行语句相同时可以这样写:
case 1:
case 2:
注意:不要忘记break
default
switch 相比较if而言比较高效。
在不同的场景下应用不同的语句。如果判断的数值不多且符合int char byte float if语句
对于两种语句均可以使用的问题,建议使用switch语句,因为switch语句的效率稍高
其他情况:对区间判断,对结果bool判断 用if if的适用范围稍广
do while语句
do
{}while();
while()
{}
实现了如图:
*
* *
* * *
* * * *
* * * * *
class Example0
{
public static void main(String[] args)
{
for(int i=0;i<5;i++)
{
for(int j=i+1;j<5;j++)
{ System.out.print(" ");}
for (int z=0;z<=i ;z++ )
{ System.out.print("* ");}
System.out.println();//换行
}
}
}