java面试第二天
局部变量:不是声明在类体括号里面的变量
(1)必须要先赋值,后使用,否则通不过编译,局部变量没有默认初始化值
(2)作用范围:定义开始到定义它的代码块结束
(3)同一范围内,不允许2个局部变量命名冲突
参数传递时,简单类型进行值转递 (参数进行传递时都会先去栈中生成一个副本的,使用结束后释放)
自动类型提升:
byte a = 1;
byte b = 2;
a = a+b; //编译出错自动类型提升成int
a += b; //自加没有自动类型提升问题
类型自动提升规则:
a和b作某种运算
a和b中有double,结果就是double
a和b中有float,结果就是float
a和b中有long,结果就是long
除此之外,结果都是int
把高字节转成低字节,需要作强制类型转换. byte c=(byte)a+b;
移位运算符:效率最高
>> 有符号右移,补符号位
移负数位,则将该数值加32后再进行移位
数值的2进制是按照补码保存的
>>> 右移后高位都补0
逻辑运算符:
&/|也可以作为逻辑运算符
&& 先判断前面一个条件,如果为假,则不用计算后一个条件
|| 先判断前面一个条件,如果为真,则不用计算后一个条件
" + "运算符:
两个操作的对象是数值时,是加法
如果有一个是字符串时,则是字符串的连接
流程控制语句:
同Core C++
switch中的变量类型只能是byte、 short、int、char四种类型以及enum类型
switch(exp) exp 可以是整形表达式或者enum类型数据
数组:
声明数组:
数组能以下列形式声明:
类型[] array;
类型 array[];
注:
JAVA中推荐用:类型[] array;
一个数组是一个对象
声明一个数组没有创建一个对象
声明时不用指定长度
创建数组:
创建基本数据类型数组:int[] i = new int[2];
创建引用数据类型数组:Student[] s = new Student[100];
数组创建后其中的元素有初始值
类型 黙认值
byte 0
short 0
int 0
long 0l
float 0.0f
double 0.0d
char \u0000
boolean false
reference types null
注:
创建时一定要指定长度
int[] i2=new int[]; //error
初始化数组:
声明、创建、初始化分开:
int[] i; //定义数组
i = new int[2]; //分配空间
i[0] = 0; //初始化
i[1] = 1;
声明、创建、初始化在同一时间 :
int[] i = {0,1}; //显示初始化 {}中有几个值,则数组长度为几
Student[] s = {new Student(),new Student()};
注: int[] i=new int[]{1,2,3}; //后面[]中不可以写数值
int[] i1=new int[3]{1,2,3}; //error
二维数组:(其实是一个一维数组,它的每一个元素又是一个一维数组)
int[][] i1 = new int[2][3];
int[][] i4 = {{1,1,1},{2,2,2},{3,3,3}};
int[][] i3 = new int[][3]; //不允许高维没分配空间而先给低维分配空间
int[][] i2 = new int[2][];
i2[0] = new int[2];
i2[1] = new int[3];
数组长度:
数组的属性length
数组长度一旦确定,不可改变
int[] i = new int[5]; 则i.length= 5
数组拷贝:
系统类System提供的
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src: 源数组
srcPos: 从源数组哪个位置开始拷贝(位置指的是元素的下标)
dest: 目标数组
destPos: 拷贝的元素放到目标数组的起始位置
length: 拷贝多少个
数组排序:
自己实现一个排序方法来进行排序
或者调用java.util.Arrays.sort(Object o)
java面试第二天的更多相关文章
- JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结
我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...
- 转:最近5年133个Java面试问题列表
最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来 ...
- java面试宝典(蓝桥学院)
Java面试宝典(蓝桥学院) 回答技巧 这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的学生在笔试/面试时更好地赢得好的结果.由于这套试题涉及的范围 ...
- JAVA面试精选【Java基础第一部分】
这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童 ...
- Java面试必备知识
JAVA面试必备知识 第一,谈谈final, finally, finalize的区别. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可 ...
- java面试和笔试大全 分类: 面试 2015-07-10 22:07 10人阅读 评论(0) 收藏
2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java.lang.String类是final类型 ...
- 近5年133个Java面试问题列表
Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入. 在我 ...
- java 面试
115个Java面试题和答案——终极列表(上) 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一 ...
- JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结(转)
hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加 ...
随机推荐
- 基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
在ipad.iphone网页开发中,我们很可能需要判断是横屏或者竖屏.下面就来介绍如何用 jQuery 判断iPad.iPhone.Android是横屏还是竖屏的方法 其实主要是通过window.or ...
- Java Swing 使用非本地字体
package reyo; import java.awt.Container; import java.awt.Font; import java.awt.FontFormatException; ...
- SharePoint 2013 workflows stop working (Failed on started.)
前言 最近,使用工作流的时候碰到了一个问题,突然间所有工作流都无法启动,报错Failed on started. 同时,工作流内部报错,工作流被系统账号取消了. 查了很久,发现系统打了windows ...
- 犯罪心理第八季/全集Criminal Minds迅雷下载
本季Criminal Minds Season 8(2012)看点:新季预告一名犯人突发急病,他被送上救护车,救护车在途中发生车祸.犯人对押送他的警官痛下毒手,BAU小组成员再次聚集起来.BAU开始分 ...
- 哥谭第一季/全集Gotham迅雷下载
哥谭市 第一季 Gotham (2014)本季看点:<哥谭镇>将由丹尼·加农掌镜,布鲁诺·海勒执笔剧本.电视剧集<哥谭>可以说<蝙蝠侠>的前传,剧集描述的是DC漫画 ...
- 解决Using 1.7 requires compiling with Android 4.4 (KitKat); currently using API 4
有时候我们可能需要将项目的版本降低,比如4.4降低到2.2这样的,可能会遇到类似于这样的错误 Using 1.7 requires compiling with Android 4.4 (KitKat ...
- X、Y轴抖动的动画
实现这个动画效果用到了interpolator属性,这样就能让一些控件产生自定义的抖动效果 这是用作interpolator的文件,用来做动画循环 cycle.xml <?xml version ...
- [转] hive0.14-insert、update、delete操作测试
FROM : http://blog.csdn.net/hi_box/article/details/40820341 首先用最普通的建表语句建一个表: hive>create table te ...
- [转]专访企业QQ SaaS团队,谈企业级LNMP架构设计
FROM : http://www.csdn.net/article/2014-08-20/2821302-interview-tencent-b-qq-shuai-wang 对比IaaS和PaaS, ...
- .Net-using-Class:MemoryCache 类
ylbtech-.Net-using-Class:MemoryCache 类 初始化 System.Runtime.Caching.MemoryCache 类的新实例. 1. 程序集 System.R ...