`
赵雅智
  • 浏览: 97756 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

赵雅智_java语言基础

 
阅读更多
  1. 分隔符、标识符以及关键字
  2. java程序的注释
  3. 基本数据类型
  4. 编码惯例

分隔符

起到分隔作用的符号。

  • 分号(“;”) :语句结束的标记 、for循环中分隔不同的成分
  • 逗号(“,”):方法声明或调用参数列表中,用于分隔多个参数int a,b;
声明语句中,同时声明多个属性或者局部变量时,起分割作用public void fun(int a,int b);
  • 圆点(“.”) :访问对象成员(属性或方法)标明调用或隶属关系。对象名.成员名、 类名.成员名
  • 空格(“ ”) :分隔源代码中不同的部分
标识符(identifier)

起到标识作用的符号。

  • 标识符必须以字符、下划线(“_”)或美元符(“$”)开头,后跟字符、下划线、美元符或数字(0~9)。
  • 长度无限制。
  • 即区分大小写。
  • 不允许Java关键字

关键字

Goto和const虽未起任何作用,但为避免无用也被作为关键字保留下来;
True和false虽不是关键字,但也已被用作专门用途,因此不可做标识符使用;
Java关键字都是小写。


java程序的注释

  • // :本行;
  • /* */ :注释内容可以跨行,适用于内容较长的注释;
  • 以/***/:注释内容可以跨行。使用JDK中提供的文档化工具javadoc可以将这种注释的内容提取出来自动生成软件说明文档 。
  • 多行套单行,单行套单行,多行不套多行

数据类型的分类

  • 作用:确定内存大小
  • 将数据按数据性质进行分类,每一类称为一种数据类型(datatype)。
  • 数据类型定义了数据的性质、取值范围、存储方式以及对数据所能进行的运算和操作。
  • 都是小写的。
  • 基本数据类型:Java语言中预定义的、长度固定的、不能再分的类型,数据类型的名字被当作关键字保留。

类型名称

关键字

所占字节

取值范围

默认值

字节型

byte

1

-27~27-1

(byte)0

短整型

short

2

-215~215-1

(short)0

整型

int

4

-231~231-1

0

长整型

long

8

-263~263-1

0

单精度浮点数

float

4

-3.4E38~3.4E38

0.0

双精度浮点数

double

8

-1.7E308~1.7E308

0.0

字符型

char

2

0~65535

\u0000

布尔型

boolean

1

truefalse

false

  • 常量和变量
  • 常量
  • 整型常量

    默认为int。12-98245 0122 0x4f 5649L

    浮点常量

    默认为double。1.23 1..23E-5 1.23e+2 1.23f 1.23e+3f

    布尔型常量

    truefalse

    字符型常量

    单个字符,转义字符,八进制,Unicode字符。' a''汉''\n ' ' \141 ' ' \u234f'

    字符串常量

    属于对象,引用数据类型。“this is a string!\n”


  • 变量
  • 变量的声明
<类型> <变量名> [=<初值>][,<变量名>[=<初值>]…]; int a,b; float var=1.2f; char c1,c2=‘a’;
  • 变量的作用域 变量的作用域也称变量的作用范围,即一个变量在多大的范围内可以使用。
  1. 类中声明的变量
  2. 方法中声明的变量
  3. 复合语句中声明的变量

class TestDefinition{
static String str = "Hello\t"; 类的全局变量
public static void main(String[] args){
String stringVar = "Java"; main的局部变量
System.out.println(str + stringVar);
show();
}
static void show(){
String stringVar = "中国"; show()的局部变量
System.out.println(str + stringVar);
}

}

编码惯例

项目

命名规则

说明/举例

名词或名词性词组,每个单词首字母大写;一般不使用缩写,除非其缩写更通用和便于理解,如HTML

class Person;

class SprintRain;

方法

动词或动词性词组,首字母小写,第二个及以后的单词首字母大写

run();

displayInfo();

接口

同“类”的命名规则。

interface Runner;

变量

名词或名词性词组,首字母小写,第二个及以后的单词首字母大写;不提倡使用下划线“_”和美元符作为变量开头;单词间可以使用下划线分隔;变量名不宜$过长但也应有意义,除非是临时使用(例如只涉及几行代码)后即丢弃的情况,不建议使用单个字母做变量名,常用的单字母变量名包括表示整数的ijkmn和表示字母的c以及表示异常对象的e等。

int i;

char c;

double salary;

int age;

int student_age;

String studentName;

Exception e;

常量

名词或名词性词组,全部大写;单词间使用下划线分隔。

finalintMAX_LEVEL=10;

名词或名词性词组,全部小写;一般使用本公司/组织网站域名的逆序、后跟具体的软件内部模块名

packagecom.sun.java;

packagecom.mycompay.db;


文件的组织
  • 建议一个源文件中只定义一个Java类或接口,无论该类或接口是否被声明为public的,文件名都以类名来命名。
  • 源文件中各成分的出现顺序为:开始的注释、package语句、import语句、类/接口声明
  • 各种成分的排列,推荐的顺序:
    属性声明、构造方法声明、static语句、普通方法声明、main方法声明、内部类的声明
分割
  • 空行
  1. 方法之间
  2. 方法的内部代码的逻辑段落小结间
  3. 方法中声明局部变量之后,具体的java语句之前
  4. 注释行之前
  5. 同1源文件中,定义多个类、接口之间
  • 空格
  1. 参数列表“,”后
  2. 运算符与运算数之间
  • 换行符
  • 小括号
  1. 优先级
  • 花括号
  • 缩进
  1. 类中成分
  2. 方法体或语句块中的成分
  3. 换行时的非起始行
声明语句
  • 声明一个变量,尽量在声明童同时初始化,除非初始值不确定
  • 避免将变量不必要的声明在外层范围内

分享到:
评论

相关推荐

    node-v8.1.4-linux-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    麦肯锡-xxKPI方案gl.ppt

    麦肯锡-xxKPI方案gl.ppt

    基于Transformer模型构建的聊天机器人python源码+运行说明.zip

    一、简介 基于Transformer模型构建的聊天机器人,可实现日常聊天。 二、系统说明 2.1 功能介绍 使用者输入文本后,系统可根据文本做出相应的回答。 2.2 数据介绍 * 百度中文问答 WebQA数据集 * 青云数据集 * 豆瓣数据集 * chatterbot数据集 由于数据集过大,因此不会上传,如有需要可以在issue中提出。 2.3. 模型介绍(v1.0版本) 基于Transformer模型,使用Python中的keras-transformer包。 训练的参数文件没有上传,如有需要可在issue中提出。 三、注意事项 * keras-transformer包需要自行安装:`pip install keras-transformer`。 * 如果需要实际运行,参数文件放在`ModelTrainedParameters`文件下;`ListData`文件下包含了已经处理好的字典等数据,不需要修改,直接运行Main.py即可。 * 如果需要自行训练,将数据集文件放在`DataSet`文件下。 * `HyperParameters.py`文件中包含了系统所需

    -大学生心理健康数据集

    -大学生心理健康数据集

    拾放机构3D 拾放机构3D

    拾放机构

    遥控器的飞行控制操作、视频回传、数据透传以及获取无人机的飞行参数等功能

    APP基于DJI Mobile SDK,实现了获取和释放遥控器的控制权限、模拟遥控器的飞行控制操作、视频回传、数据透传以及获取无人机的飞行参数等功能。.zip

    SITRANS LG240 操作说明书

    SITRANS LG240 操作说明书

    基于matlab实现的matlab中的通信工具箱中simulink搭建直接序列扩频系统并进行仿真.rar

    基于matlab实现的matlab中的通信工具箱中simulink搭建直接序列扩频系统并进行仿真.rar

    基于无人机吊舱单目相机的目标定位算法与C++代码实现.zip

    无人机最强算法源码,易于部署和学习交流使用

    360qx无人机app.zip

    无人机最强源码,无人机算法,易于部署和学习交流使用

    无人机降落TRT版本.zip

    无人机最强算法源码,易于部署和学习交流使用

    node-v9.0.0-linux-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    ISO 19453-4-2018.pdf

    ISO 19453-4-2018.pdf

    该项目是一个无人机地面站,通过visual studio编译.zip

    无人机最强算法源码,易于部署和学习交流使用

    node-v10.15.1-linux-ppc64le.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v8.14.0-linux-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v6.11.3-x86.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

Global site tag (gtag.js) - Google Analytics