Java 基础知识点 笔记总结(一)

在这里插入图片描述

注意:javadoc只能解析文档注释,多行单行注释都不可以。

6. Java API 文档

============================================================================

https://www.oracle.com/cn/java/technologies/java-se-api-doc.html

7. Java 注意事项一

===========================================================================

在一个java源文件中可以声明多个class。但是,只能最多有一个类声明为public的。而且要求声明为public的类的类名必须与源文件名相同。

程序的入口是main()方法,这是固定的。

常见的几个文本编译工具:(了解就可)

在这里插入图片描述

常用的Java集成开发环境(IDE):

在这里插入图片描述

8. 关键字和保留字

========================================================================

8.1 关键字


在这里插入图片描述

在这里插入图片描述

需要注意的是:关键字中所有字母都为小写。

8.2 保留字(reserved word)


在这里插入图片描述

9. 标识符 和 命名规则

===========================================================================

9.1 标识符(identifier)


在这里插入图片描述

标识符的命名规则需要注意!!命名规则非常严格,不能马虎。

9.2 命名规则


在这里插入图片描述

学了这么多语言,Java的命名方式最复杂。。。不过习惯了自然而然,就会不自觉用到。

这里因为java采用unicode字符集,因此标识符也可以使用汉字声明,但不建议使用!!

10. 变量

====================================================================

格式定义:数据类型 变量名 = 变量值;

在这里插入图片描述

在这里插入图片描述

11. Java的 数据类型

============================================================================

在这里插入图片描述

在java中,字符串是属于类(class)类型!!

12. 整型类型byte,short,int,long

=========================================================================================

在这里插入图片描述

对面上面需要记住的:

**byte的范围: -128 ~ 127

定义long型变量,必须以 l 或 L结尾。**

1 个 byte(字节) = 8 bit;

1 个 short = 2 byte;

1 个 int = 4byte;

1 个 long = 8byte;

13. 浮点类型 float,double

===================================================================================

float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求。1个float = 4 byte; float型常量,须在后面加上 f 或 F 。

double:双精度,精度是float的两倍。通产采用此类型。1 个 double = 8byte;

在这里插入图片描述

注意:单精度float表示数值的范围比long还要大。double比float的数值大。

14. 字符型 char

==========================================================================

1个字符 = 2 byte;

定义char型变量,要使用一对 ’ ’ (单引号),切记不要使用" “双引号来定义,” "双引号默认是字符串格式。

字符型char定义时,内部只能写一个字符。

除了能定义一个字符,一个汉字,一个数字等等,还可以定义转义字符(例如: \n) 。

char定义也可以用Unicode编码表示,来定义一个字符,汉字等等。

15. 字符集乱码详情

=========================================================================

15.1 ASCII码


ASCII码很重要,一定了解。

在这里插入图片描述

15.2 Unicode编码


在这里插入图片描述

15.3 UTF - 8编码


UTF-8,推荐使用。

在这里插入图片描述

注意事项如下:

在这里插入图片描述

16. 布尔型 boolean

=============================================================================

在这里插入图片描述

17. 自动类型提升

========================================================================

自动类型提升

这里是按照范围容量来说的:(范围小的类型转为范围大的类型)

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

注意事项:当byte,char,short三种类型的变量做运算时,结果为int类型。**

最需要注意的是:1个float = 4个byte,1个long = 8个byte,但float的范围容量是比long要大的,很多人容易混淆这个事情。

结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。

源码:

/**

@author holmes

@version v1.0

这是我写的一个文档注释。

*/

class HelloChina{

/**

必须给类定义一个文档注释。

*/

public static void main(String[] args){

byte b1 = 2;

int i1 = 129;

//编译不通过,因为int转byte,byte范围很小,非常容易溢出。

//byte b2 = b1 + i1;

int i2 = i1 + b1; //byte转int

System.out.println(i2);

long l1 = b1 + i1; //byte,int转long

System.out.println(l1);

float f1 = b1 + i1 + l1; //byte,int,long 转float

System.out.println(f1);

double d1 = b1 + i1 + l1 + f1; //byte,int,long,float 转double

System.out.println(d1);

char c1 = ‘a’;

short s2 = 10;

//char c3 = c1 + s2; 编译不通过,返回结果int

//short s3 = c1 + s2; 编译不通过,返回结果int

}

}

再次提醒一下:当byte,char,short三种类型的变量做运算时,结果为int类型。

在这里插入图片描述

18. 强制类型转换

========================================================================

