黑马程序员面试题之JAVA基础

-------  android培训 java培训 、期待与您交流! ----------  

一.java中的标识符

定义合法标识符规则:

(1)由26个英文字母大小写,数字,0~9和符号_组成。
(2)数字不可以开头。
(3)不可以使用关键字(保留字)如 class public等.
(4)java中严格区分大小写。
(5)为提高阅读性,起名字尽量有意义 即见名知义。
 

java中的名称规范:

(1)包名:多单词组成时所有字母都小写。如:xxxyyyzzz
(2)类名,接口名:多单词组成时,所有单词的首字母大写。如:XxxYyyZzz
(3)变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。如:xxxYyyZzz
(4)常量名:所有字母都大写,多单词时每个单词用下划线分开.如:XXX_YYY_ZZZ

二.java中的关键字

class:类 interface接口 byte:字节 short:短整型 int:整型 long:长整型  float:浮点数 double:双浮点数 char:字符型  boolean:布尔型 void:无返回值   true:成立 false:不成立 null:空if:如果 else:或者 switch:选择 case:选项 default::默认    while:当..时 do:做    for:为 break:停止 continue:继续 return:返回   private:私有的 protected:受保护的 public:公有的   默认(default)  abstract 抽象  final 不变   static静态   synchronized 线程同步   extends 继承   implements 实现   new新建   this本类  super父类  instanceof 属于   try方法区  catch处理区 finally一定执行区  throw方法内抛出  throws 方法上抛出 package包  import引入包   native 本地方法

三. java数据类型

数值型:整数型(byte,short,int,long) 浮点型(float,double)字符型(char)布尔型(boolean)

byte :-128 ~ 127 

short  -32768~ 32767

chart  0~ 65535

引用数据类型  类(class) 接口(interface)  数组([])

四.运算符

1.赋值运算符:=    +=   -=   *=   /=    %=  ;

2..比较运算符:==, !=, <,>, <= ,>=

3.逻辑运算符:  

        &  与       false&true  ->  false 无论左边是true是false,右边都运算

         |   或          false|true   ->  true 两边都参与运算

         ^   异或       false^true   ->  true  两边相同为真 不同为假

         !    非           !true      ->  false

         && 与短路    false&&true -> false 当左边为false时,右边不运算。

         ||  非短路     false||true  ->  true  当两边都为true,右边不运算。

 4.位运算符:

          <<    左移           3 << 2 = 12 --> 3*2*2=12//就是乘以2的移动的位数次幂

          >>    右移           4 >> 1 = 2 -->2  4/2 =  2  //就是除以2的移动的位数次幂

          >>> 无符号右移      3>>>1 = 1 -->3/2=1//无论最高位是什么,右移后,都用0补空位.

    &     与运算          6 & 3 = 2      就是2进制的真假运算。

    |       或运算         6 | 3  = 7     

    ^       异或            6 ^ 3 = 5   

    ~       反码            ~6 = -7      

 

5.三元运算符:

       格式:(条件表达式 )? 表达式1 :表达式2
       若条件为true,运算结果为表达式1;
       若条件为false,结果为表达式2;

五. 语句

  1.if语句:

   三种格式:

   if(条件表达式){执行语句;}

   if(条件表达式){执行语句;}else{执行语句;}

   if(条件表达式){执行语句;}else if{执行语句;}else{执行语句;}

  2.switch语句

  switch(表达式)

  {

   case取值1:

    执行语句;

    break;

   case取值2:

    执行语句;

    break;

   ......

   default:

    执行语句;

    break;

  }

 3. 循环结构:

 (1)while语句:

   while (条件表达式)

   {

    执行语句;

   }

  

   特点:先判断条件,只有条件满足时才执行循环体。

 (2)do while语句:

   do

   {

    执行语句;

   }while(条件表达式);

   特点:无论条件表达式是否成立,循环都先执行一次。

 (3)for语句:

   for(初始化表达式;循环条件表达式;循环后的操作表达式)

   {

    执行语句;

   }

  特点:初始化表达式只读一次,判断循环条件为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,   重复真到条件不满足为止。

六.函数

   1.定义;

    函数就是定义在类中的具有特定功能的一段独立小程序,也称方法。

   2.函数的格式:

   修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,..)

        {

          执行语句;

          return 返回值;

        } 


          返回值类型:函数运行的结果的数据类型。
          形式参数:是变量,用于存储调用函数传递给函数的实际参数。
          参数类型:是形式参数的数据类型。
          return :结束函数,
          返回值:将值返回给调用者。
  函数的特点:
  (1)定义函数可以将功能代码进行封装
  (2)便于对该功能进行复用
  (3)函数只有被调用才会被执行
  (4)函数的出现提高了代码的复用性

  (5)对于函数没有具体返回值的情况,返回值类型用关键 字void表示,那么该函数中的return语句如果在最后一     行可以省略不写。、

  重载:
  (1)重载的概念: 
  在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。
  (2)重载的特点:与返回值类型无关,只看参数列表。
  (3)重载的好处:方便于阅读,优化程序设计。
  (4)什么时候用重载?
  当定义的功能相同,但参与运算的未知内容不同,那么这时就定义一个函数名称以表示其功能,

  方便阅读,而通过参数列表的不同来区分多个同名函数。

 七.数组

格式:
   格式1:元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
   示例:int[] arr = new int[5];

  格式2:元素类型[] 数组名 = new 元素类型[]{元素,元素......};
   示例:int[] arr = new int[]{3,5,7,8};           int[] arr = {3,8,4,9};

  数组的常见操作:
  (1)遍历:
  int[] arr = {4,58,7,9};
  for(int x=0;x<arr.length;x++)
  {
   System.out.println("arr[" + x + "]=" + arr[x] + ",");
  }

二维数组;
  (1)格式1:int[][] arr = new int[3][2];
   
   二维数组中有3个一维数组,每个数组中有2个元素。
   给第一个一维数组1角标位赋值:arr[0][1] = 78;

  (2)格式2:int[][] arr = new int[3][];
   二维数组中有3个一维数组,每个一维数组都是默认初始化值null,
   对这三个一维数组分别进行初始化:
   arr[0] = new int[3];
   arr[1] = new int[1];
   arr[2] = new int[2];

 

  java中的内存结构:
  java在启动时,在内存中划分了五个区域,每个区域都有特定的处理数据方式和内存管理方式。

  (1)栈内存
  用于存储局部变量,当数据使用完,所占空间会自动释放。对象的引用也存放在栈内存。
  (2)堆内存
  数组和对象,通过new建立的实例都存放在堆内存中
  每一个实体都有内存地址值(即存放位置)
  实体中的变量都有默认初始化值(实体是用来封装数据的)
  实体不再被使用,会在不确定的时间内被垃圾回收器回收
  (3)方法区.
  (4)本地方法区,
  (5)寄存器。




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值