Java学习笔记
in Java知识速查 with 6 comments

Java学习笔记

in Java知识速查 with 6 comments

一个java类文件中可以有多个公有类

public class Test1 {

public static void main(String[] args) {
    // TODO 自动生成的方法存根

}

public class InnerClass{
}    
}


这样书写是正确的。

java规定main()为静态的原因

静态的情况下不需要创建一个对象就可以使用。
非静态成员函数在执行前必须先构造并实例化该函数所在的类。
如果允许非静态的main,那么main函数所在的类必须先进行实例化,
那么就需要再写个函数去实例化main所在的类,再调用main,这个实例化代码又写在哪呢?如果它也是非静态的,岂不是又要写个函数去实例化它所在的类嘛?
因此,JAVA语言就规定了main必须是静态的。
也就是说:程序一定要有一个入口,如果main不是静态的话就需要其他的东西来实例化main,而实例化main的东西如果不是静态的,就需要其他的来实例化,如此循环下去程序是不可能开始执行的。因此,main方法为静态的。

java中的类型转换

首先看一张图。
2.jpg

我们写一段代码来看看java中的数据类型占的位数分别是多少

public class Test1 {

public static void main(String[] args) {
    // TODO 自动生成的方法存根
    System.out.println(Byte.SIZE);
    System.out.println(Byte.SIZE/8);
    System.out.println(Short.SIZE);
    System.out.println(Short.SIZE/8);
    System.out.println(Character.SIZE);
    System.out.println(Character.SIZE/8);
    System.out.println(Integer.SIZE);
    System.out.println(Integer.SIZE/8);
    System.out.println(Float.SIZE);
    System.out.println(Float.SIZE/8);
    System.out.println(Long.SIZE);
    System.out.println(Long.SIZE/8);
    System.out.println(Double.SIZE);
    System.out.println(Double.SIZE/8);
}
}

运行结果如下
1.jpg

从中可以看出结论:除了int向double转换,同位数的不同的数据类型之间转换都会损失精度。

java中运算符+的作用

首先看一段代码

public class Test2 {

public static void main(String[] args) {
    // TODO 自动生成的方法存根
int X=100;
int Y=200;
System.out.println("X+Y="+X+Y);
System.out.println(X+Y+"=X+Y");
}

}

运行结果如下:

捕获.jpg

产生这种现象的原因是+既可以作为数学上的运算符号,又可以连接两个字符串,以及java中运算符的先后顺序。
第一行中的加号是连接了要输出的两部分内容。
第二行中的加号是算数运算的作用。

Responses
  1. 测试

    Reply
  2. :mrgreen: 测试

    Reply
  3. :arrow: 测试

    Reply
  4. test

    Reply
  5. 正一

    周末见

    Reply
    1. @正一

      test

      Reply