Java学习总结 16个亮点

1.八大基本数据类型

byte(字节型8)   int(整型;32;程序中一般默认为int型)   short(短整型 16)  long(长整型 32)   float(浮点型 32)  double(双精度浮点型 64)  char(字符型 16)  boolean(布尔型 只有true和false)

小范围内的整数类型可以通过赋值转化成大范围的数据类型.而大范围的数据类型要想转换为小范围的数据类型,则需要强制转换,使用”(数据类型)”进行强制转换

string不是java中的一种基本数据类型,它是一个特殊的类,它的对象是引用类型.

2.类

类中定义了对象所共有的方法和属性,就像一个模板,可以通过类创建多个对象

类的定义:格式:public class 类名{}

            在类中写方法和属性

            属性的定义:private 数据类型 属性名;

主程序入口(主函数):  public static void main (Sring args [ ]){}

创建类的对象:  类名 对象名= new 类名();

*都要注意大小写,类名要与class文件名相同

3.方法

1.一般方法

方法的定义格式:访问限制符 返回类型 方法名 (参数类型 参数){}

方法的分类:1.有参无参  2.有返回值,无返回值

方法的调用:  对象名.方法名(参数);

*方法调用时,要根据定义方法时是否有参数来调用,若方法有参数,调用时也要加上相应的参数,也可以传入对象

方法的重载:方法名相同,而参数类型和参数的个数不同

2.构造方法

每个类都有一个默认的无参的构造方法

如果自己再定义一个构造方法,程序就会使用重新定义的构造方法,即构造方法的重载

主要用途:初始化对象的属性值

构造方法没有任何返回值类型,且必须与类名相同

访问限制符 方法名(参数类型 参数){}

4.this关键字

在类中用来指代当前对象 this.name =name; 第一个name为属性值,第二个name为传入的参数值

5.值传递与引用传递

值传递传递的是变量中的内容,引用传递传递的是变量的首地址

6.类的继承

public class 子类名extends 父类名{}

使用extends关键字,子类自动具有父类的方法和属性,当子类调用方法时,是在调用父类中的方法,子类也可自己定义方法.

子类中方法的重写:和父类的方法要一致,方法体不一样.

*在java中子类只能继承一个父类

7.多态指的是一种不确定性,只有在运行之后才知道具体的内容

8.接口

子类重写父类飞的方法是必须要定义接口

接口的定义是interface,而不是class

接口默认的限制符是public

接口定义的规则:1.接口中定义的方法不能有任何方法体,只定义方法的返回值类型,方法名,参数,不能用任何的实现.

2.不能直接使用接口创建对象

3.接口中可以定义属性,但这些属性定义后不可以在改变

接口的实现使用的是implements

           public class 类名 implements 接口名{}

           实现类中必须重写接口中的方法名(接口中方法没有方法体,类中要重写)

类和接口的关系和比较:

       *继承的关键字不同,interface和extends

*一个类可以继承多个接口,而一个类只能继承一个父类,一个接口可以继承多个接口

*类通过extends继承类

类通过implements继承接口

 接口通过extends继承接口

9.抽象类

抽像类定义使用abstract关键字。

抽象类的定义:修饰限制符 abstract  class 类名{}

在抽象类中可以定义像接口中没有实现的方法,也可以定义实现了的方法,所以说抽象类是介于类的接口之间的

定义抽象方法的格式:限制修饰符abstract void方法名();

*子类继承抽像类时,使用extends关键字,在子类中,必须实现抽象类中的抽象方法。子类只能同时继承一个抽象类,与接口不同

*抽象类也不能直接创建对象,与接口相同

10.关键字

1.可见性修饰关键字:

public:公有的,公开性最高。抽象类,接口的默认关键字

         放在方法前,表示方法可以被其他包中的类调用      

private:私有的。只能由类内部的方法或构造器来调用,属性一般定义为private的

protected:受保护的。类的默认关键字

2.static关键字:

static方法:使用static限定的方法称为静态方法

它与非静态方法的区别是:非静态方法的调用需要通过创建该类的对象来调用

                        静态方法直接使用类名。静态方法名()调用

static属性:可以在任何方法中直接使用,不创建类的对象

3.super:调用父类方法

4.final:最终的,表示不可改变,放在属性前表示不可更改,放在方法前,当子类继承时,不可以重写此方法

11.数组

一维数组的定义:数据类型 数组名 [ ] = new 数据类型[数组长度];

            数据类型 数组名 [ ] = {值,……};

二维数组的定义:数据类型  数组名 [ ] [ ] = new 数据类型 [数组长度][数组长度];

数组排序的方法:冒泡法,插入排序,选择排序……

12.对列

