zoukankan      html  css  js  c++  java
  • javase的一些基础(1)

      不同进制的数据表现:

                  二进制:由0,1组成。以0b开头。

                  八进制:由0,1,...7组成。以0开头。

                  十进制:由0,1,...9组成。默认整数是十进制。

                  十六进制:由0,1,...9,a,b,c,d,e,f(大小写均可)组成。以0x开头。

      数据类型分类:

                  A:基本数据类型

                  B:引用数据类型(类,接口,数组)

                 

           基本数据类型:4类8种

                  A:整数                  占用字节数

                         byte                1

                         short                 2

                         int                     4

                         long                   8

                        

                  B:浮点数

                         float                     4

                         double                  8

                        

                  C:字符

                         char                   2

                  D:布尔

                         boolean              1

                 

                  注意:

                         整数默认是int类型

                         浮点数默认是double类型。

                        

                         长整型后缀用L或者l标记。建议使用L。

                         单精度浮点数用F或者f标记。建议使用F。

      注意:

                  boolean类型不能转换为其他的数据类型

           默认转换(从小到大的转换)

                  A:byte,short,char—int—long—float—double

                  B:byte,short,char相互之间不转换,他们参与运算首先转换为int类型

      强制转换:

                  从大的数据类型到小的数据类型。

                 

                  格式:

                         目标数据类型 变量 = (目标数据类型) (被转换的数据);

                        

                  注意:

                         不要随意的去使用强制转换,因为它隐含了精度损失问题。

      面试题:

                  byte b1=3,b2=4,b;

                  b=b1+b2;

                  b=3+4;

                  哪句是编译失败的呢?为什么呢?

                  b = b1 + b2;是有问题的。

                  因为变量相加,会首先看类型问题,最终把结果赋值的也会考虑类型问题。

                  常量相加,首先做加法,然后看结果是否在赋值的数据类型范围内,如果不是,才报错。

      面试题:

                  short s=1;s = s+1;

                 

                  short s=1;s+=1;

                  上面两个代码有没有问题,如果有,那里有问题。

                 

                  为什么第二个木有问题呢?

                         扩展的赋值运算符其实隐含了一个强制类型转换。

                        

                         s += 1;

                         不是等价于 s = s + 1;

                         而是等价于 s = (s的数据类型)(s + 1);

      switch:表示这是switch选择结构

                  表达式:这个地方的取值是有限定的

                         byte,short,int,char

                         JDK5以后可以是枚举

                         JDK7以后可以是字符串

      面试题:

                  byte可以作为switch的表达式吗?

                  long可以作为switch的表达式吗?

                  String可以作为switch的表达式吗?

      控制跳转语句:

                  break:中断, 跳出单层循环

                  continue:继续, 跳出一次循环,进入下一次的执行

                  return:返回, 其实它的作用不是结束循环的,而是结束方法的。

      方法重载:

                  在同一个类中,方法名相同,参数列表不同。与返回值类型无关。

                 

                  参数列表不同:

                         A:参数个数不同

                         B:参数类型不同

      Java中的参数传递问题:

                  基本类型:形式参数的改变对实际参数没有影响。

                  引用类型:形式参数的改变直接影响实际参数。

      

      代码块:在Java中,使用{}括起来的代码被称为代码块。

             根据其位置和声明的不同,可以分为

                  局部代码块:局部位置,用于限定变量的生命周期。

                  构造代码块:在类中的成员位置,用{}括起来的代码。每次调用构造方法执行前,都会先执行构造代码块。

                         作用:可以把多个构造方法中的共同代码放到一起,对对象进行初始化。

                  静态代码块:在类中的成员位置,用{}括起来的代码,只不过它用static修饰了。

                         作用:一般是对类进行初始化。

                        

           面试题?

                  静态代码块,构造代码块,构造方法的执行顺序?

                  静态代码块 -- 构造代码块 -- 构造方法

                  静态代码块:只执行一次

                  构造代码块:每次调用构造方法都执行

  • 相关阅读:
    [java初探06]__排序算法的简单认识
    [java初探05]__数组的简单认识及Arrays类的常用方法
    [java工具类01]__构建格式化输出日期和时间的工具类
    [Java初探04]__字符串(String类)相关
    [Java初探实例篇02]__流程控制语句知识相关的实例练习
    【Java初探03】——流程控制语句
    iOS ipv6 被拒
    iOS工程中如何去掉第三方的警告
    iOS面试准备之思维导图(转)
    UML图基本类型
  • 原文地址:https://www.cnblogs.com/lenbore/p/4749520.html
Copyright © 2011-2022 走看看