Java基础语法

本文详细讲解了Java的基础语法,包括单行和多行注释、文档注释,以及标识符与关键字的规则。介绍了Java的强类型数据类型,如基本类型和引用类型,以及类型转换、变量、常量、作用域和运算符。此外,还涉及包机制、JavaDoc文档生成和一些关键概念的实战演示。
摘要由CSDN通过智能技术生成

Java基础语法

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

注释

单行注释

//单行注释

多行注释

/*注释一段文字
    多行注释
*/

文档注释

/**可识别内容
* @Description HelloWorld
*/

标识符和关键字

关键字

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

标识符

  • 以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始

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

  • 不能使用关键字作为变量名或方法名

  • 标识符是大小写敏感的。

  • 可以使用文中命名,但一般不建议这样去用,也不建议使用拼音,很low


2、数据类型

强类型语言:要求变量的使用要严格符合规定, 所有变量都必须点定义后才能使用

弱类型语言:要求变量的使用不用严格符合规定

基本类型(primitive type)

类型字节范围
byte(字节)1-128~127
short(短整型)2-32768~32767
int(整型)4-2147483648~2147483647
long(长整型)8-9223372036854775808~9223372036854775807
float(单精度浮点型)4NAN
double(双精度浮点型)8NAN
char(字符型)2NAN
boolean(布尔型)1Ture,False(占1位(bit))

引用类型(reference type)

面试题

public class HelloWorld {
    public static void main(String[] args) {
        //整数拓展:进制   二进制0b   十进制     八进制0    十六进制0x
        int i1 = 10;
        int i2 = 0b10;//二进制0b
        int i3 = 010;//八进制0
        int i4 = 0x11;//十六进制0x  0~9 A~F 16
        System.out.println(i1);//10
        System.out.println(i2);//2
        System.out.println(i3);//8
        System.out.println(i4);//17
        System.out.println("=========================");
        //=========================
        //浮点数拓展?    银行业务怎么表示?钱
        //BigDecimal    数学工具类   处理银行业务
        //=========================
        //float 有限  离散  舍入误差    大约  接近但不等于
        //double
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        float f = 0.1f;//0.1
        double d = 1.0/10;//0.1
        System.out.println(f);
        System.out.println(d);
        System.out.println(f==d);//false
        float d1 = 23131312312312313f;
        float d2 = d1 + 1;
        System.out.println(d1==d2);//ture
        //=========================
        //字符拓展
        //=========================
        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);//强制换行
        //所有的字符本质还是数字
        //编码   Unicode 表:(97 = a 65 = A)    2字节 0-65536 Excel最长只有2^16=65536
        //U0000  UFFFF
        char c3 = '\u0061';
        System.out.println(c3);//a
        //转义字符
        //  \t制表符
        //  \n  换行
        // .....
        System.out.println("\n");
​
        //
        String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa==sb);
​
        String sc = "hello world";
        String sd = "hello world";
        System.out.println(sc==sd);
        //对象 从内存分析
        //...
​
        //布尔值扩展
        boolean flag = true;
        if (flag==true){}   //新手
        if (flag){} //老手
        //Less is More! 代码要精简易读
        
    }
}

3、类型转换

由于Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换。

//低------------------------------------------>高
//byte, short, char->int->long->float->double
//浮点数优先级大于整数,所有float大于long
  • 运算中,不同雷西那个的数据先转化为同一类型,然后进行运算。

  • 强制转换(高到低)

    int i = 128;
    byte b = (byte)i;//强制转换
  • 自动转换(低到高)

    int i = 128;
    double b = i;//自动转换
    System.out.println("=============");
    char c = 'a';
    int d = c+1;//自动转换:98

注意点:1.不能对布尔值进行转换

2.不能把对象类型转换为不相干的类型

3.在把高容量转换到低容量的时候,强制转换

4.转换的时候可能存在内存溢出,或者精度问题!


4、变量、常量、作用域

变量

  • 变量是什么:就是可以变化的量!

  • Java是一种强类型语言,每个变量都必须声明其类型。

  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

注意事项

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。

  • 变量名必须是合法的标识符

  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

变量的命名规范

  • 所有变量、方法、类名:见名知意

  • 类成员变量:首字母小写和驼峰原则:monthSalary

  • 局部变量:首字母小写和驼峰原则

  • 常量:大写字母和下划线:MAX_VALUE

  • 类名:首字母大写和驼峰原则:Man,GoodMan

  • 方法名:首字母小写和驼峰原则:run(), runRun()

常量

  • 常量(constant):初始化(initialize)后不能再改变值!,不会变动的值。

  • 所谓常量可以理解城一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。

    final 常量名=值;
    final double PI=3.14;
  • 常量名一般使用大写字符 。

变量作用域

  • 类变量:可以直接在局部内使用,不用再创建对象。

  • 实例变量:从属于对象;如果不自行初始化,这个类型的默认值int(0),float(0.0),boolean(false),除了基本类型,其余默认值都是null。

  • 局部变量:必须声明和初始化值

    static int allClicks = 0;//类变量
    String str = "hello world";//实例变量
    public void method(){
        int i = 0;//局部变量
    }

5、基本运算符

算术运算符+,-,*,/,%,++,--
赋值运算符=
关系运算符>,<,>=,<=,==,!= instanceof
逻辑运算符&&,||,!
位运算符&,|,^,~,>>,<<,>>>(了解!!!)
条件运算符?:
扩展赋值运算符+=,-=,*=,/=
&&两个都为真,结果为ture
||有一个为真,结果为ture
如果为真,则变为假

位运算

public class Demo1 {
    public static void main(String[] args) {
        /*
         A = 0011 1100
         B = 0000 1101
​
         A&B = 0000 1100
         A|B = 0011 1101
         A^B = 0011 0001
         ~B = 1111 0010
​
         面试题
         2*8 = 16   2*2*2*2
         <<     *2
         >>     /2
         0000 0000  0
         0000 0001  1
         0000 0010  2
         0000 0100  4
         0000 1000  8
         0001 0000  16
           */
        System.out.println(2<<1);//4
        System.out.println(2<<2);//8
        System.out.println(2<<3);//16
        System.out.println(2<<4);//32
    }
}
​

字符串连接符:+

public class Demo2 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        a+=b;// a = a + b
        a-=b;// a = a - b
        System.out.println(a);
​
        //字符串连接符    +   ,String
        System.out.println(""+a+b);//1020
        System.out.println(a+b+"");//30
    }
}

优先级

优先级运算符结合行
1()、[]、{}从左向右
2!、+、-、~、++、--从右向左
3*、/、%从左向右
4+、-从左向右
5<<、>>、>>>从左向右
6<、<=、>、>=、instanceof从左向右
7==、!=从左向右
8&从左向右
9^从左向右
10|从左向右
11&&从左向右
12||从左向右
13?:从右向左
14=、+=、-=、*=、/=、&=、|=、^=、~=、<<=、>>=、>>>=从右向左

6、包机制

  • 包的本质就是文件夹

  • 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。

  • 包语句的语法格式为:

    package pkg1[. pkg2[. pkg3...]];
  • 一般利用公司域名倒置作为包名;

  • 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用"import"语句可完成此功能

    import package1[.package2].(classname|*);

7、JavaDoc生成文档

  • JavaDoc命令是用来生成自己API文档的

  • 参数信息

    • @author 作者名

    • @version 版本号

    • @since 指明需要最早使用的jdk版本

    • @param 参数名

    • @return 返回值情况

    • @throws 异常抛出情况

Dos操作

IDEA操作

1.

2.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值