黑马程序员——第一篇- 常量、变量、运算符

     ------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a

     href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------


一、常量

         1:什么是常量

                   在程序的执行过程中其值不发生改变的量。             

         2:Java中常量的分类     

                   (1):字面值常量

                   (2):自定义常量

3:字面值常量的分类

                   (1):字符串常量    用双引号括起来的内容                 "HelloWorld","Hello"

                   (2):整数常量         所有整数                                               12,23

                   (3):小数常量         所有小数                                               12.34,56.78

(4): 字符常量         用单引号括起来的内容               'a','A','0' 

                   (5):布尔常量         较为特有,只有truefalse

                   (6):空常量               null

常量程序演示:

二、进制概述

1:什么是进制

就是进位制,是人们规定的一种进位方法。

            二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。

         2:二进制的由来

         3:八进制的由来

         4:十六进制的由来

         5:不同进制表现同一个数据的形式特点

                   进制越大,表现形式越短

 

三、不同进制数据的表现形式及进制转换

         A:二进制的数据表现形式

                   0,1组成。                                               0b开头(1.7版本新特性,b可以大写0B)

         B:八进制的数据表现形式

                   0,1,7组成。                                       0开头

         C:十进制的数据表现形式

                   0,1,9组成。                                       整数默认是十进制的

         D:十六进制的数据表现形式

                   0,1,9,a,b,c,d,e,f(大小写均可)  0x开头(x可大写)

1:任意进制转换十进制图:

 

2:十进制转换成任意进制图:

 

 

四、原码反码补码的讲解

         1:为什么要讲解有符号数据表示法

                  为了更好了理解计算机底层是如何做运算的。

         2:有符号数据表示法

                   所有数据的运算都是采用补码进行的。             

3:原码

就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

         4:反码

                   正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

         5:补码

                   正数的补码与其原码相同;负数的补码是在其反码的末位加1

图解:+7-7的原、反、补码

 

 

五、变量的概述及格式

         1:什么是变量

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

                   变量其实是内存中的一小块区域

         2:为什么要定义变量

                   用来不断的存放同一类型的常量,并可以重复使用

         3:变量的定义格式

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

六、数据类型的概述和分类

         1:Java中数据类型的分类

                   (1):基本数据类型

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

         2:基本数据类型的详细讲解(48)

                   (1):整数型                         字节数                      范围

                             byte                  1(8bit)               -128  ~  127

                              short                2(16bit)             -2^15 ~  2^15 - 1

                              int                      4(32bit)              -2^31~  2^31 - 1

                              long                   8(64bit)              -2^63 ~  2^63 - 1

                   (2)浮点数

                        float              4(32bit)               -3.403*10^38  ~ 3.403*10^38                              

     double              8(64bit)             -1.798*10^308 ~ 1.798*10^308

(3): 字符型   char   2(16bit)             0 ~ 2^16 - 1 = 65535

(4): 布尔型   boolean      1

 

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

程序演示不同数据类型:

 

 

七、使用变量的注意事项

                   a:作用域问题

                             变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。

相同的作用域中不能定义两个同名变量。

                   b:初始化值问题

                            没有初始化值不能直接使用

                   c:在一行上建议只定义一个变量

                            可以定义多个,但是不建议

八、数据类型转换

     1:隐式转换

Java中的默认转换规则

                   (1): boolean类型不能转换为其他的数据类型

                   (2):byte,short,char—int—long—float—double

                   (3): byte,short,char之间不转换,他们参与运算首先转换为int类型

  2:强制转换的格式

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

                   尽量不要使用强制类型转化,因为可能存在损失精度的问题。

思考题1

                   doubled = 12.345;

                   floatf = d;         可能损失精度      

         思考题2

                   floatf1 = (float)12.345;   double类型的数据强转为float类型

                   floatf2 = 12.345f;  定义的float数据

         思考题3:看下面的程序是否有问题,如果有问题,请指出并说明理由。

                   byteb1 = 3;

                   byteb2 = 4;

                   byteb3 = b1 + b2;

                   byteb4 = 3 + 4;

      那么byte b5 = b1+1;   ?

       编译问题 b1+b2是变量变量做运算在编译时期编译器不确定b1+b2是多少 

会将加后的结果以默认类型int来处理.

常量是不变的,编译器就已经知道了3+4的结果,然后检查得到的结果是不是在byte范围内

常量与变量相加,会变成变量的数据类型  

九、字符参及字符串与运算

         1:案例演示

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

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

         2:ASCII码表的概述

                            '0'    48

                            'A'    65

                            'a'    97

3:案例演示

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

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

         4:+在有字符串参与中被称为字符串连接符

                   找学生提问:

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

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

十、算术运算符的基本用法

         1:什么是运算符

                   对常量和变量进行操作的符号称为运算符

         2:运算符的分类

                   算术运算符                                

                   赋值运算符

                   比较运算符

                   逻辑运算符

                   位运算符

                   三目运算符

         3:算数运算符有哪些

                   +, - , * , / , % , ++ , --

         注意事项:

                   a:整数相除只能得到整数。如果想得到小数,请使用浮点数

                   b:/获取的是除法操作的商,%获取的是除法操作的余数

                     %运算结果的符号,取决于参与运算是左边的符号

         4:++,--运算符的作用

                   自加(++)自减(--)运算

                   ++:自加。对原有的数据进行+1

                   --:自减。对原有的数据进行-1

         5:注意事项:

                   a:单独使用:

                            放在操作数的前面和后面效果一样。

                   b:参与运算使用:

                            放在操作数的前面,先自增或者自减,然后再参与运算。

                            放在操作数的后面,先参与运算,再自增或者自减。

          int m = ++x;

int n  = x++;

         6:算数运算符思考题

                   ①请分别计算出a,b,c的值?

                   inta = 10;

                   intb = 10;

                   intc = 10;

 

                   a= b++;   a:10   b:11  c:10

                   c= --a;    a:9    b:11  c:9

                   b= ++a;   a:10   b:10  c:9

                   a= c--;    a:9   b:10  c:8

                   a=9, b=10 , c=8

②请分别计算出x,y的值?

                   intx = 4;

                   inty = (x++)+(++x)+(x*10);   =4+6+6*10=70

 

                x=6

                   y=70

十一、赋值运算符的基本用法

                   1:基本的赋值运算符:=

                            =右边的数据赋值给左边。      

                   2:扩展的赋值运算符:+=,-=,*=,/=,%=

                            +=把左边和右边做加法,然后赋值给左边。

                   3:思考题:看下面的程序是否有问题,如果有问题,请指出并说明理由。

                   shorts=1;s = s+1;  有问题,可能损失精度

                   short s=1;s+=1;   没问题 s=ss+1   s=(short)(s+1);

                  

十二、比较运算符的基本用法及其注意事项

   比较运算符有哪些

                   ==,!= , < , > , <= , >= , instanceof

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值