计算机基础——Java笔记一
- 数据类型
- 变量
.png)
- 运算符
关系运算符
位运算符
逻辑运算符
赋值运算符
- 控制语句
- while/for循环
- 方法
- 递归结构/递归方法
- api文档
.png)
- scanner输入,可以使用键盘输入
- 面向对象(object-oriented)
类,对象,面向对象的三大特征
.png)
通过类来组织代码,用对象封装数据C 面向过程,一个一个方法为组织组织起来的C++ 一个一个类为组织组织起来的,里面有变量有方法。相近的数据相近的行为放在一起。 组织在一起。(复杂的比较有优势)有了面向对象仍然需要面向过程的面向对象的思维去把握整体,面向过程的思维去把握细节.png)
面向对象编程(OOP)的本质:以类的方式组织代码,以对象的方式(封装)数据。(先写类再引出对象)面向对象思维:OOA,OOD(先有对象再有类)对象:具体的事物 abstract类:对对象的抽象(抽象:抽出象的部分)先有具体的对象,然后抽象出对象中相像的部分归纳出类,通过类再认识其他对象。编程是先有类,再写对象对象:object/instance(实例)都是对象对象是以类为模板建立起来的。类就是模板学Java:学别人写好的类,写自己的类- 类的属性(类的成员变量)(静态的数据)
属性若未初始化则使用默认值:数值0, 0.0, \u0000, null, false.局部变量则系统不会初始化。- 类的方法(动态的行为)
Java中方法参数传递都是 值传递!(方法传参传的都是值/指向的地址)Java语言中除了基本类型之外的其他变量类型都是引用类型。Java中对象是通过引用reference对其操作的。(引用了某个对象的地址)内存中的调用栈:存放局部变量堆:存放new出来的对象方法区:也是堆 存放类的信息(代码),static变量,常量池(字符串常量)等。
垃圾回收机制(Garbage Collection)
自动回收,System.gc()通知清理内存。- 构造器/构造方法 constructor
归属于方法,通常都还在创建的类中写着,只是这个方法是用来创建对象的而已。用于构造该类的实例(实例即对象)[修饰符] 类名 (形参列表){//n条语句}方法通过new或者对象来调用(因为方法要通过对象来调用,但是这里的构造方法要调用的时候还没有对象,所以就用new来调用这个构造方法。)构造器名称必须和类名一致不需要返回值无需写return经常用来构造该类的对象,或者用来初始化对象的属性- 重载(overload)
方法的重载:同一个类中,一个方法名可以有多种不同的方法。(形参的类型,个数,以及顺序不同都可以构成重载)。但是返回值类型以及形参的名称不同就无法构成重载。调用时会自动选择匹配对应的方法。重载的本质就是只要对同名的方法不构成歧义,则可以重载。因为构造器也是方法,所以重载对构造器也适用。构造器也可以重载。定义类的时候没有(),在定义跟类同名的方法的时候一定有()。- static变量
在类中,用static声明的成员变量为静态变量,或者叫类属性,类变量。在内存中是置于堆的方法区中,static的方法和static的变量都在堆中。为静态方法。调用时可直接“类名.类属性”不需要对象就可调用。普通变量都是从属于对象的,但是static是从属于类的。静态方法中不能引用非静态的变量(因为静态方法从属于类,而普通变量和类从属于对象)不加类名就是本类的方法/变量,加类名是调用其他类的方法/变量。普通方法中可以调用静态的属性和方法。在静态中不能调用非静态的属性和方法(因为静态中调用不到非静态的属性和方法)。对象可以用类的也可以用对象的。类只能用类的不能用对象的。- this(指代当前对象)
每个普通方法(非类方法)都会自动传的隐式参数普通方法中,this总是指向调用该方法的对象。构造方法中,this总是指向正要初始化的对象。this不能用于static方法(因为this这个默认参数在static方法中没有对象,也不传this,也传不过去)。
计算机基础——Java笔记一的更多相关文章
- 计算机基础--Java中int char byte的关系
计算机基础--Java中int char byte的关系 重要:一个汉字占用2byte,Java中用char(0-65535 Unicode16)型字符来存字(直接打印输出的话是字而非数字),当然要用 ...
- Java基础复习笔记系列 九 网络编程
Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...
- Java基础复习笔记基本排序算法
Java基础复习笔记基本排序算法 1. 排序 排序是一个历来都是很多算法家热衷的领域,到现在还有很多数学家兼计算机专家还在研究.而排序是计算机程序开发中常用的一种操作.为何需要排序呢.我们在所有的系统 ...
- 尚学堂JAVA基础学习笔记
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...
- Java基础复习笔记系列 八 多线程编程
Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...
- Java基础复习笔记系列 七 IO操作
Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...
- Java基础复习笔记系列 五 常用类
Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...
- Java基础复习笔记系列 四 数组
Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时 ...
- Java学习之计算机基础(一)
阅读本文大概需要 4 分钟 想要开始学习Java开发,需要掌握一些必要的计算机基础.如果你是计算机专业的人或者已经学过类似的课程,可以跳过这篇文章的阅读.计算机基础课程有很多,小编在大学里学过的课程就 ...
随机推荐
- 剑指offer-链表相关
剑指offer面试常考手撸算法题-链表篇 1. 从头到尾打印链表 class Solution { public: // 可以先压栈,再出栈到vector // 时间/空间:O(n) vector&l ...
- js几种数组排序及sort的实现
给出以下数组,并进行排序处理 var arr = new Array('1','3','8','2','3','5'); 1. 插入法排序 Array.prototype.csSort = funct ...
- centos6.x下让redis以服务方式运行
1.从官网下载redis-2.8.9.tar.gz之后,将redis解压在/usr/local下,目录是redis-2.8.9,然后按照官网给出的办法安装redis即可. 2.安装完在redis-2. ...
- ansible自动化部署之场景应用
ansible自动化配置管理 官方网站: https://docs.ansible.com 一.安装 配置 启动 (ansible由红帽收购) (1)什么是ansible ansible是IT自动化配 ...
- 【转载】linux如何将新硬盘挂载到home目录下
举例说明: 新增磁盘的设备文件名为 /dev/vdb 大小为100GB. #fdisk -l 查看新增的的磁盘 1.对新增磁盘进行分区 #fdisk /dev/vdb 按提示操作 p打印 n新增 d ...
- Python之路【第十篇】Python操作Memcache、Redis、RabbitMQ、SQLAlchemy
Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
- LearnOpenGL学习笔记(二)纹理
开始学习OpenGL,参考的是著名的LearnOpenGL这个网站,在这里做一些总结性的记录,只是方便自己日后查找或者记录自己的一些拓展思考,关于OpenGL的具体内容请移步: https://lea ...
- oj.zstu 4421交税(合数分解成素数)
题目 题意:T组,每一组输入一个数X, 求X最少能分成几个素数的和,输出. 思路: 对于一个大于2的偶数,由哥德巴赫猜想,一定能分成2个素数. 对于一个奇数来说,一定能分成2个或者3个素数之和.如果 ...
- springboot的入门
SpringBoot SpringBoot是SpringMVC的升级版,简化配置,很可能成为下一代的框架 1.新建项目 怎么创建springBoot项目呢? 创建步骤复杂一点点 New Project ...
- Nginx入门(四)——反向代理
server { listen 8020; server_name localhost; location / { root html; index index.html index.htm; pro ...