前情提要

知识点可能比较杂乱,觉得有用就蛮看吧。。

第一章:

API,JDK,JRE,JVM,IDE这些英文缩写的含义

APIJava应用程序接口,包含了为开发JAVA程序而预定义的类和接口。

JDK用于开发和运行Java程序的软件

JREJava开发工具包,运行Java程序的程序

JVMJava虚拟机

IDE快速开发程序的集成开发环境

如何编写,编译,运行一个JAVA程序?

Java源程序保存为.java文件,编译为.class文件。.class文件由Java虚拟机(JVM)执行。

在执行程序之前,必须创建程序并进行编译。

Java编译器将Java源文件翻译成Java字节码文件。

如果没有错误,编译器将生成一个扩展名为.class的字节码文件,然后Java字节码被JVM解释执行。

执行Java程序就是运行程序的字节码,可以在任何一个装有JVM的平台上运行字节码,JVM就是解释器。

JavacJava编译器,将Java源代码换成字节代;

JavaJava解释器,直接从类文件执行Java应用程序代码;

Cmd用法

第二章:

如何声明变量,常量?

声明变量:datatype variableName

如:int count;

double radious;

声明常量:final datatype CONSTANTNAME=value;

如:final double PI =3.14159;

int,float,double类型的用法,每个类型的占用多少字节?

类型

字符数

byte

1字节

char

2字节

short

2字节

int

4字节

float

4字节

long

8字节

double

8字节

boolean

至少1字节

在控制台输入:Scanner input =new Scanner(System.in);

BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));

在控制台输出:System.out.println(“  “+”  “+  );

如何进行类型转换?

进行类型转换:自动转换和强制转换p23

第三章

boolean数据类型声明一个具有值true或者false的变量。

Boolean lightson=true;

boolean类型数据的用法

boolean数据类型声明一个具有值true或false的变量

关系操作符:>,<,>=,<=,!=,==

将true赋值给一个变量x:boolean x=true;

不能将int类型转换为boolean类型,也不能将boolean转为int/d/f/s/long

ASCII码 0-9 48-57           A-Z  65-90              a-z  97 -122

char类型数据的用法:char ch=‘a’

  1. 自增和自减 System.out.println(++ch)得到‘b’
  2. Char类型数据可以强制转换成任一一种数据:

Float->char    float->int->char

  1. Int i=(int)’A’      System.out.println(i)得到65

System.out.println("1"+1);    11

System.out.println("1"+1+1);  111

System.out.println(‘1’+1);     50

System.out.println('1'+1+1);    51

System.out.println(‘1’);        1

P127 指定宽度和精度的表格

会使用if语句进行分支判断,比如闰年判断,程序在书本P85.

第四章:

字符数据类型用于表示单个字符。

char类型的编码是Unicode和ASCII码,一个16位Unicode占两个字节,Unicode码包括ASCII码。

(Math.random() 使用)Java随机抽数(48人),随机抽出j个_王陈锋的博客-CSDN博客_随机抽人

产生指定范围的随机数,使用Math.random()获得0.0到1.0之间的随机数。

1+Math.random()*9 表示[1~10)

第五章

求最大公约数 书本P157

Java用辗转相除法求两个整数的最大公约数_王陈锋的博客-CSDN博客

斐波那契数列 19期中考

Java计算Fibonacci(斐波那契)序列的前n项_王陈锋的博客-CSDN博客_java求斐波那契数列前n项

回文数 书本P163

输入一串字符,判断回文字符串(2种算法)_王陈锋的博客-CSDN博客

(回文素数)编写程序,显示前100个回文素数。每行显示10个数,数字中间用一个空格隔开_王陈锋的博客-CSDN博客

素数  书本P165

Java求100以内的素数,并输出_王陈锋的博客-CSDN博客_求100以内所有素数之和并输出java

按值传参:按值传递值类型,引用类型的区别,比如在方法中修改int类型形参会影响实参吗?在方法中修改数组类型形参会影响实参吗?

Java中传递对象参数_王陈锋的博客-CSDN博客

Java中只有一种参数传递方法:值传递。

传递对象参数,这个值就是一个对对象的引用值。

传递基本类型值和传递引用值得差异

当传递基本数据类型的参数时,传递的是实参的值。在方法中,内容被改变,并不会影响变量的内容。

传递引用类型的参数时,传递的是对象的引用。

基本类型,按值传递

     * 举例:给朋友分享你的照片,对方接收的是你的照片的一个实际的副本,

     * 你和朋友分别对各自的照片进行操作,不会影响彼此的照片!

* 引用类型:按址传递

     * 举例:给朋友分享你的照片,分享的是你上传网上的一个照片的Url(地址),

     * 你和朋友都可以通过这个地址访问照片,并对照片进行一个操作!

