JAVA基础语法

基础语法

1、注释、标识符、关键字

1.1注释

java中的注释类型有三种:

  • 单行注释
  • 多行注释
  • 文档注释

文档注释

    /**
     * 
     * @param entityType
     * @param entityId
     * @param entityUserId
     * @param postId
     * @return
     */

1.2标识符、关键字

在这里插入图片描述

java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

标识符注意点

  • 所有的标识符都应该以字符(A-Z或者a-z),美元符($)、或者下划线(_)开始

  • 首字母之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或者数字或者任何字符组合

  • 不能使用关键字作为变量名或者方法名
  • 标识符是大小写敏感的
  • 变量名或方法名可以使用中文,但我们不会使用

2、数据类型

java是强类型语言,要求变量的使用要严格符合规定,所有变量必须先定义后使用

在这里插入图片描述

public class Data_type {

    public static void main(String[] args) {
        //八大基本数据类型


        //整形
        byte num1 = 10; //一个字节
        short num2 = 20; //两个字节
        int num3 =30;  //最常用 四个字节
        long num4 =40; //八个字节

        //浮点型
        float num5 = 50.1F; //fload类型需要在后面加F标识
        double num6= 3.1415926535;



        //字符
        char name= 'A';
        //字符串不是基本类型,String不是关键字,是一个类
        String name1 = "Alpha";


        //boolean
        boolean flag =true;
//        boolean flag =false;
    }
}

数据类型扩展:

public class Data_type_2 {

    public static void main(String[] args) {

        //整形扩展  二进制0b开头 八进制0开头 十进制  十六进制0x开头
        int num1 = 0b1010; //二进制0b
        int num2 = 010;  //八进制0
        int num3 =10;
        int num4 =0x10; //十六进制0x

        System.out.println(num1);
        System.out.println(num2);
        System.out.println(num3);
        System.out.println(num4);


        System.out.println(" =========================================");
        //浮点数扩展  处理银行业务用什么数据类型?
        //float 有限 离散 舍入误差 大约 接近不等于
        //最后完全避免使用浮点数进行比较,在银行业务中使用BigDecimal数学工具类
        //double


        float f = 0.1F; //0.1
        double d = 1.0/10;//10
        System.out.println(f==d);//false


        float d1 = 2333333333333333333f;
        float d2 = d1 +1;
        System.out.println(d1==d2);//true



        System.out.println(" =========================================");
        //字符扩展
        char c1 = 'A';
        char c2 ='中';

        System.out.println(c1);
        System.out.println((int) c1);
        System.out.println(c2);
        System.out.println((int) c2);
        System.out.println('\u0062');

        //所有的字符本质还是数字
        //编码 Unicode


        System.out.println("=============================================");
        //转义字符
        System.out.println("hello\nworld");

    }
}

注意点:

1.最好完全避免使用浮点数进行比较,有一些小数,十进制是有限的,二进制是无限的

比如十进制的0.1用二进制表示就是0.00011001100110011……

这是一个无限循环小数,显然不可能用有限的空间存储一个无限的数字

那么我们就会对它做一个截取操作,只取小数点后x位。

所以实际上二进制存储起来的0.1要比十进制所表示的那个0.1要小。

2.所有的字符本质还是数字

3、类型转换

java是强类型语言,在有些运算时,需要用到类型转换。

----------------------------->byteshortchar--->int--->long--->fload---->double

从高到低转换需要强制转换后,从低到高不用

public class Type_conversion {

    public static void main(String[] args) {
        int i = 128;
        byte b = (byte) i; //内存溢出,byte范围在-128~127

        System.out.println(b);//-128

        //强制转换 (类型)变量名  高---低
        //自动转换  低---高

        /***
         * 注意点
         * 1.不能对布尔值进行转换
         * 2.不能把对象类型转换为不相干的类型
         * 3.在吧高容量转换到低容量的时候,强制转换
         * 4.转换的时候可能存在内存溢出,或精度问题
         */


        System.out.println("==========================");
        System.out.println((int) 23.7);//23
        System.out.println((int) -45.89f);//-45


        System.out.println("==============================");
        char c = 'a';
        int d = c+1;
        System.out.println((int) c);//97
        System.out.println(d);//98
    }
}

在运算中,不同类型的数据先转换为同一类型,然后进行运算。

public class Type_conversion_2 {

    public static void main(String[] args) {
        //操作比较大的数时候,注意溢出问题
        //JDk7新特性,数字之间可以用下划线分割
        int money = 10_0000_0000;
        System.out.println(money);


        int years = 20;
        int total = money*years;
        System.out.println(total);//-1474836480 溢出

        long total2=money*years;
        System.out.println(total2);//-1474836480同样会溢出,因为是先计算了在转换

        long total3 = money*(long) years;
        System.out.println(total3);//20000000000先转换在计算

    }
}

4、变量、常量、作用域

java变量是程序中最基本的存储单元(变量其实是内存单元里的一个地址),其要素包括变量名,变量类型和作用域。

注意事项:

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型;
  • 变量名必须是合法的标识符;
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束;

变量的作用域:

类变量:在类里面,方法外面,用static修饰,可以不初始化值(有默认值)

实例变量:在类里面,方法外面,有默认值

局部变量:在方法里面,无默认值,需要初始化值

public class Variable {

    //属性:变量

    //实例变量:从属于对象
    String name;
    int age;

    //类变量
    static int i=2500;

    public static void main(String[] args) {
        

        //实例变量   有默认值
        Variable variable = new Variable();
        System.out.println(variable.age);
        System.out.println(variable.name);


        //类变量  有默认值
        System.out.println(i);

        variable.add();

    }



    //
    public void add(){
        //局部变量
        int i =1;
        System.out.println(i);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值