欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java面试必备之语言基础 博客分类: java基础  

程序员文章站 2024-03-25 16:24:16
...

   Java语言基础

一、数据类型

   在Java中数据类型分为基本数据类型和引用数据类型。8种基本数据类型如下所示:


java面试必备之语言基础
            
    
    博客分类: java基础  
 

(1)整数类型

     整形数据有3种表示形式,分别为八进制、十进制、十六进制。

     十进制:不能以0作为十进制的开头(0除外);

     八进制:八进制必须以0开头;

     十六进制:十六进制必须以0x0X开头。

     二进制:二进制以0b开头(jdk1.7开始)。

整数直接量默认为int型,不能超范围,否则会编译错误;两个整数相除,结果还是整数,小数位无条件舍弃;运算时超出范围会发生溢出,溢出是需要避免的;

(2)浮点类型

     默认情况下小数都被看作是double型,若使用float型则需在小数后面添加Ff

精确运算场合不能使用doublefloat而要使用BigDecimal

常考问题:

(3)字符类型

     采用Unicode编码(unicode编码单元可以表示为十六进制值,\u000-\ufff),每个字符(char)都有一个对应的码(int);表现形式为char字符,实质上是int码;字符必须放在单引号中,有且仅有一个;特殊符号需通过\来转义。

     unicode/utf-8/utf-16区别:其实Unicode涉及到两个步骤,首先是给所有的字符指定一个唯一对应的数字(Unicode是用0至65535之间的数字来表示所有字符).第二步才是怎么把字符对应的数字以二进制保存在计算机中,于是就有utf-8/utf-16.
     UTF-16比较好理解,就是任何字符对应的数字都用两个字节来保存.当用UTF-8来表示一个字符时是可变的,有可能是用一个字节表示一个字符,也可能是两个,三个。

(4)布尔类型

Boolean只有truefalse两个值。整型值与布尔值之间不能进行相互转换。

(5)基本类型间的转换

     类型从小到大依次为:

      byte,short,int,long,float,double

              char

注意:long是8个字节,float是4个字节。但整数和浮点数的存储规则不一样,long的范围是小于float的。

  1)两种方式:

    1.1)自动类型转换:从小类型到大类型

    1.2)强制类型转换:从大类型到小类型,强转有可能会溢出和精度丢失

  2)两点规则:

    2.1)整数直接量可以直接赋值给byte,short,char,但不能超范围

2.2)byte,short,char型变量参与运算时,先一律转为int再运算

基本数据类型之间的转换(必看,经常容易考到):

http://blog.csdn.net/sky_ground/article/details/49738761

38种基本类型取值范围和占用内存如下:


java面试必备之语言基础
            
    
    博客分类: java基础  
 

二、常量与变量

        在程序执行过程中,其值不能被改变的称为常量,其值能被改变的称为变量。常量与变量的命名必须使用合法的标识符。命名规则为:只能包含字母、数字、_$符,并且不能以数字开头;严格区分大小写;不能使用关键字;可以中文命名,但不建议,建议"见名知意""驼峰命名法"常量通过final关键字进行限定,常量必须声明的同时初始化。

三、运算符

        Java中的运算符可以分为以下几组:

       算术运算符,关系运算符,逻辑运算符,赋值运算符,位运算符,其它运算符。

       (1)赋值运算符(=,+=,-=,*=,/=,%=

            赋值运算符处理时会先取得右方表达式的结果,因此如果有多个赋值运算会从最右方的“=”开始处理。

      (2)算术运算符(+,-,*,/,%,++,--

       整数被0除将会产生一个异常,而浮点数被0除将会得到无穷大或NaN(0.0/0)结果.

      (3)关系运算符(<>==!=>=<=

       (4)逻辑运算符(&&||、!)

          逻辑运算是建立在关系运算基础之上的,逻辑运算的结果也是boolean型。&&为短路与,如果左边表达式为假时不会去判断右边的表达式,非短路与(&)会始终执行两边的表达式。

     (5)位运算符

          “按位与”(&):双目运算符,如果两个整型数据对应位都是1,则结果位才是 1,  否则为0.

          “按位或”(|):双目运算符,如果两个操作数对应位都是0,则结果位才是0,否则为1.

          “按位取反”(~):单目运算符,就是将操作数二进制中的1修改为0,0修改为1.

          “按位异或”(^):双目运算符,当两个操作数的二进制表示相同时(同为0或者同为1),结果为0,否则为1.

位移操作:

<<:左移,一个数左移n位,可以实现乘以2^n

>>:右移,一个数右移n位,可以实现除以2^n

>>>:无符号右移

     (6)其他

          字符串拼接:+

          三目运算符:boolean?1:2

      (7)运算符优先级如图:


java面试必备之语言基础
            
    
    博客分类: java基础  
 

 

<!--EndFragment-->
  • java面试必备之语言基础
            
    
    博客分类: java基础  
  • 大小: 133.3 KB
  • java面试必备之语言基础
            
    
    博客分类: java基础  
  • 大小: 10 KB
  • java面试必备之语言基础
            
    
    博客分类: java基础  
  • 大小: 210.2 KB