1.java命名规范

  • 包名:全小写
  • 类名,接口名:首字母大写
  • 变量名,方法名:第一个单词皆字母小写,后面单词首字母大写
  • 常量名:所有字母都大写

2.变量

2.1 注意事项

  • 作用域:一对{}之间有用
  • 必须初始化值

2.2 分类

  • 基本数据类型:

    • 数值型

      • 整数类型:byte,short,int,long
      • 浮点类型:float,double
    • 字符型:char
    • 布尔型:boolean
    • 字符串:string
  • 引用数据类型:
    • 类:class
    • 接口:interface
    • 数组:[]1

3.运算符

  • 算术运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符
  • 三元运算符

4.程序流程

4.1 顺序结构

4.2 分支结构

if(){

}
else{ }
--------------------
if(){ }
else if(){ }
else{ }
---------------------
switch(){
case 常量1:语句1;break;
case 常量2:语句1;break;
default:语句1;break;
}

4.3 循环结构

for(int i=1;i<=100;i++){
System.out.println(i);
}
---------------------
while(i<=100){
result=result+i;
i++;
}
---------------------
嵌套循环

4.4 特殊流程控制语句

break语句用于终止某个语句块的执行,终止本层循环,只能用于switch和循环语句中
---------------------
continue对当前所在循环起作用,终止本次循环,本次循环下面代码不执行,只能用于循环语句中
---------------------
return结束一个方法,不用管循环层数
---------------------

5.数组

5.1 一维数组

//int[] a与int a[]相同
动态初始化:
int[] arr=new int[2];
arr[0]=1;
arr[1]=2;
---------------------
静态初始化:
int a[]=new int[]{3,9,8}
int[] a={3,9,8}

5.2 多维数组

//int[][] a与int[] a[]与int a[][]相同
动态初始化1
int[][] arr=new int[3][2]
arr[0][1]=21;
....
---------------------
动态初始化2
int[][] arr=new int[3][]
可用
arr[0]=new int[3]
arr[0][1]=21
或者
arr[0][]=new int[]{3,9,8}
----------------------
静态初始化
int[][] arr=new int[][]{{3,8,2},{2,7},{9,0,1,6}}

6.面向对象

  • 类和对象
  • 属性
  • 方法
  • 对象创建和使用
  • 再谈方法
  • 封装和隐藏
  • 构造器
  • super
  • this
  • package
  • import

6.1 继承(extends)

  • 方法的重写
  • 四种权限修饰符
  • 关键字super
  • 子类对象实例化
  • java不支持多重继承,我们一般使用接口来做到

6.2.多态

  • 向上转型:子类可以看做是特殊的父类,所以父类类型的引用可以指向子类的对象
  • Person p=new Person()
  • Person e=new student()
  • 不可使用子类属性,属性在编译时为父类Person,没有成员变量
  • e.showInfo() //虚拟方法调用,运行时确定,我们使用的是Student的

6.2 成员方法

  • 成员方法的多态性,也就是动态绑定,必须存在于方法的重写之上
  • 编译时:要查看引用变量所属的类中是否有所调用的方法
  • 运行时:调用实际对象所属的类中的重写方法

6.3 object类,包装类

public class Test{
public void test(Object obj){
}
public static void main(String[] args){
Test t=new Test();
Person p=new Person();
Student s=new Student();
t.test(p);
t.test(s);
t.test(new Kk());
Person e=new Person();
e=p;
System.out.println(p.equal(e));
}
}

6.4 对象类型转换

  • 基本类型强制转换
  • 向上转型与向下转型

6.5 ==与equals()

  • 对于对象来说,特殊的类,如String,File,Date使用==比较的是对象(对象的地址)
  • equals比较的内容,除了特殊的类之外的其他普通的类的对象,==和equals比较的都是对象(对象的内存地址),如果你想改变一个类的equals,不想用equals来比较对象的内存地址,就需要重写equals方法

6.6 包装类

  • 作用:方便字符串与基本数据类型之间的转换

6.7 tostring()

  • 作用:方便类属性的输出,可以重写

6.8 static

  • 作用:静态变量与静态方法

6.9 抽象类abstract

  • 抽象方法没有方法体
  • 抽象类不能实例化,可以有构造方法,只是无法实现
  • 拥有抽象方法的是抽象类
  • 抽象类一般作为父类
  • 可以嵌套抽象类,即抽象类可以继承抽象类

