栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java第四课复习总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java第四课复习总结

目录

1、数据类型

 2、字符编码

3、转义字符

4、补码

5、总结

6、运算符


1、数据类型

数据类型不同,占用空间大小不同

第一种:基本数据类型

    第一类:整数型

        byte,short,int,long

    第二类:浮点型 

        float,double

    第三类:布尔型

        boolean

    第四类:字符型

        char

第二种:引用数据类型

    字符串型String

    java中除了基本数据类型之外,剩下的都是引用数据类型

1bit就是一个1或0(计算机中的二进制)

1字节 = 8bit(8比特)--> 1byte = 8bit

1KB=1024byte

1MB=1024KB

1GB=1024MB

1TB=1024GB

byte b = 2  在计算机中是这样表示的:00000010

short s = 2  在计算机中是这样表示的:00000000 00000010

int i = 2  在计算机中是这样表示的:00000000 00000000 00000000 00000010

注意:任意一个浮点型都比整数型占用空间大

 2、字符编码

字符编码是人为的定义的一套转换表,在字符编码中规定了一系列的文字对应的二进制。字符编码涉及到编码和解码两个过程,编码和解码必须遵循同一套字符编码方式,否则会出现字符乱码

英文对应的字符编码:ASCII(美国信息交换标准代码)。采用1byte进行存储

'a' --->97

'b' ---> 98

'c' ---> 99...

'A' ---> 65

'B' ---> 66...

'0' ---> 48  (这个'0'不是那个0,是文字'0')

'1' ---> 49

latin-1编码方式,是向上兼容ASCII码的编码方式

中文的编码方式:GB2312

繁体中文:big5(台湾使用的是大五码)

支持全球所有文字编码:unicode编码

具体的实现包括:UTF-8 UTF-16 UTF-32....

3、转义字符

char c1 = 't'; //相当于键盘上的tab键

char c2 = 'n'; // 换行符

System.out.println(); 换行

System.out.print(); 不换行

System.out.println(''');// ' 表示一个单引号字符('联合起来表示一个普通的 ')

System.out.println('');//错误: 未结束的字符文字

System.out.println('\');// 在java中两个反斜杠代表了一个“普通的反斜杠字符”

char x = 'u4e2d';// 反斜杠u表示后面的是一个字符的unicode编码

unicode编码是十六进制的

另:

十六进制,满16进1位

0

1 2 3 4 5 6 7 8 9 a b c d e f 10

11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20

...

4、补码

计算机在任何情况下都只能识别二进制

计算机在底层存储数据的时候,一律存储的是“二进制的补码形式

计算机采用补码形式存储数据的原因是:补码形式效率最高

实际上是这样的,二进制有:原码 反码 补码

1、对于一个正数来说:二进制原码、反码、补码是同一个,完全相同

int i = 1

对应的二进制原码:00000000 00000000 00000000 00000001

对应的二进制反码:00000000 00000000 00000000 00000001

对应的二进制补码:00000000 00000000 00000000 00000001

2、对于一个负数来说:二进制原码、反码、补码

byte i = -1

对应的二进制原码:10000001

对应的二进制反码(符号位不变,其它位取反):11111110

对应的二进制补码(反码+1):11111111

例如采用逆推导的方式

10010110 ---> 二进制补码形式

10010101 ---> 二进制反码形式

11101010 ---> 二进制原码形式

5、总结

在任何情况下,整数型的“字面量/数据”默认被当做int类型处理

如果希望该“整数型字面量”被当做long类型来处理,需要在“字面量”后面添加L或l

小容量可以自动转换成大容量,这种操作被称为:自动类型转换

大容量不能直接赋值给小容量,需要使用强制类型转换符进行强转

注意:加强制类型转换符之后,虽然编译通过了,但是运行的时候可能会损失精度

当一个整数赋值给char类型变量的时候,会自动转换成char字符型,最终的结果是一个字符

当一个整数没有超出byte short char的取值范围的时候,这个整数可以直接赋值给byte short char类型的变量。

一、八种基本数据类型中,除 boolean 类型不能转换,剩下七种类型之间都可以进行转换

二、如果整数型字面量没有超出 byte,short,char 的取值范围,可以直接将其赋值给byte,short,char 类型的变量

三、小容量向大容量转换称为自动类型转换,容量从小到大的排序为:byte < short(char) < int < long < float < double,其中 short和 char都占用两个字节,但是char 可以表示更大的正整数

四、大容量转换成小容量,称为强制类型转换,编写时必须添加“强制类型转换符”,但运行时可能出现精度损失,谨慎使用

五、byte,short,char 类型混合运算时,先各自转换成 int 类型再做运算

六、多种数据类型混合运算,各自先转换成容量最大的那一种再做运算

6、运算符

算术运算符:+ - * / % ++ --

关系运算符:> >= < <= == != 

逻辑运算符:& | ! && ||

赋值运算符:= += -= *= /= %=

三目运算符:布尔表达式 ? 表达式1 : 表达式2

 字符串连接运算符:+

++出现在变量前和变量后有什么区别?

++出现在变量后:当++出现在变量后,会先做赋值运算,再自加1

++出现在变量前:当++出现在变量前,会先进行自加1的运算,然后再赋值

所有的关系运算符的运算结果都是布尔类型,不是true就是false,不可能是其他值

= : 赋值运算符

== :关系运算符,判断是否相等

注意:关系运算符中如果有两个符号的话,两个符号之间不能有空格

>= 这是对的, > = 这是不对的,== 这是对的,= = 这是不对的

逻辑运算符

&    逻辑与(可以翻译成并且)

|    逻辑或(可以翻译成或者)

!    逻辑非(取反)

&&    短路与

||    短路或

赋值运算符

赋值运算符“=”右边优先级比较高,先执行右边的表达式,然后将表达式执行结束的结果放到左边的“盒子”当中

例如:+= 运算符作为代表

k += 20----->k=k+20

例如:byte x;x += 1 等同于:x = (byte)(x + 1)

条件运算符:(三目运算符)

语法格式:布尔表达式 ? 表达式1 : 表达式2

执行原理:

布尔表达式的结果为true时,表达式1的执行结果作为整个表达式的结果

布尔表达式的结果为false时,表达式2的执行结果作为整个表达式的结果

+ 运算符

+ 运算符在java语言中有两个作用:

作用1:求和(当 + 运算符两边都是数字类型的时候,求和)

作用2:字符串拼接(当 + 运算符两边的“任意一边”是字符串类型,那么这个+会进行字符串拼接操作)

注意:字符串拼接完之后的结果还是一个字符串

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/318551.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号