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

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

最新文章

  1. C++ GC
  2. [NOI 2006] 最大获利 80分
  3. SQL - 分页存储过程
  4. Android开发-API指南-&lt;application&gt;
  5. Linux C 程序 基础(FOUR)
  6. AJAX技术的核心
  7. 你喜欢使用eclipse+tomcat编程吗?!
  8. linux 配置 mail server
  9. 负载均衡,最理想使用 redis实现session共享
  10. CSS的三种手段让元素脱离标准本文档流——浮动、绝对定位、固定定位
  11. 笔记︱金融风险控制基础常识——巴塞尔协议+信用评分卡Fico信用分
  12. 【Shader拓展】Illustrative Rendering in Team Fortress 2
  13. 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
  14. CustomScrollView + slivers + SliverAppBar
  15. [Angular] &#39;providedIn&#39; for service
  16. contos防爆力破解密码
  17. asp.net mvc接收安卓post的json字符串
  18. ROS----TUT-RIM协作机器人和Actin-ROS接口
  19. [LeetCode] 122. Best Time to Buy and Sell Stock II_Easy tag: Dynamic Programming
  20. Error 2503 and 2502 when installing/uninstalling on Windows 10

热门文章

  1. B. Working out 四角dp
  2. 一篇博客带你轻松应对java面试中的多线程与高并发
  3. 【Hadoop离线基础总结】流量日志分析网站整体架构模块开发
  4. ASP.NET Core on K8S学习之旅(12)Ingress
  5. C++单例写法
  6. STM32 IAP 升级官方资料汇总
  7. Redis学习笔记(六) 对象
  8. JS理论:编码习惯
  9. android 百度地图v3.2.0获取实际地址
  10. jQuery学习笔记——jQuery常规选择器