Java-语言基础梳理的更多相关文章

  1. Java学习总结(二)----Java语言基础

    1.     Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...

  2. java语言基础02

    一.Java语言基础(常量的概述和使用)(掌握) 1:什么是常量 就是在程序的执行过程中其值不发生改变的量. 2:Java中常量的分类 (1):字面值常量 (2):自定义常量(面向对象部分讲解) 3: ...

  3. Java之--Java语言基础组成—数组

    Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...

  4. Java之--Java语言基础组成—函数

    Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...

  5. Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)

    Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...

  6. Java语言基础(二) Java关键字

    Java语言基础(二) Java关键字 Java关键字比较多,我就不列举出来了,只记录一些常用的小知识点: ①Java的关键字只有小写. ②then.sizeof都不是Java的关键字,熟悉C++的程 ...

  7. Java语言基础(九)

    Java语言基础(九) 一.自增运算(++) 自减运算(--) i++ 就是将i+1再赋给 i i-- 是将i-1再赋给 i 对变量i,j来说,i++ 或++i 这里没什么区别,都是将i的值加1后,再 ...

  8. Java语言基础(八)

    Java语言基础(八) 一.数学运算  + - * /  % (1)凡是byte  short  char类型都按int类型的计算   看看上面的代码,为什么出错! 我已经将100转成byte类型,( ...

  9. Java语言基础(七)

    Java语言基础(七) 今天在公司多呆了会,回来晚了 一.自动类型转换 在Java中,数据是可以转换的  例如可以将byte类型的赋给int类型的 这里希望你了解内存的变化,例如 在这里,我想你应该知 ...

  10. Java语言基础(六)

    Java语言基础(六) 前一章提到的, BigDecimal, DecimalFormat等具体用法,这里就不在说了,网上有许多 一.下面让我们看一个例子(自由落体运动位移) 说明: (1).公式是 ...

随机推荐

  1. webpack----js的静态模块打包器

    webpack----js的静态模块打包器 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 简介 webpack 是一个现代 J ...

  2. 201771010113 李婷华 《面向对象程序设计(Java)》第八周总结

    一.理论知识部分 1.Java为了克服单继承的缺点,Java使用了接口,一个类可以实现一个或多个接口. 2.在Java程序设计语言中,接口不是类,而是对类的一组需求描述,由常量和一组抽象方法组成.接口 ...

  3. [hdu3484]枚举

    题意:给两个个01矩阵,有两种操作,(1)交换两列(2)反转某一行.求能否通过若干操作使两矩阵相等 思路:(把所有对B的操作放到A上来,这一定是可以做到一样的效果的)枚举B矩阵的第一列对应A矩阵的第几 ...

  4. Linux 物理卷(PV)、逻辑卷(LV)、卷组(VG)管理

    (一)相关概念 逻辑卷是使用逻辑卷组管理(Logic Volume Manager)创建出来的设备,如果要了解逻辑卷,那么首先需要了解逻辑卷管理中的一些概念. 物理卷(Physical Volume, ...

  5. 安卓APP承载网页(WebView)

    安卓APP自身如何打开网页,如何制作一个简单的浏览器,WebView在其中将是一个重要的角色.WebView是一个基于WebKit引擎.展现Web页面的控件. Webview 是一个基于webkit引 ...

  6. 关于日常操作中sql的性能

    最近接手了一个项目.使用的数据库是sql server,但是遇到一些关于日期的查询的时候,查询结果非常慢.看了下别人的sql //sql = sql + " and CONVERT(nvar ...

  7. javascript操作字符串间隔显示随机颜色

    参考了另一篇文章 https://www.cnblogs.com/zjfree/p/11584177.html,原理在这篇文章已经有详细描述了. 然后结合自己的一些js基础,当然改成jquery也可以 ...

  8. 【SMB源码解析系列】——003.SMB游戏基本框架

    前面有了解到RESET中断相关代码,结尾处通过一句jmp进入了无限循环,之后CPU将会在每一帧PUU进入VBlank状态时,接收NMI中断信号, 跳转至NMI代码处继续执行,直到遇见RTI指令时又返回 ...

  9. Appium自动化(4) - Appium Desired Capabilities 参数详解

    如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html Desired Capabilit ...

  10. 【雕爷学编程】Arduino动手做(48)---三轴ADXL345模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备 ...