3 - Java基础语法

2021-01-28 07:15

阅读:449

标签:reference   c++   自动转换   img   严格   面试题   条件   ret   类型转换   

3 - Java基础语法

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

注释

注释不会被执行,只是给写代码的人看的,书写注释是一个良好的习惯。

新建项目,编写代码之前确保项目SDK选中安装的java版本,且两处版本保持一致。

技术图片

 

 

Java中的三种注释:

  • 单行注释 (// 注释)

  • 多行注释 (/* 注释 */)

  • 文档注释 (/** 注释 */,每行注释前都有 *)

关键字

技术图片 

标识符

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

  • 标识符命名注意点:

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

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

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

    ④标识符是大小写敏感的;

    ⑤可以使用中文命名,但不建议使用,也不建议使用拼音。

2. 数据类型

强类型语言(Java,C++):要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用(安全性高,但速度慢);

弱类型语言(VB,JS):

Java的数据类型分为两大类:

  • 基本数据类型(primitive type,八大种):

    ①数值类型:

    整数类型:byte,占1个字节;short,占2个字节;int,占4个字节(最常用);long,占8个字节(要在数字后加上字母“L”以示区分)。

    浮点类型:float,占4个字节(在数字后加上字母“F”);double,占8个字节(常用)。

    字符类型:char,占2个字节。

    ②boolean类型:占1位,其值只有true和false两个。

  • 引用数据类型(reference type):

    ①类

    ②接口

    ③数组

扩展:

  • 整数扩展:

    进制,二进制0b,八进制0,十进制,十六进制0x。

  • 浮点数扩展:

    有限,离散,存在舍入误差,接近但不等于。最好完全避免使用浮点数进行比较。

    例:银行业务,可使用BigDecimal数学工具类进行计算。

  • 字符扩展:

    所有的字符本质还是数字。

    转义字符:\t,制表符;\n,换行......

  • 布尔扩展:

    if (flag == true)就是if (flag)

3. 类型转换

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

优先级低-->高:byte, short, char -> int -> long -> float -> double

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

  • 强制转换:(类型)变量名,高->低

  • 自动转换:低->高

注意点:

①不能对布尔值进行转换;

②不能把对象类型转换为不相干的类型;

③在把高容量转换到低容量时,强制转换;

④转换时可能存在内存溢出或精度问题!

注:JDK7新特性,数字之间可以用下划线分割,如10_0000_0000。

4. 变量、常量

变量

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

注意点:

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

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

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

变量作用域:

①类变量:关键字static,在类内部,方法外部。

②实例变量:在类内部,方法外部;从属于对象;如果不自行初始化,会赋予这个类型的默认值(布尔值默认值为false,除了基本类型,其余默认值都是null)

③局部变量:在方法内部;必须声明和初始化值。

常量

不会变动的值;可以理解为一种特殊的变量,它的值一旦被设定,在程序运行过程中不允许被改变。

final 常量名 = 值;

注:修饰符不存在先后顺序。

变量的命名规范

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

②类成员变量:首字母小写和驼峰原则,除了第一个单词以外,后面的单词首字母大写,如monthSalary;

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

④常量:大写字母和下划线,如MAX_VALUE;

⑤类名:首字符大写和驼峰原则,如Man, GoodMan;

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

5. 运算符

算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、条件运算符、扩展赋值运算符

两个操作数中有一个为long类型,则结果也为long类型;两个操作数都不是long类型,则无论操作数是否为int类型,结果都为int类型。

扩展:

  • 幂运算:Java中不能直接使用2^3,而需要使用一些工具类来操作,Math.pow(2, 3)。

  • 短路运算:逻辑运算中,是否执行后面的语句,需要根据前面语句的真假性决定。

  • 面试题:2×8怎样运算最快?使用位运算符

  • 字符串连接符“+”,只要加号两侧有一侧出现了String类型,就会将另一侧转换为字符串并进行连接。

6. 包机制、JavaDoc

包机制

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

package pkg1[.pkg2[.pkg3 ...]];

 

一般使用公司域名倒置作为包名。

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

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

 

JavaDoc

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

命令:javadoc 参数 java文件

参数信息:@author; @version; @since; @param; @return; @throws。

附:狂神b站视频链接

3 - Java基础语法

标签:reference   c++   自动转换   img   严格   面试题   条件   ret   类型转换   

原文地址:https://www.cnblogs.com/java-learning-xx/p/12830871.html


评论


亲,登录后才可以留言!