Java基础-1-基本语法

写于 2019.5.9

参考:www.java1234.com

安装Java

(1) 安装

  • 在oracle官网下载好jdk1.8 windows x64安装程序
  • 按默认安装jdk和jre

(2) 配置环境

修改计算机->属性->高级系统设置->环境变量->系统变量

  • 新建Java_Home变量,值为:"C:\Program Files\Java\jdk1.8.0_211",注意需要加引号
  • 编辑Path变量,添加两项:%Java_Home%\bin;%Java_Home%\jre\bin;
  • 新建CLASS_PATH变量,内容为:.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar,前面的.表示当前工程目录

(3) 验证配置是否成功

打开cmd

C:\Users\Dell>java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

C:\Users\Dell>javac -version
javac 1.8.0_211

说明配置成功。

Hello, world

/**
 * 这是一个HelloWorld类:打印星号
 * @author gdzhu
 *
 */
public class HelloWorld {
    /**
     * 这是一个main入口方法
     * @param args 参数
     */
    public static void main(String[] args)
    {
        System.out.println("Hello, World!");
        int n = 3;
        for(int i=1; i<=2*n-1; i++)
        {
            int j = Math.abs(n-i) ;
            printStars(j, 2*(n-j)-1);
        }
    }
    public static void printStars(int startIndex, int amount)
    {
        for(int i=0; i<startIndex; i++)
            System.out.print(" ");
        for(int i=0; i<amount; i++)
            System.out.print("*");
        System.out.println();
    }
}

输出

Hello, World!
  *
 ***
*****
 ***
  *

Java基础

(1) 基本数据类型(8种)

  • 整型:
    • byte:1字节,范围[-128,127]
    • short: 2字节,范围[-32768,32767]
    • int: 4字节,范围[-2147483648,2147483647]
    • long: 8字节,范围[-9223372036854775808,9223372036854775807]
  • 浮点型:
    • float: 4字节,范围[1.4E-45,3.4028235E38]
    • double: 8字节,范围[4.9E-324,1.7976931348623157E308]
  • 字符型
    • char: 2字节,包括单个字符('a')、转义字符('\n')、unicode编码('\u6731')
  • 布尔型
    • boolean: 值为true或false,不能进行数值运算,只能作为逻辑判断

注意:Java作为强类型语言,比C语言对类型的转换要求更加严格

(2) 类型转换

  • 自动类型转换:范围小的类型向范围大的类型可以自动转换,不影响数据的正确性。

  • 强制类型转换:范围大的类型向范围小的类型转换,可能损失精度,需要强制转换,表示程序员自己明白转换的风险。

/**
 * 测试基本Java类型
 */
public class BasicJavaType {
    public  static  void main(String[] args)
    {
        // int类型
        int minIntVal = Integer.MIN_VALUE;
        int maxIntVal = Integer.MAX_VALUE;
        print("int: min=" + minIntVal + ", max=" + maxIntVal);

        // byte类型
        byte minByteVal = Byte.MIN_VALUE;
        int maxByteVal = Byte.MAX_VALUE;
        print("byte: min=" + minByteVal + ", max=" + maxByteVal);

        // short类型
        short minShortVal = Short.MIN_VALUE;
        short maxShortVal = Short.MAX_VALUE;
        print("short: min=" + minShortVal + ", max=" + maxShortVal);

        // long类型强制转换为int
        long minLongVal = Long.MIN_VALUE;
        long maxLongVal = Long.MAX_VALUE;
        print("long: min=" + minLongVal + ", max=" + maxLongVal);

        // float类型
        float minFloatVal = Float.MIN_VALUE;
        float maxFloatVal = Float.MAX_VALUE;
        print("float: min=" + minFloatVal + ", max=" + maxFloatVal);

        float f = 0.1f; // 必须加后缀f,java中的值默认为double,无法自动转成float
        print("f="+f);

        // double类型
        double minDoubleVal = Double.MIN_VALUE;
        double maxDoubleVal = Double.MAX_VALUE;
        print("double: min=" + minDoubleVal + ", max=" + maxDoubleVal);

        // char类型
        char c1 = 'A';
        char c2 = 'b';
        char c3 = '3';
        print(c1);
        print(c2);
        print(c3);

        // 转义字符
        char c4 = '\'';
        char c5 = '\\';
        print(c4);
        print(c5);

        // unicode字符
        char c6 = '\u4f60';
        char c7 = '\u597d';
        char c8 = '\u554a';
        print(c6+""+c7+""+c8);

        // boolean类型
        boolean b1 = true;
        print(b1);
        boolean b2 = false;
        print(b2);

        // 自动类型转换
        short s1 = 1;
        int i1 = s1;
        print("i1="+i1);


        // 强制类型转换
        byte bb1 = -1;
        char cc1 = (char)bb1;
        print(cc1);
    }

    public static void print(Object obj) {
        System.out.println(obj);
    }
}

输出

int: min=-2147483648, max=2147483647
byte: min=-128, max=127
short: min=-32768, max=32767
long: min=-9223372036854775808, max=9223372036854775807
float: min=1.4E-45, max=3.4028235E38
f=0.1
double: min=4.9E-324, max=1.7976931348623157E308
A
b
3
'
\
你好啊
true
false
i1=1
?

猜你喜欢

转载自www.cnblogs.com/vincent-zhu/p/10841725.html