标识符

表示类名的标识符用大写字母开始。

表示方法和变量的标识符用小写字母开始,后面的描述性词以大写开始。

注意

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

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

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

    标识符是大小写敏感的

    合法标识符举例:age、$salary、_value、__1_value

数据类型

几个小知识

  • 位(bit):是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数。

  • 字节(byte):是计算机中 数据处理 的基本单位,习惯上用大写 B 来表示,

  • 1B(byte,字节)= 8bit(位)

  • 字符:是指计算机中使用的字母、数字、字和符号

ASCIIS码:

  • 1个英文字母(不分大小写)= 1个字节的空间

  • 1个中文汉字 = 2个字节的空间

  • 1个ASCII码 = 一个字节

UTF-8编码:

  • 1个英文字符 = 1个字节

  • 英文标点 = 1个字节

  • 1个中文(含繁体) = 3个字节

  • 中文标点 = 3个字节

Unicode编码:

  • 1个英文字符 = 2个字节

  • 英文标点 = 2个字节

  • 1个中文(含繁体) = 2个字节

  • 中文标点 = 2个字节

  • 1bit表示1位,

  • 1Byte表示一个字节 1B=8b。

  • 1024B=1KB

  • 1024KB=1M

  • 1024M=1G.

类型转换

精度由高到低强制,精度由低到高自动

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

转换规则

  • 不能对boolean类型进行类型转换。

  • 不能把对象类型转换成不相关类的对象。

  • 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。

  • 转换过程中可能导致溢出或损失精度

自动类型转换

容量小的数据类型可以自动转换为容量大的数据类型。

强制类型转换

强制类型转换,又被称为造型,用于显式的转换一个数值的类型.

在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。

强制类型转换的语法格式: (type)var ,运算符“()”中的type表示将值var想要转换成的目标数据类型。 条件是转换的数据类型必须是兼容的。

关于变量作用域

  • 类变量(静态变量: static variable):独立于方法之外的变量,用 static 修饰。使用static定义。从属于类,生命周期伴随类始终,从类加载到卸载。

  • 实例变量(成员变量:member variable):独立于方法之外的变量,不过没有 static 修饰。

  • 局部变量(lacal variable):类的方法中的变量。局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。

变量的命名规范

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

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

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

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

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

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

运算符

  • 算术运算符: +,-,*,/,%,++,--

  • 赋值运算符 =

  • 关系运算符: >,<,>=,<=,==,!= instanceof

  • 逻辑运算符: &&,||,!

  • 位运算符: &,|,^,~ , >>,<<,>>> (了解!!!)

  • 条件运算符 ?:

  • 扩展赋值运算符:+=,-=,*=,/=

  • 三目条件运算符:x ? y : z

包机制

包的作用

  1. 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。

  1. 如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。

  1. 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。

Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。

开发者可以自己把一组类和接口等打包,并定义自己的包。而且在实际开发中这样做是值得提倡的,当你自己完成类的实现之后,将相关的类分组,可以让其他的编程者更容易地确定哪些类、接口、枚举和注释等是相关的。由于包创建了新的命名空间(namespace),所以不会跟其他包中的任何名字产生命名冲突。使用包这种机制,更容易实现访问控制,并且让定位相关类更加简单。

包的命名

一般利用公司域名倒置作为报名;

例子:

www.baidu.com 包名:com.baidu.www

bbs.baidu.com 包名:com.baidu.bbs

import关键字

import 关键字引入,使用通配符 "*" , 导入相关包下的所有类!不过不建议这样使用因为会全局扫描,影响速度!

JavaDoc

JavaDoc是一种将注释生成HTML文档的技术,生成的HTML文档类似于Java的API,易读且清晰明了。

