脚本宝典收集整理的这篇文章主要介绍了Java编程基础02——Java语言基础,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
1_(常量的概述和使用)*
2_(进制概述和二,八,十六进制图解)(了解)
-
A:什么是进制(scale)
- 进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。
- 例如一周有七天,七进制,一年有十二个月,十二进制
- 星星和月亮的进制,月亮和太阳的进制(4进制)
-
B:十进制的由来
- 十进制的由来是因为人类有十个手指(猎物的分配:十个一捆)
-
C:二进制的由来
-
D:八进制的由来
-
E:十六进制的由来
- 但是对于过长的二进制变成八进制还是较长,所以出现的用4个二进制位表示一位的情况,四个二进制位最大是15,这就是十六进制。
-
F:不同进制表现同一个数据的形式特点
- 进制越大,表现形式越短
- 画图表示(让8个开关表示计算机中的最小单位)
3_(不同进制数据的表现形式)*
-
A:二进制的数据表现形式
- 由0,1组成。以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了)
-
B:八进制的数据表现形式
- 由0,1,…7组成。以0开头
-
C:十进制的数据表现形式
- 由0,1,…9组成。整数默认是十进制的
-
D:十六进制的数据表现形式
- 由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头
-
E:案例演示
- 输出不同进制表现100的数据。
- 0b100
- 0100
- 100
- 0X100
4_(任意进制到十进制的转换图解)(了解)
-
A:任意进制到十进制的转换原理
-
B:画图练习(~Scale)
- 二进制--十进制
- 八进制--十进制
- 十六进制--十进制
5_(十进制到任意进制的转换图解)(了解)
-
A:十进制到任意进制的转换原理
- 除基倒取余
-
B:画图练习
- 十进制--二进制
- 十进制--八进制
- 十进制--十六进制
6_(快速的进制转换法)(了解)
-
A:8421码及特点
- 8421码是中国大陆的叫法,8421码是BCD代码中最常用的一种。在这种编码方式中每一位二值代码的1都是代表一个固定数值,把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。
- B:通过8421码的方式进行二进制和十进制的相互转换
- C:二进制到八进制的简易方式
- D:二进制到十六进制的简易方式
7_(原码反码补码)(了解)
-
A:为什么要学习原码反码补码?
- 后面要学习强制类型转换,如果不知道有原反补会看不懂结果
-
B:有符号数据表示法的几种方式
-
原码
- 就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
- 通过一个字节,也就是8个二进制位表示+7和-7
- 0(符号位) 0000111 +7
- 1(符号位) 0000111 -7
- 1 1111000 -7反码
- 0 0000001 +1
- _
- 1 1111001 -7的补码
0 0000111
1 1111001
_______________________________
00000000
* 反码
* 正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
* 补码
* 正数的补码与其原码相同;负数的补码是在其反码的末位加1。
8_(原码反码补码的练习)(了解)
-
A:已知原码求补码
- 0b10110100
-
B:已知补码求原码
- 0b11101110
9_(变量的概述及格式)*
10_(数据类型的概述和分类)*
-
A:为什么有数据类型
-
B:Java中数据类型的分类
- 基本数据类型
-
引用数据类型
- 面向对象部分讲解
-
C:基本数据类型分类(4类8种)
11_(定义不同数据类型的变量)*
-
A:案例演示(~DataTyPE)
- 定义不同基本数据类型的变量,并输出
- 赋值时候注意float类型,long类型
12_(使用变量的注意事项)*
-
A:案例演示
-
a:作用域问题
- 同一个区域不能使用相同的变量名
-
b:初始化值问题
- 局部变量在使用之前必须赋值
- 局部变量:声明在方法上或者方法中的变量
-
c:一条语句可以定义几个变量
- int a,b,c...;
13_(数据类型转换之隐式转换:DataTypeConversion)*
-
A:案例演示
- a:int + int
- b:byte + int
-
B:Java中的默认转换规则
- 取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算:这就被称之为隐式转换
- C:画图解释byte+int类型的问题
14_(数据类型转换之强制转换)*
-
A:强制转换问题
- int a = 10;
- byte b = 20;
- b = a + b;
-
B:强制转换的格式
-
C:强制转换的注意事项
- 如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同(例如:126 + 4 / 300)
15_(面试题之变量相加和常量相加的区别)*
-
A:案例演示
- 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
- byte b1 = 3;
- byte b2 = 4;
-
-
byte b3 = b1 + b2;
- 从两方面去回答这个题
- byte与byte(或short或char)类型的变量在进行运算的时候,会自动类型提升为int类型
- b1和b2是两个变量,变量存储的值是变化的,在编译的时候,无法判断里面具体的值,相加有可能超过byte的取值范围.
-
byte b4 = 3 + 4;
- 3和4都是常量,java编译器有常量优化机制,就是在编译的的时候直接判断结果,如果在取值范围内就直接把3和4的结果赋值给b4了
16_(long与float的取值范围谁大谁小)(了解)
-
进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的
- byte,short,char -- int -- long -- float -- double
- long: 8个字节
-
- float:4个字节
-
- 4个字节是32个二进制位
- 1位是符号位
-
- 8位是指数位(指数指代表多少次幂)
- 00000000 11111111
- 0到255
IEEE754(规定)
* 0代表0
* 255代表无穷大
* 1到254(指数:规定每个指数要减去127后如下)
* -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
17_(字符和字符串参与运算)*
-
A:案例演示
-
B:ASCII码表的概述(ASCII = american Standard Code for Information Interchange)
-
记住三个值:
- '0' 48
- 'A' 65
- 'a' 97
-
C:案例演示
- System.out.println("hello"+'a'+1);//
- System.out.println('a'+1+"hello");(从左向右顺序) //
- 任何数据类型用+与字符串相连接都会产生新的字符串
-
D:+在有字符串参与中被称为字符串连接符
- System.out.println("5+5="+5+5);//
- System.out.println(5+5+"=5+5");//
18_(char数据类型)*
- A:char c = 97; char的取值范围:0到65535 编译器判断其在范围内就会赋值成功
-
B:Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
- 可以。因为Java语言采用的是Unicode码来编码的。Unicode(万国码 utf-8)码中的每个字符占用两个字节。中文也是占的两个字节
- 所以,Java中的字符可以存储一个中文汉字
19_(算术运算符的基本用法)*
-
A:什么是运算符(operator)
- 就是对常量和变量进行操作的符号。
-
B:运算符的分类
- 算术运算符,赋值运算符,比较(关系或条件)运算符,逻辑运算符,位运算符,三目(元)运算符
-
C:算数运算符有哪些
- +,-,*,/,%,++,--
-
D:注意事项:
20_(算术运算符++和--的用法)*
-
A:++,--运算符的作用
- 自加(++)自减(--)运算
- ++:自加。对原有的数据进行+1
- --:自减。对原有的数据进行-1
-
B:案例演示
-
a:单独使用:
- 放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)
-
b:参与运算使用:
- 放在操作数的后面,先取值参与运算,再自增或者自减。
- 放在操作数的前面,先自增或者自减,然后再将结果参与运算。
int a = 3;
int b;
b = a++;
//b = ++a;
21_(算术运算符++和--的练习)*
-
A:案例演示
- 请分别计算出a,b,c的值?
int a = 10;
int b = 10;
int c = 10;
a = b++;
c = --a;
b = ++a;
a = c--;
-
B:案例演示
- 请分别计算出x,y的值?
int x = 4;
int y = (x++)+(++x)+(x*10);
若a、b为int型变量,并且已分别赋值为5和10,则表达式(a++)+(++b)+a*b+a++的值为_____。
-
C:面试题
- byte b = 10;
- b++;
- b = b + 1;
- 问哪句会报错,为什么
22_(赋值运算符的基本用法)*
-
A:赋值运算符有哪些
- a:基本的赋值运算符:=
- int a = 3; 把3赋值给a
- 3 = a;不能给常量赋值.
- 把=右边的数据赋值给左边。
-
b:扩展的赋值运算符:+=,-=,*=,/=,%=
- += 把左边和右边做加法,然后赋值给左边。
- a += 4; // a = a + 4;
23_(赋值运算符的面试题)*
-
A:案例演示
- 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
- short s=1;
- s = s+1;
-
- short s=1;
- s+=1;
24_(关系运算符的基本用法及其注意事项)*
以上是脚本宝典为你收集整理的Java编程基础02——Java语言基础全部内容,希望文章能够帮你解决Java编程基础02——Java语言基础所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。