* 引用类型:按址传递

     * 因为数组是一个引用类型。所以传递进去的是它们的引用,故在方法中互换了它们的值,也必然影响到它们原来的值.

     

声明数组,初始化数组

声明:int[]array; int array[];

创建:array=new int[10];

声明+创建:int[] array=new int[10];

初始化:  1.  int[] array= {1,2,3,4,5};     2.   array[0]=1,array[1]=2

int array[];   array={1,2,3,4,5};这种写法是错误的

第七章

声明数组变量的语法

elementType[] arrayRefVar ;    elementType arrayRefVar[];

例:double[] myList        double myList[]

数组初始化:

elementType[] arrayRefvar = {value0,value1,…,valuek};

例如:double[] mylist ={1.9,2.9,3.4,3.5};

可变长参数列表

可以把类型相同但数目可变的参数传递给方法。方法中的参数声明如下:

typeName . . . parameterName(类型名 . . .参数名)

在方法声明中,制定类型后紧跟着省略号( . . .)。只能给方法中指定一个可变长参数,同时该参数必须是最后一个参数。任何常规参数必须在它之前。

Java将可变长参数当成数组对待。

数组翻倍

编写程序实现Queue类,使之初始数组的大小为8。一旦元素个数超过了大小,数组大小将会翻倍。如果一个元素从数组的开始部分移除,你需要将数组中的所有元素往左边改变一个位置。

队列(Queue)是一种以“先进先出”的方式存放数据的数据结构。设计一个名为Queue的类用于存储整数_王陈锋的博客-CSDN博客_设计一个名为queue的队列类用于存储整数

第九章

关键字this引用对象自身,它也可以在构造方法内部用于调用同一个类的其他构造方法。关键字this是一个对象可以用来引用自身的引用名。

静态变量被类中的所有对象所共享。静态方法不能访问类中的实例成员(即实例数据域和方法)。、静态变量将变量值存储在一个公共的内存地址。要声明一个静态变量或定义一个静态方法,就要在这个变量或方法的声明中加上修饰符static.

类用来定义对象的数据域以及方法,使用通用类来定义同一类型的对象。

uml

抽象类,抽象方法,继承调用实现_王陈锋的博客-CSDN博客

UML

1、- 是private 的意思,对应私有成员(变量、方法)

2、+ 是public 的意思,公开给外部访问的成员(变量、方法)

3、# 是protected的意思,只能在本类或子类访问成员(变量、方法)

4、UML 规定的属性(Attribute)表达式

5、下划线是共享的static类型

第十一章

关键字super代指父类,可以用于调用父类中的普通方法和构造方法。

调用父类构造方法的语法是:

super()或者super(arguments);

构造函数(方法)没有返回类型,甚至没有void

函数(方法)有返回类型或者void

P287   复习题 9.5.6

构造方法必须和所在类的名字相同(参数不同)

构造方法是用new调用的,用来初始化对象

引用类型的数据域默认类型是null

数值类型的数据与默认值是0

Boolean类型数据域默认值是false

静态变量、常量、方法

P294   P295复习题

实例方法可以调用实例方法、静态方法、访问实例数据域、静态数据域

静态方法只能调用静态方法,访问静态数据域

也就是说,在一个类中非静态变量、方法(没有用static修饰的)不能被静态方法调用

例如:一个类F,f为F的一个实例对象,

Class F{

Int i;

Static int s;

Public m1(){};

Public static m2(){};

Public static void main(Stirng[] args){

Int k=f.i   √          f.s  f.m1()    f.m2()   都√

K=F.i ×     k=F.s √   F.m1 ×    F.m2 √

}

}

this

this指向的是类中的成员变量

P310 9.14.2    9.14.3

私有private 只能修饰类的成员,public可以修饰类或者类的成员

但是在局部变量上用private或者public都会导致编译错误

P298程序清单9-8  Circle类

Java子类不能重写(覆盖)父类的静态方法

面向对象 2大题单个类 和 继承类

包装类 integer Double

基本类型 int  double

Double d=new Double();   ×   ----------Double d=new Double(1);√

Integer i=Integer.valueOf(23);//i赋值为23

Integer j=Integer.parseInt("23",8);将23转为8进制

如何创建interger 对象:

Integer i=new Integer(23);

Integer i=new Integer(“23”);

调用构造函数 利用Integer的valueOf()方法

如何获取Integer类型对象的数值:i.intValue()

java常见的标识符:public static protect default final abstract  interface volatile

关键字:goto const import package byte char boolean short long double int void null

true false  if  else   while for switch  case default  do break continue return

instanceof

重载:函数名相同参数不同

重写:函数名参数相同,必须发生在子类和父类中

P203 6.3    6.4

P328 程序清单10-8栈

P360 super关键字的使用方法

P363方法重写        P364 方法重载                P366 多态

