Java语言基础二

 

1.常量的概述和使用

A:什么是常量

B:Java中常量的分类

常量分类为六种:a.字符串 b.字符 c.整数 d.小数

e.boolern(布尔类型) 返回值为 FALSE和TRUE  f.null类型  

C:字面值常量的分类

D:案例演示

用输出语句输出各种常量。null不演示。

 

2.进制概述和二,,十六进制图解

A:什么是进制

B:二进制的由来

C:八进制的由来

D:十六进制的由来

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

进制越大,表现形式越短。

 

3.不同进制数据的表现形式

A:二进制的数据表现形式  以ob开头  例 ob010100

B:八进制的数据表现形式  以o开头 例:o74

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

D:十六进制的数据表现形式  以ox开头 例:ox3c

E:案例演示

* 输出不同进制表现10的数据。

* 0b100     4

* 0100  16

* 10

* 0x100  256

 

4.任意进制到十进制的转换图解

A:任意进制到十进制的转换原理

十进制转换的公式:系数*基数(几进制)权次幂

B:画图练习

* 二进制--十进制

* 八进制--十进制

* 十六进制--十进制

 

5.十进制到任意进制的转换图解

A:十进制到任意进制的转换原理          除基数倒取余数

B:画图练习

* 十进制--二进制

* 十进制--八进制

* 十进制--十六进制

 

6.快速的进制转换法

十进制到二进制

除2取余,直到商为0,最后将余数反转。

十进制13对应的二进制数据是1101。

二进制到十进制的技巧(8421码)。

 

十进制到八进制

除8取余,直到商为0,最后将余数反转。

十进制13对应的八进制数据是15。

 

十进制--二进制--八进制

首先 把十进制转成二进制。

其次 把二进制数据每三位组合。左边不够三位用0补位。

然后 把每个组合计算成对应的十进制数据。

最后 从左到右把数据相连接即可得到八进制。

 

十进制到十六进制

除16取余,直到商为0,最后将余数反转。

十进制13对应的把进制数据是D。

 

十进制--二进制--十六进制

首先 把十进制转成二进制。

其次 把二进制数据每四位组合。左边不够四位用0补位。

然后 把每个组合计算成对应的十进制数据。

最后 从左到右把数据相连接即可得到十六进制。

 

7.原码反码补码的讲解

原码:就是带正、负号的二进制数,即高位为符号位,”0” 表示正,”1” 表示负,其余为表示数值大小。

反码

表示法规定--正数的反码与其原码相同;负数的反码是对其原码逐位取反,符号位除外;

补码

表示法规定--正数的补码与其原码相同;负数的补码是在其反码末位加1。

 

8.原码反码补码的练习

A:已知原码求补码

B:已知补码求原码

 

9.变量的概述及格式

A:什么是变量

在程序的运行过程中,其值在指定范围内变化的值。是内存中一个区域,用于存储数据。

B:为什么要定义变量

为了我们变成的方便。   

C:变量的定义格式

1.声明的时候,就初始化

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

2.使用前赋值

D:变量的三种元素:变量类型,变量名,初始化值,在使用变量之前,必须赋值

 

10.数据类型的概述和分类

A:为什么有数据类型

B:Java中数据类型的分类  四类八种

 

 

C:基本数据类型的详细讲解

基本数据类型

A区别 在内存中分配的空间大小不同,从而导致它表示的数据范围不同。

B4类8种

整数

byte 占1个字节//8个开关,8个二进制位 1byte = 8bit

short 占2个字节

int 占4个字节0

long 占8个字节 其后加L或l标识

浮点数

float 占4个字节 其后加F或f标识3.3f 2^63

32个二进制位

1位符号位

8位代表指数位

23位尾数位0.9999999

0000000000 - 111111111 0 - 255

IEEE 754 0 255 特殊的值

1 - 254 - 127

1 - 127 = -126

254 - 127 = 127

double 占8个字节

字符

char 占2个字节 0 - 65535

布尔型

boolean This data type represents one bit of information,

but its "size" isn't something that's precisely defined.

这个数据类型代表一个比特的信息,但它的“大小”不是精确定义的东西.

true,false

 

C:默认情况下:

整数是int类型

浮点数是double类型

 

11.定义不同数据类型的变量

A:案例演示

*定义不同基本数据类型的变量,并输出

12.使用变量的注意事项

A:案例演示

* a:作用域问题

* b:初始化值问题

* c:一条语句可以定义几个变量

