JavaSE总结和知识梳理(含思维导图)

JDK环境安装

有道云笔记链接:http://note.youdao.com/noteshare?id=adcf94b9cb0247763db7fa22944d0811&sub=B9D5C049F67143B1821984C9FCE4DBFD

内存区域

  • code:代码段——存储程序的代码指令,常量字符串,只可读
  • static:静态存储区——存放全局变量 / 常量,静态变量 / 常量。
  • heap:堆区——程序员控制,使用amalloc和free来申请和释放。
  • stack:栈区——预先设定大小,系统自定分配与释放。存储局部变量,函数参数,返回值和函数名。
    ps:从上向下为从小地址到大地址

windows基本操作

  1. win + e 打开资源管理器
  2. tab按多的时候,全部选中同时按shift+tab可以缩回
  3. 在查找搜索关键字的时候(包括api)查看文档的时候搜索可以用快捷键ctrl + f搜索
  4. Xmind(脑图)中tab为子空间,回车为同级空间,方向键更改光标选中位置
  5. HOME 和 END 键可将光标移至行首和行尾,按住 CTRL 键同时按 HOME 和 END 键可以将光标移至页首和页尾
  6. 同时按中 win + shift + s 键可区域截图,但只能复制到文档或画图软件中
  7. (eclipse)Java输出快捷键 先拼写syso再同时按住alt + /

dos常见命令

win + r 打开搜索 输入 cmd 回车确定打开 dos 黑窗口

  • cd> 文件名加后缀——创建文件
  • D: ——盘符
  • cls ——清屏
  • cd+空格+文件夹名 ——进入文件夹
  • cd… ——返回上一级
  • del ——删除文件
  • cd>+ 空格+文件名(带后缀)——创建文件
  • rd ——删除文件
  • md ——创建文件夹
  • dir ——查看当前目录下的文件及文件夹
  • cd Desktop ——跳转至桌面
  • exit ——退出

Java零碎知识点

保留小数
  1. String的format方法(只需输出时推荐)
double f = 123.123123;
System.out.println(String.format("%.2f",f));
  1. 使用BigDecimal类
    JAVA1.5API
    ↑包装成BigDecimal类之后运算可以防止精度损失
退出程序

System.exit()退出程序,括号里面如果是-1是非正常退出,如果是0则为正常退出

上界

整数最大值:

Integer.MAX_VALUE;
equals

equals在Object类中的源码意为" = " 若引用变量进行比较的时候,比较的是地址值但是Sting类中重写了equals,在字符串类型比较的时候比较的是字符串内容因此在比较字符串内容的时候,不用" = "而是用equals方法

代码规范

在这里插入图片描述

三目运算符

x?y:z ——x为布尔类型条件,y为x为真时实现,z为x为假的时候实现

读入方式

常用格式

import java.util.Scanner;	//导jar包
...
Scanner sc = new Scanner;	//主方法中运行
int a = sc.nextInt(System.in);

上述即为输入整型的读入方式

条件&&循环语句

条件语句
  • if(条件){ … }     ( if后只有一句时可以不加{ } )
  • if…else
  • if(条件){ … }else if(条件){ … }
  • if…else if…else if…else
  • switch(条件){     (注意switch条件中不能为浮点型,需将其转化为字符串再判断)
    case 1:
     …
     break;
    case2:
     …
     break;

    default:
     …
    }
  • 简单判断语句可以用三目运算符做 例(x
    ?y:z)
循环语句
  • for( 初值;满足条件 ;循环语句){…} ——例如(数组):for(int i = 0;i < arr.length();i ++ ){…}
  • while(满足条件){…}
  • do{先执行do中的内容在循环}while(满足条件)
break,continue,return可以跳脱循环
  • break和return都是强行退出循环,并且不会执行后续循环语句,但return同时会返回方法值(可为空)并退出方法,不会再执行后续的方法内语句
  • continue用于终止某次循环的过程,跳脱循环体中continue语句后续未执行的循环,并开始下一循环的过程

关键字&&标识符

关键字

被Java语言赋予了特殊含义,用做专门用途的字符串
特点:字母都为小写

标识符