队列可以像数组一样有序的存放对象,也可以自动增长

  实现队列的思路:在实现类的内部,使用数组保存装入队列的对象,每次添加新的对象时,创建一个比原来数组长度大一的数组

泛型:定义接口时 接口名<E>,相当于一个模板

      在创建队列时,指定队列中存放对象的类型即可

13.集合框架:

Set:无序的

List:相对有序的,以线性方式存储,没有特定的顺序,只有一个开头和结尾

Queue:有序的

14.文件:

通过File对象的方法创建文件或目录,删除文件和获取列表目录下的文件

文件分类:真实文件,目录文件,虚拟文件

递归:是通过自己调用自己进行计算,关键是找好终止运算的条件,否则将陷入死循环

15.异常:

在程序运行的过程中,发生一些情况,导致程序可能出错(中断运行)

常见的异常:空指针异常,文件异常,IO异常

异常处理的一般方法:将异常往外抛

1.       try{}catch(){}finally{}

2.        throws

16.IO流:

流是java中输入输出的抽象

流的分类:按方向分:输入流(InputStream)和输出流(OutputStream)

          按性质分:基础字节流,过滤流,基与具体数据类型的流,基与对象读写

InputStream/OutputStream子类:文件读写

FileInputStream:从文件中读取数据

FileOutputStream:写数据到文件

缓冲流:BufferedInputStream/BufferedOutputStream

        使用流读写数据时,一般是一个字节一个字节的读取

        经历的过程为:输入文件—>操作系统内存—>JVM内存—>代码变量—>操作系统内存—>输出文件

        而缓冲流则是开辟了一块一定大小的区域,使得每次传送缓冲区字节相对较多的字节,大大提高了效率

转载于:https://www.cnblogs.com/cn-java/archive/2012/02/13/2349643.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267324.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP聊天记录内啥,PHP的PSR系列轨范都有啥内容

PHP的PSR系列规范都有啥内容PSR是PHP Standard Recommendation的简写&#xff0c;它其实应该叫PSRs&#xff0c;即系列推荐标准&#xff1a;目前通过的规范有PSR-0(Autoloading Standard)、PSR-1(Basic Coding Standard)、PSR-2(Coding Style Guide)、PSR-3(Logger Interface)、…

选择排序法对数组进行排序