13.数据类型转换之隐式转换

A:+符号的引入及数据做+的要求

B:案例演示

* a:int + int

* b:byte + int 的结果分别用byte和int类型接收,看效果

C:Java中的默认转换规则 

 默认转换byte,short,char—int—long—float—double

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

 

D:画图解释byte+int类型的问题

14.数据类型转换之强制转换

A:强制转换问题的引入

B:强制转换的格式  例  byte b = (byte)(a+b);

C:强制转换的注意事项

D:案例演示

* byte + int 的结果赋值给byte,加强制类型转换

15面试题之变量相加和常量相加的区别

A:案例演示

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

* byte b1 = 3;

* byte b2 = 4;

* byte b3 = b1 + b2;

* byte b4 = 3 + 4;

答: byte b3 = b1 + b2;会编译失败,因为这个相加后得到的结果是int类型的
 而b是byte类型的,这样转换会损失精度,可用强制类型转换或是两个变量,变量值不确定.

byte b4 = 3 + 4; 3和4是常量.Java中有常量优化机制,编译时已经变成了常量7了

16.数据类型中补充的几个小问题

A:在定义Long或者Float类型变量的时候,要加L或者f。

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

  

  * byte,short在定义的时候,他们接收的其实是一个int类型的值。

  这个是自己做了一个数据检测的,如果不再它们的范围内,就报错。

  

B:byte值的问题

* byte b1 = 127;

* byte b2 = (byte)300;

* byte b4 = (byte)130;

* byte的范围:-128 ~ 127

 

C:数据类型转换之默认转换

* byte,short,char -- int -- long -- float -- double

 

* long: 8个字节

* float:4个字节

* IEEE754

* 4个字节是32个二进制位

* 1位是符号位

* 8位是指数位

* 00000000   11111111

* 0到255

* 1到254

* -126到127

* 23位是尾数位

* 每个指数位减去127

 

A:它们底层的存储结构不同。

B:float表示的数据范围比long的范围要大

* long:2^63-1

* float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1

 

D:Java语言中的字符char可以存储一个中文汉字吗?为什么呢?

* 可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。

* 所以,Java中的字符可以存储一个中文汉字

17.字符和字符串参与运算

A:案例演示

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

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

//98  因为char会自动转换为int类型 a为97 要想看a字符 强制转化(char)98

* 通过看结果知道'a'的值是多少,由此引出ASCII码表

B:ASCII码表的概述

* 记住三个值:

* '0'  48

* 'A'  65

* 'a'  97

C:案例演示

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

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

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

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

//先于第一个五在一起加成字符串成为 5+5=5 在和后面一个加5+5=55

* System.out.println(5+5+"=5+5");//先进行加法后在连接字符串 10=5+5

18.算术运算符的基本用法

A:什么是运算符

B:运算符的分类

C:算数运算符有哪些

D:案例演示

* 算数运算符的基本用法

注意事项:

* a:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型

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

19.算术运算符+的多种用法

A:加法

B:正号

C:字符串连接符

 

20.算术运算符++--的用法

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

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

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

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

B:案例演示

* a:单独使用:

* 放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)

* b:参与运算使用:

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

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

21.算术运算符++--的练习

A:案例演示

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

int a = 10;

int b = 10;

int c = 10;

 

a = b++;  // a=10  b=11

c = --a; // c=9   a=9

b = ++a; // b=10  a=10

a = c--; // a=9   c=8

所以输出a=9,b=10,c=8

B:案例演示

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

int x = 4;

  4     6     60

int y = (x++)+(++x)+(x*10);//70

22.赋值运算符的基本用法

A:赋值运算符有哪些

B:案例演示

* 赋值运算符的基本用法

 

注意事项:

* a:基本的赋值运算符:=

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

 

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

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

23.赋值运算符的面试题

A:案例演示

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

* short s=1;s = s+1;

//s赋值后的类型是int类型的,在赋值一个给一个short类型.缺失精度.不能转换

* short s=1;s+=1;

//相当于s=(short)(s+1);里面包含了一个强制转换

24.关系运算符的基本用法及其注意事项

A:关系运算符有哪些

B:案例演示

* 关系运算符的基本用法

注意事项:

* 无论你的操作是简单还是复杂,结果是boolean类型。

* "=="比较运算符不能写成"="算术运算符。

posted on 2016-04-21 14:33  灰灰+灰灰  阅读(356)  评论(0编辑  收藏  举报

导航