Java对各种变量、方法等要素命名时使用的字符序列成为标识符
技巧:凡是自己可以起名字的地方都叫标识符

标识符命名规则
  • 由26个英文字母大小写,0—9,_或 $ 组成
  • 数字不可以开头
  • 不可以使用关键字和保留字,但能包含关键字和保留字
  • Java中严格区分大小写,长度无限制
  • 标识符不能包含空格
标识符命名规范
  • 包名 ——字母都小写 helloworld
  • 类名接口名 ——首字母大写 HelloWorld
  • 变量名方法名 ——第一个首字母小写,后续单词首字母大写helloWorld
  • 常量名 ——所有字母都大写,下划线链接 HELLO_WORLD
    (可以用汉字,但不建议用汉字命名)

四类八种

基本数据类型引用数据类型
数值型字符型布尔型接口数组
整数类型(byte,short,int,long)  charbooleanclassinterface   
浮点型(float,double)

方法

定义
  • 形参:方法调用时用于接收外界输入的数据
  • 实参:方法调用时实际传给方法的数据
    ——形参传值(基本数据类型)时,如果不返回,则对外界无影响,如果是地址值(引用数据类型),则进行改变
  • 重载:重载是值一个类中可以定义有相同的名字,但参数不同的多个方法,调用时,会根据不同的参数表选择对应的方法。
  • 参数不同时才会构成重载,否则会重复定义而报错。
  • 重写
  1. 子类中可以根据需要对从基类继承来的方法进行重写
  2. 重写方法必须和被重写方法具有相同的方法名称、参数列表和返回类型。
  3. 重写方法不能使用比被重写方法更严格的访问权限
  • 注意 重写时尽量复制粘贴原方法名,防止因名称错误而未完成重写
递归调用

递归调用指在方法执行过程中出现该方法本身的调用 例如:
求Fibonacci数列:1,1,2,3,5,8,…第40个数的值。数列满足地推公式:
F1=1,F2=1    Fn = Fn-1 + Fn-2 (n>2)

public class Test{
	public static void main (String args[]){
		System.out.println(f(5));
	}
	public static int f(int n){
		if(n == 1 || n == 2){
			return 1;
		}else{
			return f(n - 1) + f(n - 2);
		}
	}
}

面向对象

基本思想

从现实世界中客观存在的事物出发来构造软件系统,并在系统的构造中尽可能运用人类的自然思维方式。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

类修饰符

1️⃣
public:将一个类声明为公共类,它可以被任何对象访问
2️⃣
abstract:将一个类声明为抽象类,没有实现方法,需要子类提供方法的实现,所以不能创建该类的实现
3️⃣
final:将一个类声明为最终类即非继承类,表示它不能被其他类所继承
4️⃣
缺省:缺省修饰符时,则表示只有在相同包中的对象才能使用这样的类

构造方法
  • 使用new + 构造方法 创建一个新的对象
  • 构造函数是定义在Java类中的一个用来初始化对象的函数。
  • 构造函数与类同名且没有返回值
  • 例如:
  • 在这里插入图片描述

This关键字&&Static关键字

this
  • 在类的方法定义中使用的this关键字代表使用该方法的对象的引用
  • 当必须指出当前使用方法的对象是谁时需要使用this
  • 有时使用this可以处理方法中成员变量和参数重名的情况
  • this可以看做是一个变量,他的值是当前对象的引用
  • 方法中return this则引用该方法的对象在进行方法的运算之后,返回的是经方法所有运算的对象(即该对象进行方法中的所有运算)
Static关键字

整个类的变量
可以直接用 <类名.静态变量> 来访问
在这里插入图片描述
静态代码在程序运行之前,即编译阶段,分配内存。

import

  • 如果想将一个类放入包中,在这个类源文件第一句话写package
  • 必须保证该类的class文件位于正确的目录下
    • 该类的源码可能会产生影响
      • 删除或转移到另外的目录
  • 另外的类想访问的话:
    • 写全名
    • 引入
      • “ * ”(相当于所有)
      • 具体类名
    • 访问位于同一包中的类不需要引入
  • 必须class文件的最上层包的父目录位于classpath下

后续详情见思维导图

思维导图

在这里插入图片描述

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值