0x001 第一个java程序

  1. 编写代码

    // 0x001helloworld/Helloworld.java
    public class Helloworld{
        public static void main(String[] args) {
            System.out.print("hello world\n");
        }
    }
  2. 编译并运行

    $ javac Helloworld.java # 生成Helloworld.class
    $ java Helloworld # 运行
      hello world  # 输出

0x002 注释

// 这是单行注释
/*
 * 这是多行注释
/*

注意:如果代码中出现中文,编译时应该按照添加编码选项

$ javac -encoding utf-8 Helloworld.java
$ java Helloworld

0x003 基本类型

  1. int 基本类型一表看

    基本类型 大小 最小值 最大值 包装器类型
    boolean - - - Boolean
    char 16-bit Unicode 0 Unicode 2^16-1 Character
    byte 8-bits -128 +127 Byte
    short 16-bits -2^15 2^15-1 Short
    int 32-bits -2^31 -2^31-1 Integer
    long 64-bits -2^63 2^63-1 Long
    float 32-bits IEEE754 IEEE754 Float
    double 64-bits IEEE754 IEEE754 Double
    void - - - Void
  2. 基本类型的声明、初始化、调用

            int num1; // 声明一个int类型的变量num1
            num1 = 1; // 为num1赋值
            System.out.println(num1); // 输出num1的值
    
            int num2 = 2; // 声明的时候同时赋值
            System.out.println(num2); 
    
            int num3, num4; // 同时声明多个变量
            num3 = 3; // 再为变量赋值
            num4 = 4;
            System.out.println(num3);
            System.out.println(num4);
    
            int num5 = 5, num6; // 同时声明多个变量,并为其中几个变量赋值
            num6 = 6;
            System.out.println(num5);
            System.out.println(num6);
    
            int num7 = 7, num8 = 8; // 同时声明多个变量,为所有变量赋值
            System.out.println(num7);
            System.out.println(num8);

    如果调用了声明但是未初始化的变量呢?

            int num9;
            System.out.println(num9);

    编译将会报错

    $ javac -encoding utf-8 Helloworld.java
    Helloworld.java:32: error: variable num9 might not have been initialized
            System.out.println(num9);
                               ^
    1 error
    

    调用不存在的变量呢

    System.out.printf(num);
    javac -encoding utf-8 Helloworld.java
    Helloworld.java:10: error: cannot find symbol
            System.out.printf(num);
                              ^
      symbol:   variable num
      location: class Helloworld
    1 error
    
  3. boolean 基本类型

            boolean bool1=true;
            boolean bool2=false;
            boolean bool3;
            System.out.println(bool1);
            System.out.println(bool2);
            // System.out.println(bool3);// 调用声明但是未赋值的变量调用将会报错
    
  4. char 基本类型

        char char1 = 'a';
        char char2;
        System.out.println(char1);
        //System.out.println(char2);// 调用声明但是未赋值的变量调用将会报错

    赋值为空字符串呢

    char char3='';
    System.out.println(char3);

    将会报错

    $ javac -encoding utf-8 Helloworld.java
    Helloworld.java:47: error: empty character literal
            char char3='';
                       ^
    Helloworld.java:47: error: unclosed character literal
            char char3='';
                        ^
    Helloworld.java:48: error: ';' expected
            System.out.println(char3);
                  ^
    3 errors
    
  5. float基本类型

        float float1=0.1f;
        float float2;
        System.out.println(float1);
        // System.out.println(float2);// 调用声明但是未赋值的变量调用将会报错
    

    如果不写f呢

        float float3=0.3;
        System.out.println(float3);

    整数默认是int,小数默认是double,所以会报错

    $ javac -encoding utf-8 Helloworld.java
    Helloworld.java:54: error: incompatible types: possible lossy conversion from double to float
            float float3=0.3;
                         ^
    1 error
  6. double基本类型

        double double1 = 0.1;
        double double2;
        System.out.println(double1);
        // System.out.println(double2);// 调用声明但是未赋值的变量调用将会报错
  7. long 基本类型

        long long1=1L;
        long long2;
        System.out.println(long1);
        // System.out.println(long2);// 调用声明但是未赋值的变量调用将会报错

    如果不加L呢?也是没有问题的

        long long3=1;
        System.out.println(long3);
  8. short 基本类型

        short short1=1;
        short short2;
        System.out.println(short1);
        // System.out.println(short2);// 调用声明但是未赋值的变量调用将会报错
  9. byte 基本类型

        byte byte1=1;
        byte byte2;
        System.out.println(byte1);
        // System.out.println(byte2);// 调用声明但是未赋值的变量调用将会报错

followWinter
1.5k 声望82 粉丝

暂时没有