
CoreJava学习
MK.Chen
这个作者很懒,什么都没留下…
展开
-
CoreJava学习第六课-面向对象三大特性
面向对象三大特性一. 封装 属性私有,提供set/get方法 所有对对象的访问都应该通过方法调用来完成 访问修饰符 private 私有 只能在类的内部访问 public 公开class Employee{ //属性 private String name; private int age; //为每个属...原创 2018-10-12 21:29:37 · 298 阅读 · 0 评论 -
CoreJava学习第七课-三个修饰符
三个修饰符一. abstract 抽象--->和多态有关1.4种访问修饰符可以修饰的范围private 属性 方法 构造方法 default 属性 方法 构造方法 类 protected 属性 方法 构造方法 public 属性 方法 构造方法 类 2.abst...原创 2018-10-12 21:29:32 · 293 阅读 · 0 评论 -
CoreJava学习第九课-4种内部类和JVM内存组成
一:4种内部类内部类是编译时语法,编译后,会生成两个独立的类内部类可以访问外部类的私有成员1.成员内部类可以访问外部类的私有成员 创建方式:先创建外部类对象,再通过外部类对象创建内部类对象特别注意:由于成员内部类必须与外部类某一个对象相关联,因此成员内部类中不能定义静态方法public class TestInnerClass { public stat...原创 2018-10-12 21:29:27 · 683 阅读 · 0 评论 -
CoreJava学习第十课-Object类,包装类和String类
一:Object类、常见方法1.Object类Object 是Java中所有类的父类。所以: Object o = 任何对象 Object类中的方法[共有11种方法,详情见API文档],是所有Java对象都具有的方法2.getClass() 获得对象的实际类型---底层是用反射实现的!3.finalize() 内存泄漏:在C/C++中,创建对象后,忘...原创 2018-10-12 21:29:22 · 293 阅读 · 0 评论 -
CoreJava学习第十一课-异常处理
一:异常处理异常是程序运行过程中不正常的情况.1.异常的传递方式异常的传递方式: 状态码方式: ① 包含的信息有限 ② 可能和正常结果冲突(如果是银行卡的余额显示,则可能和状态码冲突) ③ 不强制要求处理(分层开发中,有时状态码传递到中层时,可能会不传递或处理) 异常对象的方式: 通过 throw...原创 2018-10-12 21:29:17 · 282 阅读 · 0 评论 -
CoreJava学习第十二课-集合
一:集合1.什么是集合一类特殊的对象: 用于保存多个对象的对象. 二:Collection·特点:Collection 接口的特点是元素是 Object。遇到基本类型数据,需要转换为包装类对象·Collection 没有实现类,它的子接口有实现类,所以Collection元素必须是引用类型. 常见方法:boolean add(E e) ...原创 2018-10-12 21:29:11 · 281 阅读 · 0 评论 -
CoreJava学习第十三课-线程
一:线程 1.什么是进程进程: 是OS中可以并发执行的一个任务.运行方式:采用分时间片轮转方式,由OS进行调度。 【微观串行 宏观并行】在一个操作系统中可以同时运行多个进程,这就是进程的并发2.什么是线程【由于 Java 代码是运行在 JVM 中的,对于某个操作系统来说,一个 JVM 就相当于一个进程,而 Java 代码不能够越过 JVM 直接与操...原创 2018-10-12 21:29:06 · 271 阅读 · 0 评论 -
CoreJava学习第十四课-IO
1.什么是I/OI/O: Java程序的输入/输出Input: 从外部数据源中读取数据Output:向外部数据源写出数据2.什么是流流: 用来传输数据的对象按照数据方向: 输入流/输出流按照数据单位: 字节流(处理一切数据)/字符流(处理文本数据)按照流的功能: 节点流(实际完成数据传输)/过滤流(为节点流增强功能)2.1字节流类名 作用 ...原创 2018-10-12 21:29:00 · 294 阅读 · 0 评论 -
CoreJava学习第十五课-反射,枚举,标注,Java设计模式
反射: 底层技术反射: 开发工具和框架 使代码更通用类对象:类加载: 当JVM第一次使用一个类的时候,需要读取这个类对应的字节码文件,获取类的信息并保存起来类对象: 记录类的信息的对象. 类加载后,将类的信息封装成类对象,保存在方法区中获得类对象的办法:类名.class 还可以获得8种基本类型的类对象 (int.class double.class)类的对象.getC...原创 2018-10-12 21:28:54 · 242 阅读 · 0 评论 -
CoreJava学习第十六课-JDK8中Lambda表达式和Stream编程
Lambda表达式从JDK8 Lambda表达式开始,java成为面向对象编程思想+函数式编程思想避免冗余代码, 提高程序的可重用性提高可重用性: 将代码的不变部分, 和可变部分 分离继承关系将子类共性抽取到父类将数据作为方法的参数将代码作为方法的参数 定义接口,通过接口回调实现Lambda : 函数式编程Lambda表达式 匿名内部类的简便写法 实现的接口必须只...原创 2018-10-12 21:28:44 · 668 阅读 · 0 评论 -
CoreJava学习第五课 --- 进入第二阶段:面向对象编程思想
面向对象编程思想1.面向过程 从计算机执行角度出发 ,代码执行过程核心为从程序的运行过程出发,构建编程思路,例: 哥德巴赫猜想// 面向过程 1 用户输入一个数n 2 验证数字的正确性 2.1 正确就继续向下 2.2 错误就重复输入 3 拆数 循环 n=a+b 4.判断 a和b同为质数 则打印2.1对象计...原创 2018-10-11 16:56:06 · 271 阅读 · 0 评论 -
CoreJava学习第四课-数组
一:数组1.什么是数组? 数组就是 一次性定义多个同类型的变量2.在内存中,数组元素是连续存储的 优点:快速查询到某个数组元素,查询效率高 (下标从0开始计数,提高计算地址的效率) 缺点:1.插入和删除效率低 2.数组的长度是固定的 ---------->所以需要数组扩容,见7.数组扩容3.声明,使用数组【重要】声明数组: int[...原创 2018-10-11 16:39:25 · 278 阅读 · 0 评论 -
CoreJava学习第三课
一:流程控制1.顺序执行流程 执行次数:1次2.条件分支流程 执行次数:0-1次a. if 条件分支 1. if (布尔表达式) {代码块} 2. if (布尔表达式) {代码块1} else {代码块2} 3. if (布尔表达式1) {代码块1} else if (布尔表达式2) {代码块2} else if (布...原创 2018-10-11 16:29:37 · 203 阅读 · 0 评论 -
CoreJava学习第二课
一:编程习惯(很重要!!!提高程序可读性)1.注释(描述代码的文字)1.单行注释 //注释内容2.多行注释 /* 多行注释, 可以跨越多行 注意:多行注释不能嵌套 */3.文档注释 /** 配合javadoc工具使用 */2.缩进· 同级...原创 2018-10-11 15:55:44 · 263 阅读 · 0 评论 -
CoreJava学习第一课
一:编程语言发展历史 机器语言--> 汇编语言--> 高级语言 java在1995.5.23诞生! Java发布 1.0 在电脑上运行java文件需要先安装JDK和JRE,再配置环境变量,安装过程比较简单,这里暂不说明。安装之后进行下面的环境变量配置,并打开cmd,输入java或javac,若出来一堆字符,则表明配置成功,即可编...原创 2018-10-11 15:29:52 · 262 阅读 · 0 评论 -
JDK8新特性:在JDK8中,默认添加final
class A{ int n = 10; public void m(){ int a = 1;//在JDK1.8中,默认添加final---->final int a = 1; 所以在15行可以访问 class B{ public void method(){ System.out.p...原创 2018-10-08 00:06:30 · 1107 阅读 · 0 评论 -
main函数中不写public可以吗?
结果肯定是不可以的!因为JVM在运行此代码时,会找不到入口函数! public class Test { static void main(String[] args) { System.out.println("hehe"); }} 运行结果:...原创 2018-10-08 00:01:53 · 1092 阅读 · 0 评论 -
求一个数的多少次方
java.lang包下的 Math.pow(a,b) 方法,返回值是double。参数:a - 底数。b - 指数。 返回:返回第一个参数的第二个参数次幂的值。值 a^b。例子:int i = (int)Math.pow(2,3); // 8...原创 2018-10-07 23:43:14 · 778 阅读 · 0 评论 -
(for 循环)编程找出四位整数 abcd 中满足 (ab+cd)(ab+cd)=abcd 的数
优化之前:public class Exc2_8{ public static void main(String[] args){ for(int abcd = 1000 ; abcd <= 9999 ; abcd++){ int ab = abcd/100; int cd = abcd%100; if ((ab+cd)*(ab+cd)==abcd) Syste...原创 2018-10-07 23:42:27 · 2107 阅读 · 0 评论 -
Java实现哥德巴赫猜想并优化
验证哥德巴赫猜想:任何一个大于 6 的偶数,都能分解成两个质数的和。要求输入一个整数,输出这个数能被分解成哪两个质数的和。eg : 1414=3+1114=7+7public class TestGoldbach{ public static void main(String[] args){ java.util.Scanner s = new java.util.Scanne...原创 2018-10-07 23:41:16 · 1887 阅读 · 0 评论 -
java-控制线程同步的4种方法
控制同步的方法 (已过时)加锁 synchronized 互斥锁 缺点: 并发效率低下 synchronized synchronized(obj) { } 对obj加锁的同步代码块只有拿到obj锁标记的线程, 才能进入对obj加锁的同步代码块public synchronized void m(){} 对this加锁的同步代码块只有拿到obj锁标记的线程...原创 2018-10-07 23:39:21 · 321 阅读 · 0 评论