局部变量:不是声明在类体括号里面的变量

(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面试第二天的更多相关文章

  1. JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结

    我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...

  2. 转:最近5年133个Java面试问题列表

    最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来 ...

  3. java面试宝典(蓝桥学院)

    Java面试宝典(蓝桥学院) 回答技巧 这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的学生在笔试/面试时更好地赢得好的结果.由于这套试题涉及的范围 ...

  4. JAVA面试精选【Java基础第一部分】

    这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童 ...

  5. Java面试必备知识

    JAVA面试必备知识 第一,谈谈final, finally, finalize的区别. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可 ...

  6. java面试和笔试大全 分类: 面试 2015-07-10 22:07 10人阅读 评论(0) 收藏

    2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java.lang.String类是final类型 ...

  7. 近5年133个Java面试问题列表

    Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入. 在我 ...

  8. java 面试

        115个Java面试题和答案——终极列表(上) 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一 ...

  9. JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结(转)

    hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加 ...

随机推荐

  1. 使用开源库 SVPullToRefresh 实现上拉加载下拉刷新

    SVPullToRefresh开源库地址 https://github.com/samvermette/SVPullToRefresh 将整个文件夹SVPullToRefresh拖入工程中并引入头文件 ...

  2. 逍遥法外第一季/全集How To Get Away With Murder迅雷下载

    英文译名 How To Get Away With Murder (第1季) (2014-09-26首播)ABC.本季看点: <逍遥法外又名:天才刑法班>由<实习医生格蕾>和& ...

  3. 唐顿庄园第一至五季/全集Downton Abbey迅雷下载

    本季Downton Abbey 1(2010)看点:ITV古装剧剧<唐顿庄园>由曾因<高斯福德庄园>而荣获奥斯卡的金牌编剧Julian Fellowes一手打造,明星云集的演员 ...

  4. [Hook] 免root,自己进程内,startActivity hook的几种姿势

    首先关于startActivity 我们平时会经常使用到 在activity内 直接startActivity(intent) 其实这里还有一种start方式 我们可能没怎么用过 getApplica ...

  5. 在LaTeX中使用颜色 Using colours in LaTeX

    Using colours in LaTeX There are several elements in LATEX whose colour can be changed to improve th ...

  6. executing external native build for cmake

    进一步调试的方法: 在Android studio下方打开terminal,然后: gradlew build --stacktrace

  7. iOS: 获取UITableViewCell上添加的子控件对应的cell

    一.简单介绍 UITableViewCell是UITableView的核心部分,我们在开发中因为功能的扩展经常需要自定义,以便在其上面添加子控件,例如button.label等.添加后获取这些子控件的 ...

  8. go语言之进阶篇单向channel特点

    1.单向channel特点 package main //"fmt" func main() { //创建一个channel, 双向的 ch := make(chan int) / ...

  9. C#中的枚举(Enum)你知道多少呢?

    写个随笔文章是最难想的,我要是写个C#枚举个人小结,估计博客园的各位园有也觉得是哪个刚接触C#的人写的,要是取个名字叫C#枚举,又觉得不能完全表达自己的意思,现在这个名字看起来还凑合吧,写篇文章不容易 ...

  10. Jetpack 架构组件 Lifecycle 生命周期 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...