您的位置:首页 > 职场人生

黑马程序员--------------java基础语法(—)------常量,变量,数据类型和运算符

2015-04-25 22:52 991 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 

1:常量

 (1)在程序执行的过程中,其值不发生改变的量

 (2)分类:

  A:字面值常量

  B:自定义常量(后面讲)

 (3)字面值常量

  A:字符串常量 "hello"

  B:整数常量 12,23

  C:小数常量 12.345

  D:字符常量 'a','A','0'

  E:布尔常量 true,false

  F:空常量 null(后面讲)

 (4)在Java中针对整数常量提供了四种表现形式

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

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

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

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

2:进制转换

 (1)其他进制到十进制

  系数:就是每一个位上的数值

  基数:x进制的基数就是x

  权:对每一个位上的数据,从右,并且从0开始编号,对应的编号就是该数据的权。

  

  结果:系数*基数^权次幂之和。

 (2)十进制到其他进制

  除基取余,直到商为0,余数反转。

 (3)进制转换的快速转换法

  A:十进制和二进制间的转换

   8421码。

  B:二进制到八进制,十六进制的转换

3:变量

 (1)在程序的执行过程中,其值在某个范围内可以发生改变的量

 (2)变量的定义格式:

  A:数据类型 变量名 = 初始化值;

  B:数据类型 变量名;

    变量名 = 初始化值;

4: 数据类型:

Java是一种强类型语言,针对每种数据都提供了对应的数据类型。

    1):基本数据类型:byte、short、int、long、float、double、char、boolean

    2):引用数据类型: 数组、类、接口。

级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double

自动类型转换:从低级别到高级别,系统自动转的;

强制类型转换:什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量;

 (3)基本数据类型

  A:整数   占用字节数

   byte   1

   short   2

   int    4

   long   8

  B:浮点数

   float   4

   double   8

  C:字符

   char   2

  D:布尔

   boolean   1

   

  注意:

   整数默认是int类型,浮点数默认是double。

   

   长整数要加L或者l。

   单精度的浮点数要加F或者f。

5:数据类型转换

 (1)boolean类型不参与转换

 (2)默认转换

  A:从小到大

  B:byte,short,char -- int -- long -- float -- double

  C:byte,short,char之间不相互转换,直接转成int类型参与运算。

 (3)强制转换

  A:从大到小

  B:可能会有精度的损失,一般不建议这样使用。

  C:格式:

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

 (4)思考题和面试题:

  A:下面两种方式有区别吗?

   float f1 = 12.345f;

   float f2 = (float)12.345;

  B:下面的程序有问题吗,如果有,在哪里呢?

   byte b1 = 3;

   byte b2 = 4;

   byte b3 = b1 + b2;

   byte b4 = 3 + 4;

  C:下面的操作结果是什么呢?

  
4000
 byte b = (byte)130;

  D:字符参与运算

   是查找ASCII里面的值

   'a'  97

   'A'  65

   '0'  48

   

   System.out.println('a');

   System.out.println('a' + 1);

  E:字符串参与运算

   这里其实是字符串的连接

   

   System.out.println("hello"+'a'+1);

   System.out.println('a'+1+"hello");

   System.out.println("5+5="+5+5);

   System.out.println(5+5+"=5+5");

6:(1)算术运算符+,-,*,/,%,++,--

A:%

当左边的绝对值小于右边:结果是左边
当左边的绝对值等于右边或者是右边倍数的时候:结果是0
当左边的绝对值大于右边:结果是余数,符号取决与左边的的符号
取余的正负号取决于左边,右边忽略不记
用途:任意正整数%2 结果是要么0,要么1。用于切换条件

B:++,--

递增,递减运算符。就是加1或者减1
单独存在,放在操作数的前面或者后面,结果一样
参与运算时:
放在变量的前面,先自身加或者减1,然后再参与运算
放在变量的后面,先参与运算,然后再自身加或者减1

C:+

作为数据的符号(正号)
做加法运算
字符串连接符"5 + 5 =" + (5 + 5);



(2)赋值运算符

  A:=,+=,-=,*=,/=,%=等

  B:=叫做赋值运算符,也是最基本的赋值运算符

   int x = 10; 把10赋值给int类型的变量x。

  C:扩展的赋值运算符的特点

   隐含了自动强制转换。

   

   面试题:

    short s = 1;

    s = s + 1;

    

    short s = 1;

    s += 1;

    请问上面的代码哪个有问题?

 (3)比较运算符

  A:==,!=,>,>=,<,<=

  B:无论运算符两端简单还是复杂最终结果是boolean类型。

  C:千万不要把==写成了=




 (4)逻辑运算符

  A:&,|,^,!,&&,||

  B:逻辑运算符用于连接boolean类型的式子

  C:结论

   &:有false则false

   |:有true则true

   ^:相同则false,不同则true。

    情侣关系。

   !:非true则false,非false则true

   

   &&:结果和&是一样的,只不过有短路效果。左边是false,右边不执行。

   ||:结果和|是一样的,只不过有短路效果。左边是true,右边不执行。




 (5)位运算符  A:^的特殊用法

   一个数据针对另一个数据位异或两次,该数不变

  B:面试题

   a:请实现两个变量的交换

    **采用第三方变量

    **用位异或运算符

     左边a,b,a

     右边a^b

   b:请用最有效率的方式计算出2乘以8的结果

    2<<3

 (6)三元运算符

  A:格式

   比较表达式?表达式1:表达式2;

  B:执行流程:

   首先计算比较表达式的值,看是true还是false。

   如果是true,表达式1就是结果。

   如果是false,表达式2就是结果。

  C:案例:

   a:比较两个数据是否相等

   b:获取两个数据中的最大值

   c:获取三个数据中的最大值

7、转义字符

    概念:通过 \ 来转变后面字母或符号的含义。
    常用转义字符:
        \b:退格  
        \n:换行
        \t:制表符,相当于tab键
        \r:回车
        \\:表示反斜杠
        \':表示单引号
        \":表示双引号
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  黑马程序员 java
相关文章推荐