P370关键字instanceof    P373  11.9.3

P383表11-2

P441  接口

学习通作业

封装,继承,多态,抽象的含义,三者区别

抽象类与接口的区别

重写与重载区别

重写在继承下使用,要重写一个方法,需要在子类中使用和父类一样的签名来对该方法进行定义。

重载意味着使用同样的名字但是不同的签名来定义多个方法。

重写意味着在子类中提供一个对方法的新的实现。

方法重写发生在具有继承关系的不同类中;

方法重载可以发生在同一个类中,也可以发生在具有继承关系的不同类中。

方法重写具有同样的签名;

方法重载具有同样的名字但是不同的参数列表。

instanceof 运算符 用于:判断 该运算符前面引用类型变量指向的对象是否是后面类,或者其子类、接口实现类创建的对象。如果是则返回true,否则返回false,

几何图形(Geometric)类,圆(Circle)类,矩形(Rectangle)类这个案例的代码。

抽象类(abstract class)和接口(interface)有什么异同?

抽象类,抽象方法,继承调用实现_王陈锋的博客-CSDN博客

接口的实现,Usb接口_王陈锋的博客-CSDN博客

相同点:

1.抽象类和接口都不能被实例化,但可以定义抽象类和接口类型的引用。

2.一个类如果继承了抽象类和接口,必须要对其中的抽象方法全部实现。(接口中方法默认的是public abstract修饰的)否则该类仍然需要被声明为抽象类。

不同点:

1、抽象类可以有构造方法,抽象方法和具体方法。

   接口不能有构造方法,而且其中的方法全部都是抽象方法。(接口中方法默认的是public abstract修饰的)

2、抽象类中的成员可以使private、默认、protected、public的。

  接口中的成员全部都是public的。

