Java基础语法

本文详细介绍了Java编程的基础概念,包括单行、多行注释的使用,标识符的命名规则,以及数据类型的分类与操作,如基本类型、强弱类型的区别,以及变量、常量和运算符的基础知识。

Java基础语法

1.注释

//单行注释

/*
多行注释
*/

/**
 *@文档注释
 */

//有趣的注释
/*
*   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`   `4!!!!!!!!!!~4!!!!!!!!!!!!!!!!!
*   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!   <~:   ~!!!~   ..  4!!!!!!!!!!!!!!!
*   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  ~~~~~~~  '  ud$$$$$  !!!!!!!!!!!!!!!
*   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  ~~~~~~~~~: ?$$$$$$$$$  !!!!!!!!!!!!!!
*   !!!!!!!!!!!`     ``~!!!!!!!!!!!!!!  ~~~~~          "*$$$$$k `!!!!!!!!!!!!!
*   !!!!!!!!!!  $$$$$bu.  '~!~`     .  '~~~~      :~~~~          `4!!!!!!!!!!!
*   !!!!!!!!!  $$$$$$$$$$$c  .zW$$$$$E ~~~~      ~~~~~~~~  ~~~~~:  '!!!!!!!!!!
*   !!!!!!!!! d$$$$$$$$$$$$$$$$$$$$$$E ~~~~~    '~~~~~~~~    ~~~~~  !!!!!!!!!!
*   !!!!!!!!> 9$$$$$$$$$$$$$$$$$$$$$$$ '~~~~~~~ '~~~~~~~~     ~~~~  !!!!!!!!!!
*   !!!!!!!!> $$$$$$$$$$$$$$$$$$$$$$$$b   ~~~    '~~~~~~~     '~~~ '!!!!!!!!!!
*   !!!!!!!!> $$$$$$$$$$$$$$$$$$$$$$$$$$$cuuue$$N.   ~        ~~~  !!!!!!!!!!!
*   !!!!!!!!! **$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$Ne  ~~~~~~~~  `!!!!!!!!!!!
*   !!!!!!!!!  J$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$N  ~~~~~  zL '!!!!!!!!!!
*   !!!!!!!!  d$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$c     z$$$c `!!!!!!!!!
*   !!!!!!!> <$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$> 4!!!!!!!!
*   !!!!!!!  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$  !!!!!!!!
*   !!!!!!! <$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*"   ....:!!
*   !!!!!!~ 9$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$e@$N '!!!!!!!
*   !!!!!!  9$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$  !!!!!!!
*   !!!!!!  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$""$$$$$$$$$$$~ ~~4!!!!
*   !!!!!!  9$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$    $$$$$$$Lue  :::!!!!
*   !!!!!!> 9$$$$$$$$$$$$" '$$$$$$$$$$$$$$$$$$$$$$$$$$$    $$$$$$$$$$  !!!!!!!
*   !!!!!!! '$$*$$$$$$$$E   '$$$$$$$$$$$$$$$$$$$$$$$$$$$u.@$$$$$$$$$E '!!!!!!!
*   !!!!~`   .eeW$$$$$$$$   :$$$$$$$$$$$$$***$$$$$$$$$$$$$$$$$$$$u.    `~!!!!!
*   !!> .:!h '$$$$$$$$$$$$ed$$$$$$$$$$$$Fz$$b $$$$$$$$$$$$$$$$$$$$$F '!h.  !!!
*   !!!!!!!!L '$**$$$$$$$$$$$$$$$$$$$$$$ *$$$ $$$$$$$$$$$$$$$$$$$$F  !!!!!!!!!
*   !!!!!!!!!   d$$$$$$$$$$$$$$$$$$$$$$$$buud$$$$$$$$$$$$$$$$$$$$"  !!!!!!!!!!
*   !!!!!!! .<!  #$$*"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*  :!!!!!!!!!!!
*   !!!!!!!!!!!!:   d$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#  :!!!!!!!!!!!!!
*   !!!!!!!!!!!~  :  '#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*"    !!!!!!!!!!!!!!!
*   !!!!!!!!!!  !!!!!:   ^"**$$$$$$$$$$$$$$$$$$$$**#"     .:<!!!!!!!!!!!!!!!!!
*   !!!!!!!!!!!!!!!!!!!!!:...                      .::!!!!!!!!!!!!!!!!!!!!!!!!
*   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*
*/ 

2.标识符

标识符(identifier),是指类名(包括接口、枚举、抽象类)、方法名、变量、常量名、包名等可以自定义的字符组合。

要遵循如下规则:

  1. 只能以字母、下划线、$符号开头,不能以数字开头;
  2. 由字母, 下划线, 数字, $符号组成;
  3. 标识符长度没有限;
  4. 区分大小写
  5. 不能用关键字作为变量名或方法名和类名

3.数据类型