JavaSE基础语法学习的更多相关文章

  1. JavaSE基础语法学习-异常

    异常 异常指程序运行中出现的不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等. 异常发生在程序运行期间,它影响了正常的程序执行流程. 比如说,你的代码少了一个分号,那么运行出来结果是提示是 ...

  2. JavaSE基础语法学习-方法&数组

    方法 Java方法是语句的集合,它们在一起执行一个功能. 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 设计方法的原则:方法的本意是功能块,就是实现某 ...

  3. JavaSE基础语法学习-流程控制

    流程控制 用户交互Scanner Scanner**对象** 下面是创建 Scanner 对象的基本语法: Scanner s = new Scanner(System.in); 接下来我们演示一个最 ...

  4. Swift基础语法学习总结(转)

    Swift基础语法学习总结 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型 ...

  5. Swift基础语法学习总结

    Swift基础语法学习总结Swift高级语法学习总结Swift语法总结补充(一) 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift ...

  6. Python 基础语法学习(第一讲)---类的使用

    [写在前面]:其实自学python有一段时间了,但是一直没想起来要写博客来记录自己的学习,今天才感觉要写点什么让自己学的更扎实一点,所以从今天开始更新python自学系列,希望看见文章的大佬们可以指点 ...

  7. Java基础语法学习

    Java基础语法学习 1. 注释 单行注释: //单行注释 多行注释: /*多行注释 多行注释 多行注释 多行注释 */ 2. 关键字与标识符 关键字: Java所有的组成部分都需要名字.类名.变量名 ...

  8. java 基础语法学习01

    Java基础语法 注释 初次使用idea时相关配置 new project ->Empty project->进入页面 再选择file->project structure-> ...

  9. React基础语法学习

    React主要有如下3个特点: 作为UI(Just the UI) 虚拟DOM(Virtual DOM):这是亮点 是React最重要的一个特性 放进内存 最小更新的视图,差异部分更新 diff算法 ...

随机推荐

  1. 【题解】[AHOI2013]作业

    Link 题目大意:\(n\)个数,\(m\)个询问,每次四个参数,\(l,r,a,b\),问区间\([l,r]\)中出现过的,数值在\([a,b]\)区间中的数的个数以及区间\([l,r]\)中数值 ...

  2. python的PEP8代码规范

    一.缩进:每级缩进用4个空格.如果缩进不正确或缩进格式不统一,一般错误信息会明确告诉你,但有时也会出现invalid syntax报错.所谓缩进不正确,python的缩进是四个空格或一个TAB,如果缩 ...

  3. 多测师讲解_ 高级自动化测试selenium_001基本学习

    高级自动化测试python+selenium教程手册 --高级讲师肖sir 第 1 章webdriver 环境搭建好了,我们正式学习 selenium 的 webdriver 框架,它不像 QTP 之 ...

  4. NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)

    错误信息: NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK) 错误背景:微服务不通过统一的nginx端口访问,能够正常请求接口并获取对应的响应.但是通过ngi ...

  5. Mac安装stf

    1.brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config 2.node版本8.x我的是8.15.0 3.npm i ...

  6. 聊聊简单又灵活的权限设计(RBAC)

    你:我看完能知道个啥?我:也就以下两点吧一. 了解基于 RBAC 思路的表设计二. 表数据在实际开发场景中是如何使用的你:我觉得那应该还有点干货吧我:我不要你觉得,我要我觉得 (͡ ͡° ͜ つ ͡͡ ...

  7. 探索ParNew和CMS垃圾回收器

    前言 上篇文章我们一起分析了JVM的垃圾回收机制,了解了新生代的内存模型,老年代的空间分配担保原则,并简单的介绍了几种垃圾回收器.详细内容小伙伴们可以去看一下我的上篇文章:秒懂JVM的垃圾回收机制. ...

  8. windows10下IntelliJ IDEA使用logback设置日志输出目录

    1.在项目的src/main/resources目录下新建文件:logback-spring.xml 2:在logback-spring.xml中进行如下配置: <?xml version=&q ...

  9. 学python,大概要多久?

    都让开!本人文科生,自学Python 2年半,作为一个曾经完全0基础,啥都不懂纯靠自学学会python的文科生,有一些不成熟的小建议可以分享一下. 首先不要觉着编程难,只要你认识26个英文字母,有一点 ...

  10. python3异步爬虫 ——aiohttp模板使用

    一.简单使用和讲解 import aiohttp import asyncio async def fetch(client): async with client.get('http://httpb ...