面向对象程序设计[java-->基础篇]

一、数据类型

1.1 基本数据类型

1字节 = 8bit 1字符 = 2字节 = 16bit

  • 数值型 byte(1字节),short(2),int(4),long(8),

    byte范围:-128 ~ 127 long型变量需要用L结尾, 没加L就会默认为int型

  • float(4),double(8) 声明float型常量,必须加上“F”或“f”

  • 字符型 char(1字符)

  • 布尔型 Boolean true或false

    注意:整型默认的是int,浮点数默认的是double

1.1.1自动类型转化(容量小的转化为容量大的)

byte、char、short- - > int- - >long- - >float- ->double

1.1.2 强制类型转化

在想转化的类型面前加上想转的类型

例如:

double d = 12.3;
int dd = (int)d;
System.out.println(dd); //12 精度损失不会四舍五入

1.2 引用 数据类型(面向对象)
  • 类 class <— 字符串是一个隐类

  • 接口 interface

  • 数组 []

二、数组

2.1 一维数组

  1. 一维数组的定义和初始化

  2. 默认值

  3. 数组长度

  4. 遍历数组

  5. 内存解析

2.1.1 定义和初始化
// 定义数组 
// 1. 类型 变量名 = new 类型[ ];
// 动态定义 
int arr = new int[2];
// 初始化(动态)
arr[0] = {1};
// 静态定义
int arr = new int[]{1,2};
// 2. 类名[] 变量名 = new 类名[];
String[] str = new String[]; //数组对象
2.1.2 默认值
  1. 整型 int byte short long 默认值 0

  2. 浮点型 float double 默认值 0.0

  3. 字符型 char 默认值 0 要注意的是,这里不是'0'

  4. 布尔型 Boolean 默认值 false

  5. 字符串型 String 默认值 null

2.1.3 数组长度

数组是引用数组类型 有其特殊的属性 计算数组的长度:length

int arr = new int[5];
arr.length // 调用即可 
// 那么数组的最后一个元素就是 arr[arr.length - 1]
2.1.4 遍历数组

用循环

int arr = new int[]{4,5,6};
for (int i = 0; i < arr.length; i++) {
   System.out.println(arr[i]);
} // 4 5 6

三、面向对象(基础)

3.1 类和属性

类: 抽象的、概念上的内容

对象:实实在在存在的一个个体

对象是由类派生出来的

3.1.1 创建 调用
/*
* 1. 使用class关键字来定义类 
* 2. name, age, isMale...是类Person的属性
*/
class Person {
   String name;
   int age = 1;
   boolean isMale;
} 
​
Person person = new Person(); // 实例化对象
person.name = "Tom";
System.out.println(person.name); // Tom
System.out.println(person.isMale); // false (默认值)
3.1.2 属性(成员变量) vs 局部变量
  1. 相同点:

    1.1 定义变量的格式:数据类型 变量名 = 变量值

    1.2 先声明,后定义

    1.3 变量都有其对应的作用域

  2. 不同点:

    2.1 在类中声明的位置不同

    • 属性:直接定义在类{ }内

    • 局部变量:声明在方法内方法形参、代码块内、构造器形参、构造器内部 的变量

    2.2 关于权限修饰符的不同

    • 属性:可以在声明属性时,指明其权限,使用权限修饰符。

      常用的权限修饰符:private、public、缺省、protected——> 封装性

      (缺省——>不在数据类型前面放置其他的权限修饰符)

      < public 的权限比较高 >

    • 局部变量:不可以使用权限修饰符

      在方法中,可以理解为方法前面的权限修饰符就是变量的修饰符

    class Taxt {
       public String name;
       private double score;
       int number; //属性
    } 
    ​
    public void write() {
       double score; //局部变量
       //private double score; (Error!)
       //局部变量前面不可以加上权限修饰符
       System.out.println(this.name + "进行了一场考试,考了: " + score);
    }

    2.3 默认初始化值的情况:

    • 属性:类的属性,根据其他类型,都有默认初始化值。

      整型(byte、short、int、long):0

      浮点型(float、double):0.0

      字符型(char):0(或'\u000')

      布尔型(boolean):false

      引用数据类型(类、数组、接口):null

    • 局部变量:没有默认初始化值

      意味着,我们在调用局部变量之前,一定要显式赋值

    2.4 在内存中加载的位置:

    • 属性:加载到堆空间中(非static)

  • 局部变量:加载到栈空间中

3.2 方法method

  • 重载

  • 可变个数形参的方法(jdk5.0)

  • 方法值的传递机制

  • 递归

3.2.1 重载 overload

定义: 在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表。满足这样特征的多个方法,彼此之间构成方法重载。

总结为:”两同一不同“

  • 两同: 同一个,相同的方法名

  • <
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程内容: 1、 什么是软件工程?要学些什么东西?培养一些什么能力? a) 机械工程、土木工程、生物工程。。。。。。工程的本质:人类的一种复杂生产活动。 2、 培养一些什么能力? a) 设计与实现 : 对照程序(C语言):算法(也是一种设计)与实现(代码) b) 过程与管理:过程:是一种模式,代表二种意思:规范(长期总结的经验),质量控制 3、 课程的地位 一课程介绍: 1:专业基础课 2:与其说是学会一种新的编程语言,还不如说学会一种新的分析问题的方法:面向对象的思考方法。 3:面向过程的的语言的特点分析:至上而下,层层细化的求解过程。 其表现形式:以函数作为基本运行单位,以函数参数作为驱动。 面向对象程序设计思想:以对象作为基本单位,以消息为驱动,事件模型为处理机制。 4:以后发展:基于组件(构件模型)、以中间件作为程序的构加基础等等,实现软件标准化 5:面向对象语言:C++、VB、Delphi及JAVA等 二:课程学习的特点 1:观念的转变(从面向过程---面向对象),要忘记“C语言”,又要记住“C语言”。 2:强调实践(程序设计语言相同的特点) 3:充分利用网络资源(现代人的学习方法) 三:作业与考试 1:平时作业,上机完成。多做加分。 四:主要掌握内容 1:JAVA语言的语法,主要与C语言的差别 2:面向对象的基本思想及利用JDK1.41API/JPADPRO4.5/JBUILDER6.0编程的基本方法 3:;类的定义,对象的生成,封装、继承及多态性 4:JAVA程序的健壮性(try…); 5:JAVA的包、目录及路径; 6:java的applet; 7:JAVA的类库(java.lang.*; java.utli.*) 8: JAVA深入(JDBC数据库编程,java.serverlet.* java.http.*等基于网络的编程JSP) 五:主要参考书: 1:深入浅出java语言程序设计 中国青年出版 2:JAVA程序设计教程( java How to Program Third Edition) 3: JAVA2参考大全(清华大学出版)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值