1.强类型语言

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

2.弱类型语言

Java数据类型分类:

1.基本类型(primitive type)
1. 数值类型

​ 整数类型:

  1. byte(1字节 范围:-128-127)

  2. short(2字节 范围:-32768-32767)

  3. int(4字节 范围:-2147483648-2147483647)

  4. long(8字节 -9223372036854775808-9223372036854775807)

    long num=40L
    

    浮点类型:

    1. float(4字节)

      float num=40.1F
      
    2. double(8字节)

​ 字符类型:

      1. char(2字节)

字符串,string不是关键字,是一个类

2. boolean类型

​ true和false(1位)

2.引用类型(reference type)
  1. 接口

  2. 数组

面试题:

  1. 银行业务怎么表示?
float s=0.1f;
        double x=1.0/10;
        System.out.println(s==x);

输出是false

float 有限 离散 舍入误差 大约 接近但不等于

最好完全避免使用浮点数表示

使用BigDecimal 数学工具类

4.类型转换

低——————————————————————高

byte,short,char->int->long->float->double

1.强制类型转换

(类型)变量名(高到低)

2.自动类型转换

(低到高)

3.注意事项

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

5.变量

  1. 变量是什么:就是可以变化的量。
  2. Java是一种强类型语言,每个变量都必须声明其类型单元。
  3. java变量是程序中最基本的存储,其要素包括变量名,变量类型和作用域。

变量作用域

  1. 类变量

    定义在类中的变量(静态变量),从属于类,需要加关键字static

    方法中可以直接调用

  2. 实例变量

    定义在类中的变量,从属于对象。

    在方法中要调用先new一个类在调用

  3. 局部变量

    写在方法中,必须声明和初始化值

变量的命名规范

所有的变量、方法、类名:见名知意。
类成员变量:首字母小写和驼峰原则。 monthSalary 除了第一个单词以外,后面单词首字母大写
局部变量:首字母小写和驼峰原则。
常量:大写字母和下划线。
类名:首字母大写和驼峰原则。
方法名:首字母小写和驼峰原则。

6.常量

常量:初始化之后不能在改变值!不会变动的值。
所谓常量可以理解为一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。

final 常量名 = 值;

常量名一般为大写字母。

final double PI=3.14

7.基本运算符

1.算术运算符

+, - , * , / , % , ++ , --

a++(先赋值,再自增)

++a(先自增,再赋值)

2.赋值运算符

=

3.关系运算符

> , < , >= , <= , == , !=

4.逻辑运算符

&& , || , !

5.位运算符

了解:
& , | , ^ , ~ , >> , << ,>>>

A = 0011 1100

B = 0000 1101

A&B=0000 1100(都为1才是1)

A|B =0011 1101(1个或2个1则为1)

A^B =0011 0001(相同为0,不同为1)

面试题:
2*8怎么运算最快
  1. <<(左移) =*2
  2. .>>(右移) =/2
System.out.println(2<<3);

=16

字符串连接
int a=10;
int b=20;
System.out.println(""+a+b);//结果为1020
System.out.println(a+b+"");//结果为30

6.条件运算符

?: //x?y:z 如果x为真,则结果为y,否则为z

7.扩展赋值运算符

+= , -= , *= , /=

8.Math类

幂运算

double a=Math.pow(3,2)

=9.0

8.运算符优先级

  1. 右结合性,就是在表达式中最右边的操作最先执行,然后从右到左依次执行
  2. 左结合性的操作符(如位操作符“&”和“|”)则是从左至右依次执行

一般而言,单目运算符优先级较高(例:!,++,–),赋值运算符优先级较低。算术运算符优先级较高,关系和逻辑运算符优先级较低。多数运算符具有左结合性,单目运算符、三目运算符、赋值运算符具有右结合性。

9.包机制

用于区别类名的命名空间(本质为文件夹)

package pkg1[.pkg2[.pkg3…]]

一般利用公司域名倒置作为包名:com.baidu.www

导包:

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

.* 导入此包所有类

阿里巴巴开发手册

10.JavaDoc

生成自己API文档的

(加在类上面的是类注释,加在方法上面的是方法注释)

参数信息:

@author 作者名

@version 版本号

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

@param 参数名

@return 返回值情况

@throws 异常抛出情况

package 
    
/**
 * @author 
 * @version 1.0
 * @since 1.8
 */

使用命令行来生成的javadoc文档

右击Doc类,点击Open in->Explore,打开文件所在位置,并通过快捷方式cmd +文档所在位置,打开命令行窗口,输入代码javadoc -encoding UTF-8 -charset UTF-8 Doc.java,这里可以观察到该文件夹里生成了许多新的文件,直接点击index文件(表示主页)即可查看所生成的API和帮助文档

使用IDEA生产JavaDoc文档

这里是参考网上的一篇博客,点击跳转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值