标识符

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

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

注意

  • 所有的标识符都应该以字母(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. 固件(Firmware)

    来源:https://baike.baidu.com/item/%E5%9B%BA%E4%BB%B6/627829 固件   固件(Firmware)就是写入EPROM(可擦写可编程只读存储器)或EE ...

  2. 解决SpringBoot 定时计划 quartz job 任务重复执行多次(10次)

    上一篇:SpringBoot多任务Quartz动态管理Scheduler,时间配置,页面+源 设置了多个 任务,本应该是各司其职的,任务调用多线程处理任务,but这个定时任务竟然同时跑了10次???如 ...

  3. MeteoInfoLab脚本示例:多坐标系

    绘图的时候首先要有坐标系(Axes),可以用axes命令创建,如果没有创建在绘图时会自动创建一个.参数里的position是用来置顶坐标系的图形(figure)中的位置的,通过位置置顶,可以将多个坐标 ...

  4. Redis不重启的情况下 切换持久化模式

    确保redis版本在2.2以上 [root@localhost /]# redis-server -v Redis server v=4.0.10 sha=00000000:0 malloc=jema ...

  5. Java9系列第6篇-Stream流API的增强

    我计划在后续的一段时间内,写一系列关于java 9的文章,虽然java 9 不像Java 8或者Java 11那样的核心java版本,但是还是有很多的特性值得关注.期待您能关注我,我将把java 9 ...

  6. 手写Redux-Saga源码

    上一篇文章我们分析了Redux-Thunk的源码,可以看到他的代码非常简单,只是让dispatch可以处理函数类型的action,其作者也承认对于复杂场景,Redux-Thunk并不适用,还推荐了Re ...

  7. 不死的小强 .net core 微服务 快速开发框架 Viper 限流

    1.Viper是什么? Viper 是.NET平台下的Anno微服务框架的一个示例项目.入门简单.安全.稳定.高可用.全平台可监控.底层通讯可以随意切换thrift grpc. 自带服务发现.调用链追 ...

  8. SQL中 char varchar和nvarchar的区别

    转至:http://www.cnblogs.com/carekee/articles/2094676.html char    char是定长的,也就是当你输入的字符小于你指定的数目时,char(8) ...

  9. Spring 缓存抽象

    Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术:并支 ...

  10. 你真的了解Python吗?这篇文章可以让你了解90%

    人们为什么使用Python? 之所以选择Python的主要因素有以下几个方面: 软件质量:在很大程度上,Python更注重可读性.一致性和软件质量,从而与脚本语言世界中的其他工具区别开发.此外,Pyt ...