当前位置: 首页 > news >正文

优惠券网站制作教程/百度平台商家我的订单查询

优惠券网站制作教程,百度平台商家我的订单查询,wordpress站点标题字体,怎么卸载wordpress目录 1,交换两个变量值,不引入第三个变量。 2,类初始化实例化过程。 3,几个笔试题 4,数据库表A和表B的数据合并(笛卡尔积) 1,交换两个变量值,不引入第三个变量。 vo…

目录

1,交换两个变量值,不引入第三个变量。

2,类初始化实例化过程。

3,几个笔试题

4,数据库表A和表B的数据合并(笛卡尔积)


1,交换两个变量值,不引入第三个变量。

void swap1(int a,int b)
{
    a = a + b;
    b = a - b;
    a = a - b;
}
void swap2(int a,int b)
{
    a = a * b;
    b = a / b;
    a = a / b;
}
void swap3(int a,int b)
{
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
}

异或位运算效率最高,不越界。

使用位运算交换两个数,是利用了异或的自反性: a^b^b=a^0=a;

1.与运算(&)

运算规则:0&0=0;   0&1=0;    1&0=0;     1&1=1;

       即:两位同时为“1”,结果才为“1”,否则为0

例如:3&5  即 0000 0011 & 0000 0101 = 0000 0001   因此,3&5的值得1。

例如:9&5  即 0000 1001 (9的二进制补码)&00000101 (5的二进制补码) =00000001 (1的二进制补码)可见9&5=1。

2.或运算(|)

规则:0|0=0;   0|1=1;   1|0=1;    1|1=1;

   即 :参加运算的两个对象只要有一个为1,其值为1。

例如:3|5 即 0000 0011 | 0000 0101 = 0000 0111   因此,3|5的值得7。 

例如:9|5可写算式如下: 00001001|00000101 =00001101 (十进制为13)可见9|5=13

3.异或运算(^)

运算规则:0^0=0;   0^1=1;   1^0=1;   1^1=0;

  即:参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。

使用异或操作两个相等的数异或的结果为 00 与任何一个数异或的结果为这个数。

例如:9^5可写成算式如下: 00001001^00000101=00001100 (十进制为12)可见9^5=12  

2,类初始化实例化过程。

面试题图片2

如题,分析下运行main函数会输出什么呢?

直接滑道底部查看答案,对了你就不用看喽 --<-<-<@

主要以下三个考点

  1. 类初始化过程

       都说了孕妇优先,一个类要创建实例而需要先加载,main这个方法所在的类需要先加载初始化。

子类想初始化得先通过老子,不初始化老子哪来的小子。初始化类就是《clinit》方法,一次就好哦,静态变量-->静态代码块

  1. 实例初始化过程

       实例初始化就是《init》方法,有几个构造器就有几个《init》方法,init方法包含静态变量赋值+静态代码块+对应构造器代码

每次创建对象,调用对应构造器执行对应的init方法,init方法首行是super()也就是对应父类init方法。

  • 子类super()方法。。。最前
  • 静态变量、静态代码块
  • 子类无参构造函数。。。最后
  1. 重写方法

那些方法不会被重写?

final方法+静态方法+private等子类中不可见方法对象

对象的多态性

  子类如果重写了父类的方法,通过子类对象调用的一定是子类自己重写过的方法。

  非静态方法 默认 调用的调用对象是 tihs

  this对象在构造器或者说《init》方法中就是正在创建的对象

3,几个笔试题

1.下面程序的输出结果是()

A.0 B.99 C.100 D.101 

解析:由于Java中用了中间变量缓存机制,则类似i=i++就类似

temp=j; -------->   j=j+1; ------------> j=temp; 所以 上面的题j还是0;

 

2.以下代码的执行结果是多少?

public void test2() {int i=0;i=i++ + ++i;System.out.println("i="+i);}

解析:i++和++i使用的不同点在于一个是程序完毕后自增,一个是程序开始之前自增。此时这个问题就是i++,但是先不自增,此时I还是0,然后执行++i,这时候i变成1,执行完成补一下之前i++的加一,此时i实际上就是2.则0+2赋值给i,最终i=2.

3.以下代码的执行结果是多少?

public void test5() {int j=0;j = ++j + j++ + j++ + j++;System.out.println("i="+j);}

解析:首先有了基础知道(++j=1)+  (j++=1)‘‘^{^{}}j=2’’  +(j++=2)‘‘^{^{}}j=3’’ +(j++=3)‘‘^{^{}}j=4’但是赋值运算1+1+2+3=7.’ 

这里为什么i++没有自增?

i=i++;

实质上我们可以将i++与++i对比下

i++的情况 

iload_1 
iinc 1,1 
istore_1 

++i的情况

iinc 1,1 
iload_1 
istore_1


jvm两个存储区,一是暂存区(堆栈),另一个是变量区。 

语句istore_1是将堆栈中的值弹出存入相应的变量区(赋值);语句iload_1是将变量区中的值暂存如堆栈中。