package selectionSort;import java.util.Arrays;public class Exam { //使用选择排序法对数组进行排序public static void main(String[] args) {int[] nums {23,3453,123,54,12,45,145,135,656,146,65};SelectionSort(nums);System.out.println(Arrays.toString(nums));}publ…

唐骏给李开复泼冷水:创业不可复制

东方企业家》十月刊刊登我主持的唐骏专栏&#xff0c;发表评创业热潮的冷思考。 题&#xff1a;创业是不可复制的 李开复从谷歌辞职&#xff0c;投身到创业热潮之中。很多媒体朋友问我&#xff0c;如何评价开复的辞职和创业?对此我一概未作回答。其实我很关注&#xff0c;也引…

爬取校园新闻首页的新闻

1. 用requests库和BeautifulSoup库&#xff0c;爬取校园新闻首页新闻的标题、链接、正文。 import requests from bs4 import BeautifulSoup url requests.get("http://news.gzcc.cn/html/xiaoyuanxinwen/")url.encoding "utf-8" soup BeautifulSoup(…

php服务划分,云计算提供的服务分为哪三个层次

三个层次&#xff1a;1、基础设施即服务(IaaS)&#xff0c;向云计算提供商的个人或组织提供虚拟化计算资源&#xff1b;2、平台即服务(PaaS)&#xff0c;为开发人员提供通过全球互联网构建应用程序和服务的平台&#xff1b;3、软件即服务((SaaS)&#xff0c;通过互联网提供按需…

如何做个人职业规划和年度计划

在做规划的同时&#xff0c;已经结合工作和个人自身情况思考调整个人的职业规划以及2012年自己的学习成长计划。持续了大约2个月的时间&#xff0c;已经整理出了2012年自己的目标和计划。总结一下&#xff0c;制定个人规划大致分为几个步骤&#xff1a; 一、认识自己。主要包括…

centos 7 快速安装nginx

输入指令 vim /etc/yum.repos.d/nginx.repo 输入以下内容 [nginx] namenginx repo baseurlhttp://nginx.org/packages/centos/7/$basearch/ gpgcheck0 enabled1 wq 进行保存 验证是否安装成功 安装 yum install nginx 启动nginx服务 nginx 测试是否启动成功 在linux输入你的IP地…

matlab colorbar采用对数,matlab colorbar的使用 | 學步園

1&#xff1a;請問matlab中畫多張圖如何使用同一範圍的colorbar?例如生成了圖1,2,3生成圖1時&#xff0c;使用temp1caxis;將圖1的z值的取值範圍(即colorbar的取值範圍)取出。生成圖2,3時使用caxis(temp1)命令將圖2,3的z值的取值範圍設為同1相同。然後對各個同使用colorbar命令…

BFS简单搜索--POJ 2243

这题就是简单的BFS搜索&#xff0c;刚刚转到C&#xff0c;还有很多库函数不熟悉&#xff0c;理解到BFS是一种奇妙的迭代法&#xff0c;其用的主要是队列的性质。 1 /*BFS简单搜索*/ 2 #include<iostream> 3 #include<queue> 4 #include<cstring> 5 6 using …

python_cookies

1.将cookies保存到变量中&#xff0c;然后打印cookie中的值 #coding:utf-8 #将cookies保存到变量中&#xff0c;然后打印cookie中的值 import urllib2 import cookielib #声明一个CookieJar对象实例保存cookie cookiecookielib.CookieJar() #利用urllib2库中的HTTPCookieProces…

php拖拽原理,JS拖拽效果及原理解析

这篇文章主要介绍了如何实现js拖拽效果及原理解析,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下元素拖拽分成3个步骤&#xff1a;按下鼠标&#xff0c;移动鼠标&#xff0c;松开鼠标。拖拽原理&#xff1a;按下…

jqGrid细节备注—pager文字的设置,更改默认的提交方式

默认的pager显示的文字&#xff0c;在英文版本下是如下 (file grid.locale-en.js): $.jgrid { defaults : { recordtext: "View {0} - {1} of {2}", emptyrecords: "No records to view", loadtext: "Loading...", pgtext : "Page {0} of …

浅谈拓扑排序

今天来讲讲拓扑排序 度娘告诉我 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序&#xff0c;是将G中所有顶点排成一个线性序列&#xff0c;使得图中任意一对顶点u和v&#xff0c;若边(u,v)∈E(G)&#xff0c;则u在线性序列中出现在v之前。通常&#xff0c;这样…

iOS开发笔记[18/50]:在Mac OS X Lion系统中访问~/Library目录都需要点技巧

Mac虚拟机升级为Lion系统了&#xff0c;在iPhone模拟机调试时经常想访问应用程序的Document目录看看里面发生的状况&#xff0c;但在Lion系统中却找不到~/Library/Application Support/iPhone Simulator文件夹了。原来需要在Finder中这个~/Library文件夹默认是隐藏的&#xff0…

makemid+matlab,《MATLAB基础》双语课

MATLAB双语教学视频第17讲MATLAB双语教学视频第18讲Summarizing DataIn this section...“Overview” on page 5-10“Measures of Location” on page 5-10“Measures of Scale” on page 5-11“Shape of a Distribution” on page 5-11OverviewMany MATLAB functions enable y…

素数对猜想之python3实现

题目 让我们定义d​n​​为&#xff1a;d​n​​p​n1​​−p​n​​&#xff0c;其中p​i​​是第i个素数。显然有d​1​​1&#xff0c;且对于n>1有d​n​​是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。 现给定任意正整数N(<)&#xff0c;请计算不超…

java 获取六个月账期,应收帐龄分析里面账期分析能不能改为0-30天?

怎样安装摄像头的驱动程序怎样安装摄像头的驱动程序注意&#xff1a;请不要在未安装摄像头的驱动程序前将PC摄像头插入计算机USB接口中&#xff1b;如果在没有安装驱动程序的情况下提前插上摄像头&#xff0c;当WINDOWS提示安装驱动程序时&#xff0c;请点击取消键并将其拨出&a…

ribbon源码(1) 概述

ribbon的核心功能是提供客户端在进行网络请求时负载均衡的能力。主要有以下几个模块&#xff1a; 负载均衡器模块 负载均衡器模块提供了负载均衡能力&#xff0c;详细参见ribbon源码之负载均衡器。 配置模块 配置模块管理ribbon的配置信息&#xff0c;ribbon各个模块都通过配置…

Linux软件安装解决方案

Linux软件安装解决方案 在linux中安装软件是一件并不算轻松的工作&#xff0c;有很多中解决方案供你选择&#xff0c;但需要的是你的一点点耐心与智慧&#xff01;下面我将就Linux中最常见的安装方式&#xff0c;由浅入深的逐一做简单介绍与说明&#xff0c;希望可以给您带来帮…

php获取页面的可视内容高度,网页制作技巧:获取页面可视区域的高度_css

文章简介&#xff1a;获取页面可视区域高度&#xff0c;获取页面高度&#xff0c;获取滚动条滚动上去的页面高度.function getWH(){ var wh {}; "Height Width".replace(/[^/s]/g,function(a){ var b a.toLowerCase(); wh[b]window["inner".concat(a)] d…