3、抽象类可以定义成员变量。

  接口中定义的成员变量其实都是常量。(接口中的成员变量默认是public static final 修饰的 

2.字符串类型如何与字节数组、字符数组的互相转换?

答:

使用字符串类型的getBytes()方法可到的字节数组、用toCharry()方法可得到字符数组。

使用字符串类型的构造方法即可将字节数组、字符数组转换成字符串类型。

3.字符串类型如何与基本数据类型互相转换?

答:

字符串类型转换为基本数据类型:调用基本数据类型对应的封装类的parseXxx()方法

基本数据类型转化为字符串类型:调用String类的valueOf()方法

4.什么是基本数据类型的封装类?自动装箱、自动坼箱的概念及举例说明。

答:就是按照面向对象的做法,将基本数据类型封装成对象。

如int的封装类是Integer

自动装箱:将基本数据类型的变量赋给对应的包装类变量

自动拆箱:将包装类对象类型直接赋给一个对应的基本数据类型变量

如 Integer num = 12;

int count = num + 1; 这里的count=13

1.什么是抽象类?什么是接口?试说明它们的区别和联系,使用接口有什么好处?

答:

由abstract修饰的类叫做抽象类。

接口相当于抽象类,但实质上是类类型。

接口中定义的方法都是抽象方法,定义的属性都是常量

在方法前默认加public abstract

在属性前默认加public static final

好处:接口和类不同,不具有单继承性,可以继承多个接口

2.一个类允许实现多个接口吗?允许继承多个类吗?

答:

允许实现多个接口,不允许继承多个类

4.什么是方法的重载?什么是方法的重写?可举例说明。

答:

在一个程序中定义多个名称相同,但参数的类型或个数不同的方法这就是方法的重载。

在继承关系中,子类会自动继承父类中公共的方法,但有时在子类中需要对继承的方法进行一些修改,对父类的方法进行重写,要求有相同的方法名、参数列表、返回值类型。

5.试说明“==”与equals(Object类)方法之间的关系? 子类重写equals方法在编程中有何意义?可举例说明。

答:

==比较的是地址

equals比较的是两个对象的内容

重写equals()是为了实现自己的区分逻辑。

例如:“abc”.equals(“abc”)返回true是我们要的结果,符合我们区分逻辑。而不是像Object的equals方法那样“this == obj”引用相等才相同。所以String需要重写Object的equals方法。

6.JAVA中对于字符串数据进行处理有哪些类?各有什么特点?它们有什么联系?可举例说明。

有三种类:

String、StirngBuffer、StringBuilder

String:String类的方法都是返回new String。即对String对象的任何改变都不影响到原对象,对字符串的修改操作都会生成新的对象。

StringBuffer:可变字符序列、线程安全

StringBuilder:可变字符序列、线程不安全

*简述什么是方法重写

在继承关系中,子类的方法与父类的某一方法具有相同的方法名、返回类型和参数列表,则称子类的该方法重写(覆盖)父类的方法。

*简述抽象类和接口的区别

在Java中,使用abstract关键字修饰的类称之为抽象类。

抽象类是不能被实例化的,通常需要写一个子类来继承抽象类,同时实例化子类来获得该类的对象。

抽象类通常用于表示一种抽象的概念。

接口可以说是一种特殊的抽象类,接口中只能定义常量、抽象方法、静态方法和默认方法。

由于接口的特殊性,在定义时需要使用interface关键字。

*如何创建Integer类型对象

(调用构造函数可以利用Integer的valueOf方法)

*如何获取Integer类型对象的数值

intValue()  int   以 int 类型返回该 Integer 的值

*怎么将一个字符串 转化int

Integer.parstInt

*Integer 类的构造方法

Integer 类中的构造方法有以下两个:

Integer(int value):构造一个新分配的 Integer 对象,它表示指定的 int 值。

Integer(String s):构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。

Java复习知识点(概念与代码)相关推荐

  1. Java虚拟机知识点快速复习手册(上)

    前言 本文快速回顾了常考的的知识点,用作面试复习,事半功倍. 上篇主要内容为:虚拟机数据区域,垃圾回收 下篇主要内容为:类加载机制 面试知识点复习手册 全复习手册文章导航 Csdn全复习手册文章导航: ...

  2. Java并发知识点快速复习手册(上)

    前言 本文快速回顾了常考的的知识点,用作面试复习,事半功倍. 面试知识点复习手册 已发布知识点复习手册 Java基础知识点面试手册 快速梳理23种常用的设计模式 Redis基础知识点面试手册 Java ...

  3. 虚拟机的分类_「面试必备」Java虚拟机知识点复习手册(下)

    关注我的微信公众号:后端技术漫谈 不定期推送关于后端开发.爬虫.算法题.数据结构方面的原创技术文章,以及生活中的逸闻趣事. 我目前是一名后端开发工程师.主要关注后端开发,数据安全,网络爬虫,物联网,边 ...

  4. Java并发知识点快速复习手册(下)

    前言 本文快速回顾了常考的的知识点,用作面试复习,事半功倍. 面试知识点复习手册 已发布知识点复习手册 Java基础知识点面试手册 快速梳理23种常用的设计模式 Redis基础知识点面试手册 Java ...

  5. Java复习面试知识点

    Java复习面试知识点 前言: 简要的记录一下学习到的东西,仅供自己查阅和复习方便.希望该文章能对你有帮助,文章学习自博客和b站UP主的教程 集合: 集合简介: Java标准库自带的java.util ...

  6. 计算机二级 java和web_2020年全国计算机二级WEB程序复习知识点:JavaBean

    [摘要] 即将参加全国计算机等级考试的考生们,考试即将到来,大家的备考工作进行得如何了?考必过为大家精心整理了2020年全国计算机二级WEB程序复习知识点:JavaBean,希望能够助力全国计算机等级 ...

  7. Java 面试知识点解析(七)——Web篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  8. Java 面试知识点解析(六)——数据库篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  9. Java 面试知识点解析(三)——JVM篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

最新文章

  1. 不是现在新型的计算机技术,浅谈计算机技术的发展趋势
  2. everytime you write on a whiteboard
  3. insert自动跳过存在数据_轻松入门mongo 数据库
  4. ASP.NET入门教程:服务器控件
  5. MDFR :基于人脸图像复原和人脸转正联合模型的人脸识别方法
  6. 排序——奖学金(洛谷 P1093)
  7. 2021-2025年中国氮化碳行业市场供需与战略研究报告
  8. 仿path首页滑动效果
  9. 机床电气课程设计(自己总结)
  10. 用Java简单实现验证码功能以及校验
  11. php程序员开发工具箱,PHP程序员工具箱免费版
  12. 桌面计算机系统乏,桌面管理软件那点事
  13. 微信小程序订单展示(3)
  14. 前后端分离时ajax发送请求时后端能接送,但是前端的response为空时
  15. 1155网址大全:打造简单实用的网址导航
  16. 搭建红外遥控arm-hadoop集群过程
  17. python3 scrapy抓取今日头条视频(西瓜视频)
  18. MAC 删除自带 ABC 输入法的方法
  19. uniapp 实现人脸认证
  20. C语言学习经典书籍推荐

热门文章

  1. 【git tag使用】
  2. 睡袋检测标准要求介绍
  3. html5 电子白板 直播,HTML5 canvas 做画板画图 可以做电子白板
  4. 基于WTK6900H语音识别芯片在智能语音识别晾衣架的应用设计方案介绍
  5. Mysql 断电数据损毁恢复
  6. Windows电脑基础
  7. javafx2舞台和场景_Oracle推动JavaFX 2,Stephen Chin和Jim Weaver入伍
  8. Medium上的文章
  9. AI行业精选日报_人工智能(1016)
  10. 单目标测向系统中CRLB推导及Matlab仿真验证