i = i++;是先将i的值(0)存入堆栈,然后对变量区中的i自加1,这时i的值的确是1,但是随后的istore_1又将堆栈的值(0)弹出赋给变量区的i,所以最后i = 0。

 而i = ++i;是先对变量区中的i自加1,然后再将变量区中i的值(1)存入堆栈,虽然最后执行了istore_1,但也只是将堆栈中的值(1)弹出赋给变量区的i,所以i = ++i;的结果是i = 1。先将变量区的i值存入堆栈区,变量区的i再自增1,最后由于是赋值操作,从堆栈区取出i值赋给变量区。因此i依然为最开始保存在堆栈区的i值。

4,数据库表A和表B的数据合并(笛卡尔积)

sql server中如何将表A 和表B的数据合并成乘积方式,也就是说表A有2条数据,表B有3条数据,乘积后有6条数据,

这就要用到sql中的笛卡尔积方式了

1、什么是笛卡尔积

  笛卡尔积在SQL中的实现方式既是交叉连接(Cross Join)。所有连接方式都会先生成临时笛卡尔积表,笛卡尔积是关系代数里的一个概念,

表示两个表中的每一行数据任意组合。如果分步骤理解的话,内连接可以看做先对两个表进行了交叉连接后,再通过加上限制条件(SQL中通过关键字on)

剔除不符合条件的行的子集,得到的结果就是内连接了

2、实现方式

--1、创建模拟的数据表---
--1.1)产品分类表
create table GoodsCate(Mid int not null,Code varchar(10) not null,Name varchar(20) not null,
)
--1.2)产品类别表
create table GoodsLevel(Mid int not null,Name varchar(10) not null
)--2、添加模拟数据--
--2.1)添加产品分类数据
insert into GoodsCate(Mid,Code,Name) values(1,'6801','电子仪器')
insert into GoodsCate(Mid,Code,Name) values(2,'6802','激光仪器')
insert into GoodsCate(Mid,Code,Name) values(3,'6803','扫描仪器')
--2.2)添加产品类别数据
insert into GoodsLevel(Mid,Name) values(1,'Ⅰ类')
insert into GoodsLevel(Mid,Name) values(2,'Ⅱ类')
insert into GoodsLevel(Mid,Name) values(3,'Ⅲ类')--3、查询数据表--
select * from GoodsCate
select * from GoodsLevel --4、简单的笛卡尔积使用--
select * from GoodsCate A
cross join GoodsLevel B

 

3、显示查询结果

那如何我要显示产品编码+产品类别(6801_1), 最后数据为这样格式,该怎么修改呢?

6801_1    6801    电子仪器    Ⅰ类
6802_1    6802    激光仪器    Ⅰ类
6803_1    6803    扫描仪器    Ⅰ类
6801_2    6801    电子仪器    Ⅱ类
6802_2    6802    激光仪器    Ⅱ类
6803_2    6803    扫描仪器    Ⅱ类
6801_3    6801    电子仪器    Ⅲ类
6802_3    6802    激光仪器    Ⅲ类
6803_3    6803    扫描仪器    Ⅲ类

--5、查询经营范围(6801_1)方法--
select (CAST(A.Code as varchar(20))+'_'+CAST(B.Mid as varchar(20))) CateLevel,
A.Code CateCode,A.Name CateName,B.Name LevelName 
from GoodsCate A
cross join 
GoodsLevel B

最后结果

ps:

详细了解笛卡尔积网址:http://www.360doc.com/content/14/1229/21/7635_436727229.shtml

平时多记记,到用时才能看看,记录你的进步,分享你的成果

http://www.jmfq.cn/news/4960819.html

相关文章:

  • wordpress 友链/湘潭seo公司
  • 网站怎么做解析/seo网站排名推广
  • 京美建站/新闻头条今日要闻10条
  • 一个网站需要几个人做/最近新闻摘抄50字
  • 医院网站可信认证必须做吗/厦门seo排名
  • 创意网站建设/郑州网站开发公司
  • 陕西建设厅官网系统平台/东莞网站seo推广
  • 弹簧机 东莞网站建设/关键词优化公司哪家推广
  • 网站建设公司的业务规划/成都高新seo
  • 一屏网站模板下载 迅雷下载 迅雷下载地址/电商网站模板
  • 四线城市做网站建设怎么样/怎么提交网址让百度收录
  • 全球电子商务网/徐州网页关键词优化
  • 哪个网站做头像比较好/网络营销服务的特点
  • 公司产品网站应该怎么做/seo搜索排名
  • 网站备案为什么这么慢/企业网站制作模板
  • 建设厅安全员/教程推广优化网站排名
  • 网站建设综合实训/网站监测
  • 专门做儿童的店铺网站/360指数查询工具
  • 看b站视频软件24小时免费下载/html制作网页代码
  • 滕州市做网站/太原seo快速排名怎么样
  • 长沙旅游网站开发/网站关键词排名快速提升
  • 社团的工商年检网站在哪里做/广东seo快速排名
  • 公司入口网站app/aso网站
  • 厦门石材网站建设/企业品牌类网站有哪些
  • 公司网站建设需求书/百度广告投放价格表
  • 张家口网站设计/怎么自己做网站
  • 有路由器做网站/seo是什么?
  • 动漫制作专业属于什么大类/seo新闻
  • 龙岩企业网站建设制作/莱阳seo排名
  • 北京建网站 优帮云/非企户百度推广