Java基础笔记

1、在一个Java文件中,有多少个类,编译后就会生成多少个.class文件。一个Java文件中最多只能有一个public类。

2、生成文档注释:javadoc -d mydoc [-author][-version][] java文件路径\Java文件

3、基本数据类型占用的字节数

Byte 1字节

Short 2字节

Int 4字节

Long 8字节

Char 2字节

Float 4字节

Double 8字节

Boolean 4字节,只有最后一位是有效位

3/1 float型变量初始化时,需要在初始值后面加 f ,否则会默认为double

3/2 各数据类型所能表示的范围

Byte

-128——127

short

-32768——32767

int

-2^31——231-1

long

-2^63——2^63-1

float

3.4e^-45——1.4e^38

double

4.9e^-324——1.8e^308

4、数据类型的相互转换(char byte short int long float double):

4/1 自动类型转换:容量小的数据类型与容量大的数据类型计算时,容量小的自动转换成容量大的数据类 型。


      4/1/1 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。     

      4/1/2 byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。

      4/1/3  当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。

4/2 强制类型转换:容量大的数据类型转换成容量小的数据类型要使用强制类型转换符。

4/3 基本数据类型不能直接赋给字符串类型。

4/4 字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。

      如: String a = 43; int i =Integer.parseInt(a);

4/5 boolean类型不可以转换为其它的数据类型

4/6 赋值中的类型转换

4/6/1 byte a = 10;

10是一个整型数据(int),在赋值过程中,将int型的10隐式转换成byte类型

10 = 0000  0000  0000 0000  0000  0000 0000 1010 b,赋值前会自动去除高24位,留下0000  1010

4/6/2 short a = 10;

int b = 5;

short c = a + b;//编译错误

short d = a + 10;//编译错误

 

5、除以0运算和对0 取模运算

       整数除以0

编译通过,运行异常    ArithmeticException

       整数模0

编译通过,运行异常    ArithmeticException

       浮点数除以0

无穷    Infinite

       浮点数模0

NaN

 

6、除以0.0和对0.0取模运算

        整数除以0.0

Infinite 无穷

       浮点数除以0.0

Infinite

       浮点数模0.0

NaN

       整数模0.0

NaN

 

取模运算的结果的符号取决于被模数的符号,被模数为正则结果为正,被模数为负则结果为负

 

7、移位操作

7/1 左移操作(<<

左侧高位丢弃,右侧补0,在没有溢出的情况下,左移一位相当于原数乘以2         左移33位,相当于左移1

int型数据左移实际位数 = 左移位数 % 32  ===========>  0000 0000  0000 0000 0000 0000  0000 1010   ----------->  0000 0000 0000 0000  0000 0000  0001 0100

byteshortchar型移位时都会提升为int

7/2 带符号右移(>>

右侧低位丢弃,左侧补原符号位,原数为正,则一直为正,原数为负,则一直未负。右移一位相当于除以2

负数右移:求其绝对值的二进制,提升为整型,整体取反加1(包含符号位),然后右移,最高位补符号位,移位完成后符号位不变,

剩下的31位再减1取反求得移位后的原码

7/3 无符号右移(>>>)

右侧低位丢弃,左侧补0

7/4 取反操作不带符号位(~) 

7/5 异或(^

相同取0,不同取1

7/6 按位与(&

同为11,其他取0

7/7 按位或(|

同为00,其他取1

7/8 移位操作不会改变原数的大小,

而是会生成一个新的整型值

8、交换两个数的值

inta = 10;

intb = 20;

 

//交换两个变量的值        方式一

inttemp = a;

a= b;

b= temp;

System.out.println("a= " + a + "b = " + b);

 

//交换两个变量的值        方式二,将两个变量三次异或  =========>

intx = 10;

inty = 20;

x= x ^ y;

y= x ^ y;

x= x ^ y;

System.out.println("x= " + x + "y = " + y);

 

//求和交换     方式三

intm = 10;

intn = 20;

m= m + n;

n= m - n;

m= m - n;

System.out.println("m= " + m + "n = " + n);

Java基础知识笔记通常会涵盖以下几个核心主题: 1. Java概述:包括Java的历史、平台无关性、JVM(Java Virtual Machine)的作用和Java的核心API(如java.lang包)。 2. 数据类型和变量:基本数据类型(如int, float, char等)、引用类型(如String, Object),以及变量的声明、初始化和作用域。 3. 控制结构:条件语句(if-else, switch)、循环(for, while, do-while)、异常处理(try-catch-finally)。 4. 类和对象:封装、继承和多态的概念,类的定义、构造函数和析构函数,以及实例化对象和方法调用。 5. 面向对象编程:接口、抽象类和它们的区别,以及设计模式的基本概念。 6. 数组和集合:数组的定义、操作,以及ArrayList、LinkedList、HashMap等常用集合框架的使用。 7. 输入输出流:文件I/O、标准输入输出流(System.in/out)的处理。 8. 方法和函数:静态方法、重载方法、递归等。 9. 异常处理:异常的抛出、捕获和处理机制。 10. IO流和网络编程:Socket编程、HTTP请求等。 创建一个Markdown格式的笔记,可能会包括标题、列表项、代码示例和注释。例如: ```markdown # Java基础笔记 ## 1. Java简介 - Java语言特点: 平台无关性、垃圾回收机制 - JVM: 负责执行Java字节码 ## 2. 数据类型 - int, double, String等基本类型 - ```java // 声明并初始化一个整型变量 int num = 10; ``` ## 3. 控制结构 - if-else: 条件判断 - ```java if (num > 0) { System.out.println("Positive"); } ``` ... ### 附录:常用类库 - java.util: 集合框架 - java.io: I/O流处理 ``` FileInputStream fileIn = new FileInputStream("file.txt"); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值