每周学习总结-第一周12月26日

1.通过菜鸟教程学习Java基础知识

1.1Java函数的参数按值传递

Java的函数参数通过值传递,函数内的改变不影响函数外的改变

class Main {
public static void swap(Integer i, Integer j) {
      Integer temp = new Integer(i);
      i = j;
      j = temp;
   }
   public static void main(String[] args) {
      Integer i = new Integer(10);
      Integer j = new Integer(20);
      swap(i, j);
      System.out.println("i = " + i + ", j = " + j);
   }
}

上面代码输出结果是: i=10,j=20  i和j的值没有发生变化。因为值传递中会建立副本,函数中无法改变原始对象。

但是下面代码结果发生了改变

class intWrap {
   int x;
} 
public class Main { 
    public static void main(String[] args) {
       intWrap i = new intWrap();
       i.x = 10;
       intWrap j = new intWrap();
       j.x = 20;
       swap(i, j);
       System.out.println("i.x = " + i.x + ", j.x = " + j.x);
    } 
    public static void swap(intWrap i, intWrap j) {
       int temp = i.x;
       i.x = j.x;
       j.x = temp;
    }
}

结果是:i.x=20,j,x=10. 因为函数建立了对象,Java的应用程序不会传递对象,只传递对象引用,按引用传递对象对于对象数据类型,因为该对象本身指向的是它在内存中的地址,所以方法调用的时候,实际上是创建的地址的副本,所以在方法中对其值进行改变的时候,他的地址没有变,值也就跟着改变了;而当你重新创建一个对象的时候,它指向的便是另一个对象的地址了。Java中进行的是值传递,对于对象参数,值的内容是对象的引用。

1.2Java面向对象

继承

子类用有父类的非private属性和方法,提高代码复用性。子类也拥有自己的属性和方法,子类单继承但是可以多重继承 使用 extends 和 implements 这两个关键字来实现继承。

多态

方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式。

  • 方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载(Overloading)。
  • 方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写(Overriding)。
  • 方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现。

封装 

是种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。可防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。public方法是外部类访问该类成员变量的入口。这些方法被称为getter和setter方法。任何要访问类中私有成员变量的类都要通过这些getter和setter方法

2.学习Oracle 

数据区 是Oracle存储分配的最小单位extent
-段segment 数据段:表中所有数据 索引段:查询的索引数据 临时段 回滚段)
-表空间:最大逻辑划分区域,(系统表空间system tablespace 辅助表空间sysaux 撤销表空间undo 用户u
物理存储结构:
-数据文件。dbf数据文件依附于表空间存在 (系统数据文件 回滚数据文件undotbs01,dbf 用户数据文件 临时数据文件tenp02,dbf)
-控制文件 最小的文件 最重要.ctl
-日志文件.log(重做日志文件redo01.log记录所有数据变化,提供回复数据-归档日志文件:重做日志文件的历史备份 )
-服务器参数文件-密码文件 -警告文件alert_orcl.log(定期删除)-跟踪文件
服务器结构----
-系统全局区SGA(高速数据缓冲区-共享池:库高速缓冲区,字典高速缓冲区-重做日志缓冲区-Java池-大型池-流池)
 

 Oracle进程-----
-用户进程:必须先建立一个连接
-后台进程:协调内存和磁条一致性
-数据库写入进程dbwr:缓冲区高速缓存满足条件数据写入
-日志写入进程lgwr(用户发出commit命令,重做日志文件缓冲区信息满三分之一 超3秒)
-归档进程
-系统监控进程 smon实例恢复,清理临时段
-进程监控进程pmon释放资源

sqlplus与数据库交互----
-服务器执行的命令-sql命令 ;结束符 -PL/SQL程序块/结束符
-本地命令SQL*Plus命令 无结束符
-设置SQL*Plus运行环境:SET system_variable value SET PAGESIZE value顶部标题到页结束的行数,
LINESIZE value  newpage value页与页的间隔  psuse value(on off 输出结果是否滚动显示
-常用plus命令 -HELP|?【topic】  descripe desc+表名 写到一半随时查询#desc
-spool c:\emp.txt创建文件spool off之后才能显示内容spool out=off+print
-show errors/lno/recyclobin  show user 

格式化查询结果:
-格式化列:修改列标题:col empno heading 员工名称
--格式化数字列col sal format $999.999.00
--格式化字符长度 col ename format a4
--格式化null col camm null 没有奖金
--控制格式化开关col sal off/on
--列出列显示属性 col sal  重新设置属性col sal clear 

SQL语言-------strucured query language结构化查询语言
-select   from-where-group by -having-select-order by
-SQL关键字编写规程:
--不区分大小写,对象名和列名不区分大小写;
--字符值和日期值区分大小写
--SQL语句可以分行显示 

用户模式------
-模式:一系列逻辑数据结构或对象的集合。模式对象:由用户创建的逻辑结构,用来存储或引用数据,比如表、索引、试图、过程。
--简单查询,查询所有列:1连接模式 conn scott/tiger 2 select * from dept;
--查询其他模式表:select * from soctt.emp;
--查询;多个表中数据: select * from dept,salgrade;
--查询特定列:select job,ename,empno from emp;
--为列指定别名: as 可写可不写 别名加上双引号
--select带表达式:select ename,sal,sal*(1+0.1) from emp;
--不显示重复列distinct  select distinct job from emp;
-选择行筛选查询: select empno,ename,sal from emp where sal>1500;
-like、not like   select empno,ename from emp where ename like 'S%';--%一个或多个字符   _一个字符 

--统计:
-select job,avg(sal),sum(sal),max(sal),count(job) from emp group by job;
having after group by 对分组进一步筛选,where后不能使用聚合函数 必须用having
select deptno as 部门编号,avg(sal) as 平均工资 from emp group by depton having avg(sal)>2000;
排序order by------asc desc  select deptno,empno,ename from emp order by deptno,,empno;
 

连接-----
-表别名select e.ename 员工姓名,d.dname 部门名称 from emp e,dept d where e.deptno=d.deptno and e.job='MANAGER';
-内连接 inner join   select e.name 员工姓名,d.dname 部门名称,e.job 职位
           from emp e join dept d on e.deptno=d.deptno;
-外连接--
--左外连接 left join  包含左表不符合条件的数据行  右外连接 right join
--完全外连接full join 左连接和右连接 消除重复部分
-自然连接 natural join 两个表中相同名称列 select ename sal from emp natural join dept where sal>2;
自然连接表不能使用别名 
-自连接--
-自参照表显示上下级或层次关系,不同列之间有参照或从属关系
select e2.ename 上层管理者,e1.ename 下属员工
from emp.e1 left join emp.e2 on e1.mgr = e2.empno;
-交叉连接 cross join  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值