首页 技术 正文
技术 2022年11月18日
0 收藏 880 点赞 3,617 浏览 2698 个字

day03 课堂笔记

1、数据类型

2、总结第二章到目前为止所学内容:
* 标识符
* 关键字
* 字面值
* 变量

成员变量如果没有赋值,系统会自动赋值,而局部变量不手动赋值,则会编译不通过。

* 数据类型

字符编码:在计算机中起到数据转换作用

‘a’—–>97

‘A’—–>65

‘0’—–>45

记住以上三个

【简体中文编码方式】

GB2312 < GBK < GB18030包含字符最多

Java语言采用最多的编码方式为Unicode

所以标识符可以用中文表示

【八种基本数据类型的取值范围】

类型        取值范围      默认值

byte        [-128,127]      0

short       [-35768,32767]     0

int                     0

long                    0

float                  0.0

double                 0.0

boolean        [true,false]     false(true是1,false是0)

char        [0,65535]      \u0000

short和char能表示的种类数目是相同的,只不过char可以表示更大的正整数。

八种数据类型的默认值都是向0看齐

char类型占2个字节,而一个中文字符也占2个字节,故可以有 char c=’字’;

【转义字符】

\n  换行符

\t  制表符Tab

\\  普通的斜杠

\’  普通的单引号

\”  普通的双引号

转义字符出现在特殊字符之前,会将特殊字符转换为普通字符。

System.out.println()表示输出后换行,【注意不是换行后输出】

System.out.print()表示输出后不换行

public class A{

  public void main(String[] args){

  char c=’\\’;  //输出 \ 字符

  System.out.println(“c”);

  

  char c=’\”;  //输出 ‘ 字符

  System.out.println(“c”);

}

}

JDK中自带的native2aascii.exe命令,可以将文字转换成Unicode编码形式

使用方法:

直接在DOS窗口输入native2ascii回车运行,输入汉字回车转换出Unicode码

例如,真不错—->\u771f   \u4e0d  \u9519

故,char型的变量默认值为\u0000,注意\u

【整数型字面值默认是int型的十进制数】

若以0开头,则是八进制

若以0x开头,则是十六进制

注意

long a=123;  ///仍然是将占4个字节的int型123转换为占8字节的long型123

long a=123456789 ;  //123456789超出int型的范围,编译出错,【面试题问你能不能编译通过】

long a=123456789L ;  //加个大写L,表示为long型数值,编译成功

【强制类型转换】

long a=100;

int b=a;  //大容量转小容量,编译不通过

//下面进行强制类型转换,编译通过,但可能损失精度

//尤其正负,在砍掉左边四个字节后,余下的“最高位”可能为1,存在正数变负数的可能

int b=(int)a;

【特例】下面这个可以编译通过

byte a=123; //表面上是大容量赋给小容量,但可以编译通过

//java规定对byte型变量赋值,赋值的int型量没超过byte的取值范围,则可以编译通过,

这对于char,short型的变量同样适用。

【JavaSE的类库的源码所在位置】

SE类库字节码:D:\software\Java\src.zip

SE类库源码:D:\software\Java\jre\lib\rt.jar

{string[] args}中的String使用的就是String.class字节码文件、

【浮点型字面值默认为double型】

double a=3.0;

如果想把浮点型字面值当做float型,则需在后面加F/f;

float a=5.1;  //编译出错

解决方法一:强制类型转换

float a=(float)5.1;

解决方法二:没有强制转换

float a=5.1f;

double和float型在计算机中存储的都是近似值

因为有些无限不循环数无限长,但存储空间有限

【布尔数据类型】

只有true和false两种类型,占一个字节

经常使用在逻辑判断和条件控制语句中

boolean a=1;  //编译错误

boolean a=true;  //编译成功,布尔型变量只能被赋值true或false,而不能是0,1

【基本数据类型之间的相互转换】【面试】

1、除布尔类型外均可互相转换

2、小容量向大容量转换,称为自动类型转换,容量从小到大排序:

byte < short < int < long < float < double < char

任何浮点型数据不管多少字节,都比整数型容量大

char和short可表示的种类数量相同,但是char可以取更大的正整数

3、大容量转化为小容量需要进行强制类型转换

4、当字面值没有超出byte、short、char的取值范围,可以直接赋值

5、short、byte、char混合运算时,会自动转化为int型

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

3、运算符

【算术运算符】

+

*

/

%(求余数,取模)

++(自增一)

–(自减一)

运算符有优先级,可以通过加括号,来提高,不需专门记忆

【关系运算符】

>

<

>=

<=

==

!=

上述关系运算符的运算结果一定是布尔类型true/false

【注意“=”是赋值运算符】

【逻辑运算符】

逻辑运算符要求两边的算子都是布尔类型

&       逻辑与

|      逻辑或

!      逻辑非(单目运算符)

^      逻辑异或

&&     短路与(与上面的逻辑与运算结果相同,但短路与存在短路现象)

||      短路或(与上面的逻辑或运算结果相同,但短路或存在短路现象)

【短路现象】当执行逻辑运算(5<2 & 5>2)时,先运算左边结果是false,在运算右边结果是true,整体结果为false

而(5<2 && 5>2)当左边运算结果为false时,整个运算结果已确定为false,右边不再计算,(较聪明)执行效率高

故短路与更常用,但特殊情况会使用逻辑与,比如,业务要求必须执行的时候

【总结】短路或 || :当左边结果为true时,右边不再计算

    短路与&&:当左边结果为false时,右边不再计算

* 赋值类运算符
* 字符串连接运算符
* 三元运算符

—–部分摘自B站动力节点教育集团

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,967
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,487
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,332
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,115
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,748
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,783