18.1 强制类型转换


强制类型转换相当于自动类型提升的逆运算。

**需要使用强转符 :

(强转类型)变量**

但是强制类型转换,可能导致精度损失。

例如:

因为double转为了int类型,数值上肯定丢失,这个过程叫损失精度。

double d1 = 12.91;

int i1 = (int)d1; //截断操作

System.out.println(i1); //因为double转为了int类型,数值上肯定丢失,这个过程叫损失精度。

注意:String字符串不能这么操作,(String)xxx这是错误的!

18.2 强制类型转换的两个问题


18.2.1 不加f 或者 不加l 问题一

float 和 long 一定要加 f 和 l ,不加会默认为int类型。

class demo{

public static void main(String[] args)

{

long l = 123123;

System.out.println(l);

//编译失败:过大整数

//long l1 = 21323234534234234; //因为这里没有加l,默认给他定义为了int,超过了int范围容量。

long l1 = 21323234534234234l; //这样就没问题了

System.out.println(l1);

//同样float也是一样的,一定要加f,不然就是范围大的往范围小的转了

float f1 = 12.3f;

}

}

18.2.2 常量和类型 问题二

**整型常量,默认类型为int型。

浮点型常量,默认类型为double型。**

意思就是我们再定义常量和不同类型加减的话,也是要遵循上面这两条的规则,见下面注释。

class demo{

public static void main(String[] args)

{

byte b = 12;

//byte b1 = b + 1; //这里1为整型常量,默认为int,所以不能转为byte,只能转int类型,报错。

//byte b2 = b + 12.3; //这里12.3为浮点型常量,默认类型为double类型,只能转double类型,因此报错。

}

}

19. String 字符串类型

==============================================================================

19.1 String 字符串介绍


  • String不是基本数据类型,属于引用数据类型。

  • 只不过字符串的使用方式与基本数据类型一直。

  • 一个字符串可以串接到另一个字符串,也可以直接串接其他类型的数据。

  • 声明字符串要用一对" "双引号来表示。例如:String s = 123; //这里就是严重错误!

  • char和string没关系,但是char定义是一对’ '单引号,而且定义单引号里面必须有一个数值,少了多了都不可以。例如:

char c = ‘’; //错误,什么都没传入的char就会报错。

//什么都没错编译错误,传入个空格都可以

char c = ’ '; //哪怕传入个空格,也不会报错。

  • String 可以和8种基本数据类型变量做运算,且运算只能是连接运算: + ,而且 + 运算后,整体上就变成了字符床类型。

19.2 char,数字,String(字符床) 之间的运算


这里一定记住一下a:97 , A:65 对应的ASCll码。

**char , 数字 ,String(字符床) 之间的运算。

案例1:**

class demo1{

public static void main(String[] args)

{

char c = ‘a’; //这里一定记住一下a:97 , A:65 对应的ASCll码。

int num = 10;

String str = “hello”;

System.out.println(c + num + str); //107hello

System.out.println(c + str + num); //ahello10

System.out.println(str + num + c); //hello10a

}

}

有上面运算可得知,它是从左到右的一个运算,判断好是那种类型的运算,字符串和字符,字符和数值,数值和字符串等等。

案例2: (其中 * 的AscII码为42,’\t’的AscII码为9)

在这里插入图片描述

如果我们将int或者其他类型数据转换为字符串怎么转换呢?

其实,通过上面就已经得到了启发。具体方法如下:

在这里插入图片描述

此外,我们用"" + num这种形式来转为字符串的话,最好""这个空字符串放到开头,因为放到开头他后面所有就不会进行一些运算操作,都会转为字符串!

20. 进制

====================================================================

对于进制,记好4个进制和它们的规则即可。

在这里插入图片描述

20 二进制 八进制 十六进制 的转换


二进制结构如下:

在这里插入图片描述

原码,反码,补码。整数和负数变换不同。如下:

下图的负14,就是在正14的符号位修改为了1,得到的。

在这里插入图片描述

总结:

在这里插入图片描述

注意:计算机以二进制补码的形式保存所有的整数。因此,在涉及一些进制运算时,要先判断它的正负,然后推出原码来计算。

在这里插入图片描述

-128,这个数字的补码,很诡异,记住就行。

在这里插入图片描述

十进制转二进制:

一句话:除2取余,取逆数。

在这里插入图片描述

二进制和八进制,16进制转换

二进制转换八进制,16进制。
在这里插入图片描述
八进制,16进制转换二进制。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值