[韩顺平JavaSE学习笔记(第三章变量)]GBK、UTF-8、JavaAPI的组织方式、Java数据类型、加号的使用

1.+的使用

一个加号左右两边都是数值时则做加法运算,有一方为字符串则做字符串拼接,运算顺序为从左到右

System.out.println(100 + 98);
System.out.println("100" + 98);
System.out.println(100 + 3 + "hello");
System.out.println("hello" + 100 + 3);

运算结果:
在这里插入图片描述

2.Java的数据类型

在这里插入图片描述
知识点:
1.String属于类
2.整型常数默认为int型,强调为long类型时需要在常数后面加L或l
long n = 100L;
3.浮点型常数默认为double型,强调为float类型时需要在常数后面加F或f
float n = 1.1F;
4.浮点型的两种表示法:①十进制小数形式(5.12、512.0f、.512)②科学计数法(5.12e2)
5.浮点数使用陷阱:

double num1 = 2.7;
double num2 = 8.1 / 3;

由于浮点数精度的原因num2计算的结果与num1不同,在进行运算结果是浮点数的比较时,要结合业务考虑精度问题。例:Math.abs(num1 - num2) < 0.00001
6.char的本质是一个整数,输出时输出的是该整数对应的编码表的编码。

char c = 'a';
System.out.println('a' + 1);

char类型变量作为整数参与整数运算。上例结果为:98
7.boolean
在Java中,不可以用0和非0量代表false和true
8.自动类型转换(小->大)

char -> int -> long -> float -> double
byte -> short -> int -> long -> float -> double

不同类型的变量可以按上面两条链进行转换。(注意char和byte、short间无法自动转换)

byte b = 1;
char c = b;

上例中,把byte类型的变量赋给char类型的变量,不符合自动转换规则,故编译出错。

①由于char类型的特殊性,

byte b = 'c';

这样以字符常量的方式赋给整型是可以的。
②由于byte和short的特殊性,在给他们赋常数值的时候(下例),不会发生int向低转换的错误,因为编译器在处理byte和short时会先判断所赋常数的大小,如果在范围内就不会报错,如果超出范围则还会报int转byte或short的错误。

byte b = 30;       //30在byte范围内,可以
short s = 40;      //40在short范围内,可以
b = b - 9 ;        //b-9已经是int类型了,不可以赋给byte

③涉及到byte、short和char的运算,精度会被自动提升到int,因此下面的代码也会出现intbyte的错误。

byte b1 = 120;
byte b2 = 1;
byte b3 = b1 + b2;

boolean不参与类型自动转换。
9.强制类型转换(大->小)

3.Java基本数据类型和String之间的转换

1.基本数据类型转换成String
只需要+""即可
2.String转换为基本数据类型
通过基本数据类型的包装类调用parseXX方法即可,举例:

String s = "123";
int i = Integer.parseInt(s);         //123
double d = Double.parseDouble(s);    //123.0

转换时要注意字符串的合法性。

4.JavaAPI

Java8
官方API:https://docs.oracle.com/javase/8/docs/api/
中文API:https://www.matools.com/api/java8

在这里插入图片描述

5.编码表

在这里插入图片描述
UTF,是UnicodeTransformationFormat的缩写,意为Unicode转换格式。其中,UTF-8是UTF中最常用的转换格式,是UNICODE的一种变长字符编码。
下面以GBK、UTF-8两种编码表为例,以abc凡为文件内容,观察文件大小。
①GBK
三个字母3字节,一个汉字2字节,共5字节。
在这里插入图片描述
②UTF-8
三个字母3字节,一个汉字3字节,共6字节。
在这里插入图片描述

【附录】Sublime快捷键

1.sublime中Ctrl + /失效原因:默认识别的/是主键盘?处的/,小键盘的/无效。
2.想要自定义快捷键只需要在Preferences-Key Bindings中找到默认按键,如果不想修改默认设置的话,将自定义键位写到User中即可。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值