版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013514722/article/details/49383599
整数的类型:
byte 8 bit
short 16 bit
int 32 bit
long 64 bit
注意:
一个整数后没有加L时,默认为int类型。
if 要把一个数定义为long类型,需要在这个数后面加L。
小数的类型:
float 32 bit 可以保留7位小数位
double 64 bit 可以保留15位小数位
注意:
一个小数如果后没有标识符时,默认为double类型。
if 要定义为float类型,需要在这个数后面加f。f不区分大小写。
布尔类型:
只有两个值 true or false
boolean 1个字节或者4个字节
注意:
if boolean 声明一个基本类型的变量时, 该变量占4个字节
if boolean 声明一个数组类型时, 每个数字类型占1个字节
字符类型:
char 2个字节 (16 bit)
class文件执行注意:
1.一个class文件要在使用时才会加载到内存中,而静态代码块在文件
加载中执行。
代码:
class demo1
{
public static void main(String[] args)
{
System.out.println(10);
System.out.println(0b10); //将一个二进制数以十进制输出 二进制以0b开头
System.out.println(010); //将一个八进制数以十进制输出 八进制以0开头
System.out.println(0x10); //将一个十六进制数以十进制输出 十六进制以0x开头
long mong = 10000000000000000L;
System.out.println(mong);
float mong = 4.55555f;
System.out.println(mong);
boolean mong = true;
System.out.println(mong);
*/
}
}
class nihao
{
/*凡是byte, short,char数据类型在运算时都会自动传换成int类型的数据。
java 编译器在编译时能够确认一个常量的值,并判断这个常量是否在所定义的数据类型,并允许赋值。
但在编译时不能确定变量里存储的值。 变量里存储的值是在运行时才分配空间。
*/
public static void main( String [] args){
int i = 10;
long j = 20L;
i = (int)(i + j);
System.out.println(i);
}
}
class nihao
{
public static void main( String [] args){
byte b1 = 1;
byte b2 = 2;
// b2 = b2 + b1; //报错。。需要强制转换。
b2 += b1; //java编译器已经进行强制转换。
System.out.println(b2);
byte s =10;
long t = 30;
System.out.println(s<t); // 两个不同数据类型可以比较大小,比较时会先把b的类型转换为long类型。
}
}
class nihao
{
//位运算可能出现的笔试题:
// 1,交换两个变量的值,不准出现第三方变量
// 2. 取出一个二进制的指定位数。
public static void main( String [] args){
int a = 3;
int b = 5;
a= a^b;
b= a^b;
a= a^b;
System.out.println("a = "+ a + "b = " + b);
}
}
class nihao
{
// 如果+号用于字符串的时候,+ 号就是连接符。
public static void main( String [] args){
int i1 = 13;
System.out.println(1 + 2 +3 + 4 + "ssss" + 5 + 6);
// 输出 10ssss56
}
}
class nihao
{
//取模运算时,结果的正负取决于被除数的正负。
public static void main( String [] args){
double a = 10.00;
int b = 3;
System.out.println(a/b); //输出 3.33333333333335
System.out.println(-a%b); //输出 -1.0
System.out.println(a%-b); //输出 1.0
System.out.println(-a%b); //输出 -1.0
}
}
class nihao
{
/*
后自增(i++)在jvm的运行原理:
jvm 会先声明一个变量用于保存没有 +1 之前的值。
1. int temp = i;
2. 自增。 i = i + 1;
3. temp 的值返回给表达式结果。
i 的 值发生几次变化:
i = 0 -----> 1 ------> 0 */
public static void main( String [] args){
int i = 0;
i = i++;
System.out.println("i = "+i); //输出 0
}
}
class nihao
{
public static void main( String [] args){
byte b1 = 1;
byte b2 = 2;
// b2 = b2 + b1; //报错。。需要强制转换。
b2 += b1; //java编译器已经进行强制转换。
System.out.println(b2);
}
class demo1
{
public static void main(String[] args ){
int[] arr = new int[2];
arr = null;
arr[1] = 10;
System.out.println(arr[1]);
// 该程序会报错 空指针异常
}
}