自学内容网 自学内容网

【Java基础入门篇】一、变量、数据类型和运算符

Java基础入门篇


一、变量、数据类型和运算符

1.1 变量

计算机中的数据表示方式是:“二进制(0/1)”,但是同时也可以兼容其他进制,例如八进制、十进制、十六进制等。

Java变量的本质是:存储在固定空间的内容,变量名是通过名字操作空间,数据是会变化的量。变量可以分为局部变量成员变量静态变量三类。

常量:是用final定义的,一次初始化后就不再更改(由final修饰的变量不能被修改,修饰的方法不能被重写,修饰的类不能被继承)

class Test{
// 定义一个成员变量,属于对象,生命周期伴随对象的始终
int t1 = 100;
// 定义一个静态变量,属于类,生命周期伴随类的始终
static int t2 = 10;
}

写一个简单的方法测试变量定义与输出:

    /*
    * 用于记录变量定义
     */    
public static void testDigital(){
        int age = 18;
        int b; //使用变量前必须初始化
        System.out.println("age: "+ age);
        b = 0;
        System.out.println("b: " + b);
        final double PI = 3.14;
        int r = 4;
        System.out.println("PI is: " + PI + " radius is: " + r + " area is: " + PI * r * r);
    }

在这里插入图片描述

1.2 数据类型

Java数据类型包括8种基本数据类型+3种引用类型

  • 8种基本数据类型:
    • 数值6种:
      • 整数类型:byte(1B),short(2B),int(4B),long(8B)
      • 浮点类型:float(4B),double(8B))
      • :1B = 8bit
    • 字符型:char
    • 布尔型:boolean
  • 3种引用类型:
    • 接口
    • 数组

byte表示一个字节,范围是-2^7 ~ 2^7-1,即-128 ~ +127,中间的0需要抛去。

Java语言定义整形常量的四种表示形式:

  • 二进制(e.g. 要求以0b或0B开头,0b01110011)。

  • 十进制整数(e.g. 99,-500,0);

  • 八进制整数(e.g. 要求以0开头,015);

  • 十六进制(e.g. 要求以0x或0X开头,0x15);

字符集发展-最早是ASCII(英文,数字,特殊字符,控制符),后来发展到了汉语,汉语用两个字节表示(2B)也就是2^16-65536,足以表示所有的汉字,目前汉语最常用的就是UTF-8。

布尔类型(true/false),用于帮助我们进行逻辑判断,通常占用一个字节(1B)或者4个字节(bool数组)

    /*
    * 用于记录不同进制数值
     */
public static void testInt(){
        int a = 100; //十进制
        int b = 015; //八进制
        int c = 0xff; //十六进制
        int d = 0b100110101; //二进制

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);

        int salary = 3000; //默认类型为int
        long yearSalary = 30000000;

        System.out.println(yearSalary);
    }

在这里插入图片描述

1.3 运算符

java提供了丰富的运算符来操作变量,e.g. *, /, %, ++, +=, ==,!=, instanceof, &, |, ?:。当使用算术运算的时候,如果两个操作数有一个为long,最后结果也为long。没有long的时候结构为int(即使操作数权威short,byte)。如果两个操作数其中一个为double,则结果为double,只有两个操作数都未float时,结果才为float。取模运算可以使用浮点数,但是一般使用整数,结果是“余数”,类型为整型,符号与左侧的操作数一致(7%3=1,-7%3=-1)。

    /*
    * 记录浮点数用法
     */
    public  static  void testFloat(){
        double d1 = 3.14;
        double d2 = 3.14E2; //科学计数

        System.out.println("d1: "+ d1+ " d2: " +d2);

        float f1 = 1.65F; //浮点数默认类型是double,改float需要在后面加F
        System.out.println(f1);

        //浮点数不精确,尽量不要直接比较
        float f2 = 0.1F;
        double d3 = 1.0/10;
        System.out.println(f2 == d3);

        float f4 = 324324324L; // 末尾加L表示为long类型
        float f5 = f4 + 1;
        System.out.println(f4 == f5);

    }

在这里插入图片描述

  /*
    * 记录字符串用法
     */
    public static void testChar(){
        char c1 = 'a';
        char c2 = '中';
        char c3 = '\u0061';

        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);

        //java种字符串不是基本数据类型,而是一个类
        String str = "我爱中国";
        System.out.println(str);

        //转义字符
        char c5 = '\n';
        System.out.println("a\nb\nc\n");
        System.out.println("this is a \'book\'");

    }

在这里插入图片描述

除此之外,还有输入/输出方法:

    /*
    * 记录输入/输出用法
     */
    public static void testScanner(){
        Scanner s = new Scanner(System.in);

        System.out.println("请输入姓名:");
        String name = s.nextLine();

        System.out.println("请输入年龄:");
        int age = s.nextInt();

        // 在每一个 next()、nextDouble() 、 nextFloat()、nextInt() 等语句之后加一个nextLine()语句,将被next()去掉的Enter等结束符过滤掉
        // 否则nextLine()会自动读取上一步next()去掉的回车作为自己的输入
        s.nextLine();
        System.out.println("请输入性别:");
        String sex = s.nextLine();

        System.out.println("请输入工资:");
        double salary = s.nextDouble();

        System.out.println("姓名: "+name +" 年龄: "+age+" 性别: "+sex+" 工资: "+salary);


    }

在这里插入图片描述


原文地址:https://blog.csdn.net/weixin_52836217/article/details/144147383

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!