1. 特殊字符

a) \n   换行符

b)  \t   制表符

<------------------------------------------------------------------------------------------------->

2. 8个基本数据类型

byte   字节型   1

short   短整型    2

int  整型   4

long  长整型    8

char  字符型   2

boolean    布尔型   1

float   浮点型   4

double  双精度浮点型  8

自动转换  long  a = 100;      100(int)  ----  long

强制转换   int i = 10;

byte b = (byte)i;

强制转换可能会丢失数据。

引用类型(String  数组  。。。对象)

<------------------------------------------------------------------------------------------------->

3. 三目运算

int a = 5>4?10:100;//a=10

表达式?值1:值2

表达式为true  取值1否则取值2

<------------------------------------------------------------------------------------------------->

4. If

if {} 可以省略,如果省略 ,if下的第一句是属于if
建议不省略

if(条件){

//代码块

}

条件结果必须是boolean结果

结果为true,则执行代码块

注意:js中if的条件  非数字0即真

<------------------------------------------------------------------------------------------------->

5. Switch

Switch表达式的类型? char int short bety

break在switch的用法 case 后面;

default 的位置?是否可以省略 任何位置可以都可以,可以

case 是否可以相同 不能

switch和if的使用场合(区别)

break:

用在switch:跳出switch,防止穿透

用在循环:跳出当前循环

continue:结束本次循环,进入下一次循环

return语句:
return语句执行后,该方法后面的代码都不会再执行。

<------------------------------------------------------------------------------------------------->

6. while 与 do while

while:先判断条件再执行。

od-while:先执行一次在判断。

声明一下没有while-do这个语法!!!

<------------------------------------------------------------------------------------------------->

7. 代码调试

l 打断点  :断点位置是即将要执行的代码。

n F6  :单步执行

<------------------------------------------------------------------------------------------------->

8. 内存

分堆和栈

 

<------------------------------------------------------------------------------------------------->

9. 类和对象

一. 类即分类,抽象的,一种定义

二. 对象是客观存在的,占据空间的

类是一群具有相同特征(属性)和行为(方法)的抽象定义

对象是类的具体化(实例化new xxx)

 

<------------------------------------------------------------------------------------------------->

10. 命名法

1. 帕斯卡命名法,每个单词首字母大写,java一般应用在类名
如: GirlFriend, MyHomeWorld, YourName ...

2. 驼峰命名法,第一个单词首字母小写,后面单词每个首字母大写
如: girlFriend, myHomeWorld, yourName

java一般应用在属性和方法上

3. 匈牙利命名法,每个字母都大写,单词与单词之间使用下划线隔开
如:GIRL_FRIEND, MY_HOME_WORLD, YOUR_NAME。

java一般用在静态常量上,其他更多应用在数据库字段上。

<------------------------------------------------------------------------------------------------->

11.成员变量和局部变量

实例方法:属于对象的方法

不用static修饰,通过对象名.方法名()调用

类方法 :属于类的方法

用 static修饰(也叫静态方法),可以直接通过类名.方法名() 调用,也可以

通过对象名.方法名() 调用

static : 静态的,在加载类时会加载

修饰成员(成员变量,成员方法)

修饰方法,该方法是静态方法(类方法) ,可以直接通过类名调用

静态方法里不能使用非静态变量、

修饰变量,该变量是静态的,所有对象共享(该变量只有一份)

成员变量和局部变量重名时,优先使用局部变量

成员变量有默认值,局部变量没有默认值,局部变量使用前必须赋初始值

成员变量的作用域:在整个类中有效

局部变量作用域:只在定义该变量的{}内有效。

<------------------------------------------------------------------------------------------------->

12. super的用法:

(1)super.属性   访问父类的属性

(2)super.方法(..)  调用父类的方法

(3)super(…)   调用父类的构造方法

在子类构造中用super(..)调用父类的构造,super(..)必须放在第一句,所以,this(..)和super(..)不能在同一个构造中出现。

