java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料

保持永久学习的心态,将成就一个优秀的你,来 继续搞起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

byte、short,char型移位时都会提升为int型

7/2

带符号右移(>>)

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

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

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

7/3

无符号右移(>>>)

右侧低位丢弃,左侧补0

7/4

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

7/5

异或(^)

相同取0,不同取1

7/6

按位与(&)

同为1取1,其他取0

7/7

按位或(|)

同为0取0,其他取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

因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。

后续会有更多的精彩的内容分享给大家。