在子类的构造中的第一句默认有个隐式的super(),表示调用父类的无参构造,所以在new子类对象时,会先执行父类的构造。

当父类没有无参构造时,子类必须添加构造,并且在构造的第一句调用父类的有参构造。

<------------------------------------------------------------------------------------------------->

13. 继承:   extends(关键字)

子类继承父类的属性和方法

一个类只能继承一个父类(单继承)

子类不能继承父类私有的成员

子类不能继承父类的构造

子类与父类不在同包,使用默认访问权限的成员也不能被继承

<------------------------------------------------------------------------------------------------->

14. 访问控制修饰符:

 

本类

同包其他类

子孙类

跨包

Public(公共的)

Protected(受保护的)

X

默认的(friendly

同包子孙类可访问

X

Private私有的

X

X

X

 

 

继承的好处

提高代码的复用性

为多态提供基础

<------------------------------------------------------------------------------------------------->

15. 重写(覆盖)

当父类的方法满足不了子类需求时,子类会重新写一个与父类方法名,参数列表一样的方法。

重写的具体规则:

方法名一样,参数列表一样,返回值类型一样(子类方法的返回类型可以是父类方法返回类型的子类),修饰符不比父类的修饰符严格(抛出的异常不比父类的大)

 

<------------------------------------------------------------------------------------------------->

16. final的用法

修饰类   不可被继承

修饰方法  不可被重写

修饰变量   该变量是常量,不可改变

Final 修饰引用类型时,不能改变地址,但是可以改变地址上的内容

final  A a = new A();  
a = new A(); //  XXX
a.num = 1000;//√√√

<------------------------------------------------------------------------------------------------->

17. 抽象类,抽象方法

当某个方法的方法体不清楚时,干脆把该方法的方法体删掉,加上abstract关键字修饰,该方法是一个抽象方法。该方法所在的类应该定义成抽象类。

当普通类继承抽象类时,普通类必须重写抽象类里的抽象方法。

抽象类不能实例化(不能new 对象)

抽象类有构造方法

抽象类有普通的成员变量

抽象类中可以有普通方法和抽象方法。

<------------------------------------------------------------------------------------------------->

18. 多态

一种事物的多种表现形态。

狗可以叫做动物:

Animal ani = new  Dog();//父类引用指向子类对象

ani是一个引用(地址) ,引用是父类类型

new  Dog()  new的是子类的对象

狗也可以叫做狗

Dog  dog = new Dog()

 

多态时

普通成员变量:  编译期和运行期都看=左边的引用是什么类型

左边的引用如果是父类类型,所访问的变量是父类的

左边的引用如果是子类类型,所访问的变量是子类的

普通成员方法: 运行期看=右边new的是什么类型的对象

如果new的是哪个类的对象,调用的就是哪个类的方法

   编译期看左边。

静态方法:编译期运行期都看=左边

左边是什么类型,调用的就是该类的方法。

静态成员变量:编译期和运行期都看=左边

<------------------------------------------------------------------------------------------------->

<------------------------------------------------------------------------------------------------->

19. 转型:

Dog dog1 = (Dog)pet;//向下转型(将父类引用转化为子类的引用)

//编译正确,执行抛出异常ClassCastException

// Penguin penguin = (Penguin)pet;//

//编译正确,执行抛出异常ClassCastException

Fa fa = new Fa();

Son son = (Son)fa;

多态的好处:

提高程序的扩展性,可维护性。

多态的表现形式:

父类引用指向子类对象,重写,重载,可变长参数的方法

public void show(Object... nums){

for (Object num : nums) {

System.out.println(num);

}

}

Object:所有类的根类,所有的类直接或间接继承Object类

<------------------------------------------------------------------------------------------------->

20. 接口:

接口:特殊的抽象类,也可理解为一种能力,一种规范(约束)

一种规范(约束):约束所有的实现类都必须实现接口中的抽象方法

一种能力:想要具备某种能力,只要实现有该能力的接口。

/**
 * 接口中的变量都是静态常量
 *     在接口中定义一个变量,默认会加上public final static
 * 接口中的方法都是抽象方法(jdk1.8之前)
 *     定义的方法默认会加上public abstract
 *   类和类可以是继承extends关系,单继承
 *   类和接口  是类 实现implements接口,可多实现
 *   接口和接口  接口继承接口,并且可以多继承接口。
 *
 *   普通类实现接口必须实现接口中的所有抽象方法
 *     抽象类实现接口可以不用实现接口中的方法
 *
 * jdk1.8及以上
 *  接口中可以有static default修饰的普通方法
 */

<------------------------------------------------------------------------------------------------->

Java语法知识点的更多相关文章

  1. Java语法知识点2

    1. 基本数据类型的包装类 byte   Byte short   Short int    Integer long  Long float  Float double  Double boolea ...

  2. Java 面试知识点解析(一)——基础知识篇

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

  3. Java 面试知识点解析(四)——版本特性篇

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

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

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

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

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

  6. Java 基础知识点小结

    小知识点 所有的程序,都要定义在类里面: 异常 定义方法时,使用 throws 可以用来捕获方法体内没有捕获的异常,然后以 SomeException 抛出异常 java是解释型语言.java虚拟机能 ...

  7. Java基础知识点总结

    前言 本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其 ...

  8. Java入门知识点

    Java入门知识点   Java源代码的流程 Java程序由.java文件生成,通过JVM进行编译得到字节文件.class class HelloWorld { public static void ...

  9. JAVA基础知识点总结(全集)

    1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境 ...

随机推荐

  1. hadoop java.nio.channels.ClosedChannelException

    今天在跑一个任务的时候,报错java.nio.channels.ClosedChannelException. INFO mapreduce.Job: Task Id : attempt_152101 ...

  2. node.js HTTP模块、URL 模块

    在浏览器输入存在的网址的一个交互过程 1.用户通过浏览器发送一个http的请求到指定的主机 2.服务器接收到该请求,对该请求进行分析和处理 3.服务器处理完成以后,返回对应的数据到用户机器 4.浏览器 ...

  3. Mikrotik: Setup SSTP Server for Windows 10 Client

    原文: http://www.dr0u.com/mikrotik-setup-sstp-server-for-windows-10-client/ Basic how-to on SSTP for a ...

  4. leetcode 763. 划分字母区间

    题目描述: 字符串 S 由小写字母组成.我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段.返回一个表示每个字符串片段的长度的列表. 示例 1: 输入: S = "a ...

  5. 使用vue搭建应用三引入scss

    Css.Sass.Scss的含义及区别 Css(Cascading Style Sheets) 层叠样式表 Sass(Syntactically Awesome StyleSheets) 是一款强化 ...

  6. Android 及 iOS 常用操作命令

    应用相关 1. 安装应用(真机) Android adb install xxx.apk iOS ideviceinstaller -i xxx.ipa 2. 卸载应用(真机) Android adb ...

  7. recttransform

    转载自https://www.jianshu.com/p/4592bf809c8b 1.Anchor:子物体和父物体联系的桥梁,Anchors是由两个点确定的,他们就是AnchorMin以及Ancho ...

  8. Android开发遇到的一些小问题

    1.文件下载时,默认只能用https,怎么用http协议: 在Manifest.xml文件中增加一个配置项: android:usesCleartextTraffic="true" ...

  9. something want to write

    1.时间戳不能相信是因为机器时间有误差.相当于机器不断电的跑着时钟. 2.写log的时候记得log别人的ip,不然没办法很好的debug.

  10. spring boot 源码解析52-actuate中MVCEndPoint解析

    今天有个别项目的jolokia的endpoint不能访问,调试源码发现:endpoint.enabled的开关导致的. 关于Endpoint, <Springboot Endpoint之二:En ...